Recuperando um token de acesso
Para começar a usar as APIs do IBM® Key Protect, faça a autenticação de suas solicitações para o serviço usando um token de acesso do IBM Cloud® Identity and Access Management (IAM).
Recuperando um token de acesso com a CLI
É possível usar IBM Cloud CLI para gerar rapidamente seu token de acessoUm valor usado pelo consumidor para ter acesso aos recursos protegidos em nome do usuário, em vez de usar as credenciais do provedor de serviços do usuário. pessoal ao Cloud IAM.
-
Efetue login no IBM Cloud usando IBM Cloud CLI.
ibmcloud loginSe o login falhar, execute o comando
ibmcloud login --ssopara tentar novamente. Os comandos--ssoé necessário quando você faz 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. -
Selecione a conta, a região e o grupo de recursos que contêm sua instância provisionada do Key Protect.
-
Execute o comando a seguir para recuperar o token de acesso do Cloud IAM.
ibmcloud iam oauth-tokensO exemplo truncado a seguir mostra um token do IAM recuperado.
IAM token: Bearer eyJraWQiOiIyM...
Recuperando um token de acesso com a API
Você também pode recuperar seu token de acesso programaticamente, criando primeiro uma chave de API de ID de serviçopara seu aplicativo e, em seguida, trocando sua chave de API por um token de token de IAM do IBM Cloud.
-
Efetue login no IBM Cloud usando IBM Cloud CLI.
ibmcloud loginSe o login falhar, execute o comando
ibmcloud login --ssopara tentar novamente. Os comandos--ssoé necessário quando você faz 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. -
Selecione a conta, a região e o grupo de recursos que contêm sua instância provisionada do Key Protect.
-
Crie um iD de serviço para seu aplicativo.
ibmcloud iam service-id-create SERVICE_ID_NAME [-d, --description DESCRIPTION] -
Gerenciar o acesso aos recursos para a ID do serviço.
Você pode atribuir permissões de acesso ao seu ID de serviço usando o console IBM Cloud Para saber como as funções de acesso Manager, Writer e Reader são mapeadas para ações específicas do serviço Key Protect, consulte Funções e permissões
-
Crie uma chave de API de ID de serviço.
ibmcloud iam service-api-key-create API_KEY_NAME SERVICE_ID_NAME [-d, --description DESCRIPTION] [--file FILE_NAME]Substitua
<service_ID_name>pelo alias exclusivo que foi designado ao ID de serviço na etapa anterior. Salve sua chave API por meio de seu download para um local seguro. -
Chame a API do IAM Identity Servicespara 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%3Aibm%3Aparams%3Aoauth%3Agrant-type%3Aapikey&apikey=<API_KEY>' > token.jsonNa solicitação, substitua
<API_KEY>pela chave de API criada na etapa anterior. O exemplo truncado a seguir mostra o conteúdo do arquivotoken.jsonarquivo:{ "access_token": "b3VyIGZhdGhlc...", "expiration": 1512161390, "expires_in": 3600, "refresh_token": "dGhpcyBjb250a...", "token_type": "Bearer" }Use o valor completo do
access_token, prefixado pelo tipo de token do portador, para gerenciar programaticamente as chaves do serviço utilizando a API do Key Protect. Para ver um exemplo de solicitação da API do Key Protect, confira Formação da solicitação de API.Os tokens de acesso são válidos por 1 hora, mas é possível gerá-los novamente conforme necessário. Para manter o acesso ao serviço, gere novamente o token de acesso para sua chave de API regularmente, chamando a API IAM Identity Services
-
Use os tokens de Gerenciamento de identidade e de acesso (IAM) do IBM Cloud para fazer solicitações autenticadas aos serviços do IBM Watson sem a necessidade de integrar credenciais de serviço em todas as chamadas.
-
A autenticação do IAM usa tokens de acesso para autenticação, que você adquire enviando uma solicitação com uma chave de API.
-
Exemplo - configurar o token de acesso com a CLI
Este exemplo mostra como recuperar um token de acesso e configurar uma variável de ambiente usando a interface da linha de comandos (CLI).
# login and select account, region, and resource group
$ ibmcloud login --sso
# optionally set the region (-r) and resource group (-g) that
# contains your provisioned Key Protect instance
$ ibmcloud target -r us-south -g Default
# set the ACCESS_TOKEN environment variable (with Bearer)
$ export ACCESS_TOKEN=`ibmcloud iam oauth-tokens | grep IAM | cut -d \: -f 2 | sed 's/^ *//'`
# show the access token
$ echo $ACCESS_TOKEN
Bearer eyJraWQiOiIyMDIwMDcyNDE4MzEiLCJh ...<redacted>... o4qlcKjl9sVqLa8Q
# set the ACCESS_TOKEN environment variable (without Bearer)
$ export ACCESS_TOKEN=`ibmcloud iam oauth-tokens | grep IAM | cut -d ' ' -f 5 | sed 's/^ *//'`
$ echo $ACCESS_TOKEN
eyJraWQiOiIyMDIwMDcyNDE4MzEiLCJh ...<redacted>... o4qlcKjl9sVqLa8Q