Área de ClienteContacto comercialWebmailOVHcloud Blog

Bem-vindo/a à OVHcloud!

Identifique-se para encomendar, gerir os seus produtos e serviços e seguir as suas encomendas

Aceder

Gestão dos tokens

Saiba como utilizar os token através da API Keystone

Esta tradução foi automaticamente gerada pelo nosso parceiro SYSTRAN. Em certos casos, poderão ocorrer formulações imprecisas, como por exemplo nomes de botões ou detalhes técnicos. Recomendamos que consulte a versão inglesa ou francesa do manual, caso tenha alguma dúvida. Se nos quiser ajudar a melhorar esta tradução, clique em "Contribuir" nesta página.

Última atualização: 16/04/2020

Objetivo

Descubra como configurar as ligações às API keystone no seu serviço com a ajuda dos tokens.

As informações aqui detalhadas são válidas para a versão 3.0 da API de Keystone.

Instruções

Definições

  • Endpoint: Endereço HTTP apontando diretamente para uma API de um serviço. por exemplo, https://auth.cloud.ovh.net/v3/ para o ponto de autenticação ou https://image.compute.gra1.cloud.ovh.net/ para o ponto de gestão das imagens da zona GRA1.

  • Token: Cadeia de caráter único ligada a uma autenticação e a direitos de acesso. Um token é pedido pelo utilizador ao fornecer os seus credenciais (informações de login) à API de autenticação. É gerado e fornecido com um prazo de validade limitado de 24h. Um token pode ser "scoped" ou "unscoped", ou seja, pode estar diretamente ligado a uma ligação ou não estar ligado a nenhuma associação.

Princípio global

A maior parte dos pedidos apresentados às API OpenStack devem responder a um mecanismo de autorização. Este mecanismo funciona através da obtenção de token (token em francês) e da sua validação. Eis as grandes linhas do funcionamento de uma chamada desde a autenticação até à execução da chamada.

  • Pedido de criação de token junto do ponto de autenticação com os credenciais
  • Pedido sobre o local do serviço desejado (storage, compute, network, ...) ao fornecer o token em parâmetro
  • A API do serviço recupera o token e pede a verificação da validade junto do serviço de autenticação
  • Se a validade for verificada, o convite será tomado em conta e executado

Uma vez que os tokens têm um período de validade definido, expiram e devem ser renovados sempre que necessário.

Do mesmo modo, se um token tiver de ser retirado antes da sua data de expiração, poderá fazê-lo através da API.

Para mais informações, consulte a documentação do OpenStack da API.

Operações manuais

As operações que se seguem podem ser efetuadas manualmente, sendo geralmente utilizadas para fins pedagógicos ou de arranque.

É necessário carregar o ambiente com o ficheiro openrc (ver guia).

No nosso exemplo, desejamos obter as informações de metadata de um objeto armazenado graças à oferta Public Cloud Storage. As etapas são:

  • Pedido de criação de um token
  • Recuperação das variáveis token ID e endpoint publicURL
  • Pedido sobre o objeto com as informações recuperadas

A ferramenta em linha de comandos cURL permite construir pedidos de todas as peças.

Etapa 1: Pedido de criação de um token

curl -X POST ${OS_AUTH_URL}auth/tokens -H "Content-Type: aplicação/json -de { "auth": { "identity": { "metods": ["password"], "password": { "user": { "name": "'$OS_USERNAME'", "domínio": { "id": "default" }, "password": "'$OS_PASSWORD" }, "scope": { "project": { "name": "'$OS_TENANT_NAME'", "domínio": { "id": "default" } } } }' | python-mjson.tool

A resposta do servidor é a seguinte:

 {
  "token": {
    "is_domain": false,
    "Metods": [
      "password"
    ],
    "Rodas": [
      {
        "id": "9543e89aeb484aee8ec7d01e87223b16",
        "name": "objectstore_operator"
      }
    ],
    "is_admin_project": false,
    "Projeto": {
      domínio: {
        "id": "default",
        "name": "Default"
      },
      "id": "<ID OF THE PROJECT>",
      "name": "<NAME OF THE PROJECT>"
    },
    "Catalog": [
      {
        "endpoints": [
          {
            "url": "https://network.compute.sbg1.cloud.ovh.net/",
            "Interface": "Internal",
            "Região": "SBG1",
            "region_id": "SBG1",
            "id": "075839111e7a41f1bb458926e5f04cec"
          },
          [...]
        ],
        "Tipo": "network",
        "id": "0be6ed3dce244b8295ff643739a86809",
        "name": "neutrão"
      },
      [...]
    ],
    "Extras_at": "2020-01-17T14:53:32.000000Z",
    "user": {
      "password_expires_at": null,
      domínio: {
        "id": "default",
        "name": "Default"
      },
      "id": "<ID OF THE USER>",
      "name": "<NAME OF THE USER>"
    },
    "Auditoria_ids": [
      "IuNOR-lKQ9GJGQd8taWBnQ"
    ],
    "issued_at": "2020-01-16T14:53:32.000000Z"
  }
}

Etapa 2: Recuperação das variáveis token ID e endpoint publicURL

As duas informações estão disponíveis na saída da encomenda anterior.

Para o endpoint publicURL, é preciso procurar na secção "object-store" e na região mais adequada, aqui "SBG".

export endpoint="https://storage.sbg.cloud.ovh.net/v1/AUTH_9ea...ff0"

É o endereço do endpoint do serviço de object storage que vai permitir pedir as informações sobre o objeto.

export token=$ (curl -is -X POST ${OS_AUTH_URL}auth/tokens -H "Content-Type: aplicação/json -de { "auth": { "identity": { "metods": ["password"], "password": { "user": { "name": "'$OS_USERNAME'", "domínio": { "id": "default" }, "password": "'$OS_PASSWORD" }, "scope": { "project": { "name": "'$OS_TENANT_NAME'", "domínio": { "id": "default" } } } }' | grep’CAPX-Subject-Token' | cut -d" " -f2)

Este token é agora o elemento de autenticação que será utilizado para o pedido seguinte.

Etapa 3: Pedido sobre o objeto com as informações recuperadas

curl -X GET $endpoint/photos/fullsize/ovh-summit-2014-backstage-DS.jpg -H "X-Auth-Token: $token" -I
  • -X GET: método HTTP GET
  • endpoint/photos/fullsize/ovh-summit-2014-backstage-DS.jpg endereço do objeto
  • -H "X-Auth-Token: $token": elemento de autenticação
  • -I: opção curl para recuperar apenas os metadados

A resposta é esta:

HTTP/1.1 200 OK
Content-Length: 190046
Content-Type: image/jpeg
Accept-Ranges: bytes
Last-Modified: Thu, 24 Sep 2015 14:20:11 GMT
Etag: c93e12530b66f121d4bd5a6ae096ee77
X-Timestamp: 1443104410.15437
X-Object-Meta-Mtime: 1424095540.000000
X-Trans-Id: 95CAB26E:D200_052711B1:01BB_560D4CE7_1631931:2BB4
Date: Thu, 01 Oct 2015 15:10:31 GMT
Connection: close

Gestão automática: livrarias e SDK

Recomenda-se vivamente a utilização de bibliotecas que permitam uma gestão transparente dos tokens. Desta forma, ao fornecer simplesmente os credenciais de ligação à livraria, os tokens serão automaticamente gerados, utilizados e renovados sem terem de os gerir a nível da aplicação.

Há muitas livrarias em diferentes linguagens. Consulte a lista oficial para mais informações.

Saiba mais

Junte-se à nossa comunidade de utilizadores em https://community.ovh.com/en/.


Esta documentação foi-lhe útil?

Não hesite em propor-nos sugestões de melhoria para fazer evoluir este manual.

Imagens, conteúdo, estrutura... Não hesite em dizer-nos porquê para evoluirmos em conjunto!

Os seus pedidos de assistência não serão tratados através deste formulário. Para isso, utilize o formulário "Criar um ticket" .

Obrigado. A sua mensagem foi recebida com sucesso.


Estes manuais também podem ser úteis...

OVHcloud Community

Aceda ao seu espaço comunitário. Coloque as suas questões, procure informações e interaja com outros membros do OVHcloud Community.

Discuss with the OVHcloud community