Recuperando um token de acesso

Comece a usar a API de serviço de gerenciamento de chaves Hyper Protect Crypto Services, autenticando suas solicitações para o serviço com um token de acesso do IBM Cloud® Identity and Access Management (IAM).

Um token de acesso é uma credencial temporária que expira após uma hora. Depois que o token adquirido expirar, deve-se gerar um novo token para continuar chamando a IBM Cloud ou as APIs de serviço. Para manter o acesso ao serviço, gere novamente o token de acesso para sua chave API regularmente.

Recuperando um token de acesso com a CLI

É possível usar a CLI do IBM Cloud para gerar rapidamente o seu token de acesso pessoal do IAM em nuvem.

  1. Faça login no IBM Cloud com a CLI do IBM Cloud.

    ibmcloud login
    

    Se o login falhar, execute o comando ibmcloud login --sso para tentar novamente. O parâmetro --sso é necessário quando você efetua login com um ID federado. Se essa opção for usada, acesse o link listado na saída da CLI para gerar uma senha descartável.

  2. Selecione a região e o grupo de recursos em que você gostaria de criar uma instância de serviço do Hyper Protect Crypto Services. É possível usar o comando a seguir para configurar sua região de destino e grupo de recursos.

    ibmcloud target -r <region_name> -g <resource_group_name>
    
  3. Execute o comando a seguir para recuperar o token de acesso do Cloud IAM.

    ibmcloud iam oauth-tokens
    

    O exemplo truncado a seguir mostra um token do IAM recuperado.

    IAM token:  Bearer eyJraWQiOiIyM...
    

Recuperando um token de acesso com a API

Também é possível recuperar o seu token de acesso programaticamente usando uma chave de API e, em seguida, trocando a sua chave de API por um token do IBM Cloud IAM. Dependendo da criação do token de acesso para um usuário ou um aplicativo, use a sua chave de API do usuário da IBM Cloud ou uma chave de API de ID de serviço, respectivamente.

  1. Faça login no IBM Cloud com a CLI do IBM Cloud.

    ibmcloud login
    

    Se o login falhar, execute o comando ibmcloud login --sso para tentar novamente. O parâmetro --sso é necessário quando você efetua login com um ID federado. Se essa opção for usada, acesse o link listado na saída da CLI para gerar uma senha descartável.

  2. Selecione a região e o grupo de recursos que contêm a sua instância do Hyper Protect Crypto Services provisionada com o comando a seguir:

    ibmcloud target -r <region_name> -g <resource_group_name>
    
  3. Crie uma chave de API do .

    • Se você deseja recuperar um token de acesso de um usuário, crie uma chave de API do usuário com o comando a seguir:

      ibmcloud iam api-key-create <API_key_name>
          [-d, --description <description>]
          [--file <API_key_file_name>]
      

      Especifique um nome exclusivo para a chave de API com o parâmetro <API_key_name>. Certifique-se de salvar sua chave de API para uso posterior usando o parâmetro <API_key_file_name> ou copiando o valor da chave de API da resposta de comando.

    • Se você deseja recuperar um token de acesso de um aplicativo, crie uma chave de API do ID de serviço, concluindo as etapas a seguir:

      1. Crie um ID de serviço para o seu aplicativo com o comando a seguir:

        ibmcloud iam service-id-create <service_ID_name>
            [-d, --description <description>]
        

        Especifique um nome exclusivo para o ID do serviço com o parâmetro <service_ID_name>.

      2. Crie uma chave de API do ID de serviço com o comando a seguir:

        ibmcloud iam service-api-key-create <API_key_name> <service_ID_name>
            [-d, --description <description>]
            [--file <API_key_file_name>]
        

        Especifique um nome exclusivo para a chave de API com o parâmetro <API_key_name> e substitua <service_ID_name> pelo alias exclusivo que você designou para o seu ID de serviço na etapa anterior. Certifique-se de salvar sua chave de API para uso posterior usando o parâmetro <API_key_file_name> ou copiando o valor da chave de API da resposta de comando.

  4. Designe ao usuário ou ao ID de serviço o acesso apropriado à sua instância do Hyper Protect Crypto Services com base na sua política de acesso.

    Para saber como as funções de acesso do IAM são mapeadas para as ações de serviço do Hyper Protect Crypto Services específicas, consulte Funções e permissões.

  5. Chame a API de serviços de identidade do IAM para recuperar seu token de acesso.

    curl -X POST \
      "https://iam.cloud.ibm.com/identity/token" \
      -H "Content-Type: application/x-www-form-urlencoded" \
      -H "Accept: application/json" \
      -d "grant_type=urn:ibm:params:oauth:grant-type:apikey&apikey=<API_key>" > token.json
    

    Na solicitação, substitua <API_key> pela chave de API do usuário ou pela chave de API de ID de serviço criada na etapa anterior. O exemplo truncado a seguir mostra os conteúdos do arquivo token.json:

    {
    "access_token": "eyJraWQiOiIyM...",
    "expiration": 1512161390,
    "expires_in": 3600,
    "refresh_token": "...",
    "token_type": "Bearer"
    }
    

    Use o valor de access_token completo, prefixado pelo tipo de token Portador, para gerenciar programaticamente as chaves para o seu serviço usando a API de serviço de gerenciamento de chaves Hyper Protect Crypto Services. Para ver uma solicitação de API de serviço de gerenciamento de chaves Hyper Protect Crypto Services de exemplo, confira Formando sua solicitação de API de serviço de gerenciamento de chaves.