Recuperación de una señal de acceso
Empiece a trabajar con las API de IBM® Key Protect autenticando las solicitudes al servicio con una señal de acceso de IBM Cloud® Identity and Access Management (IAM).
Recuperación de una señal de acceso con la CLI
Puede utilizar la IBM Cloud CLI para generar rápidamente su token de accesoValor que utiliza el cliente para obtener acceso a los recursos protegidos en nombre del usuario, en lugar de utilizar las credenciales del proveedor de servicio del usuario. personal a Cloud IAM.
-
Inicie sesión en IBM Cloud con la IBM Cloud CLI.
ibmcloud loginSi el inicio de sesión falla, ejecute el mandato
ibmcloud login --ssopara volver a intentarlo. La cabecera HTTP--ssoes necesario cuando se inicia sesión con un ID federado. Si se utiliza esta opción, vaya al enlace mostrado en la salida de la CLI para generar un código de acceso puntual. -
Seleccione la cuenta, la región y el grupo de recursos que contienen la instancia suministrada de Key Protect.
-
Ejecute el mandato siguiente para recuperar la señal de acceso de Cloud IAM.
ibmcloud iam oauth-tokensEl siguiente ejemplo trucado muestra una señal IAM recuperada.
IAM token: Bearer eyJraWQiOiIyM...
Recuperación de una señal de acceso con la API
También puede recuperar su token de acceso mediante programación creando primero una clave API de ID de serviciopara su aplicación y, a continuación, intercambiando su clave API por una clave señal de IBM Cloud IAM.
-
Inicie sesión en IBM Cloud con la IBM Cloud CLI.
ibmcloud loginSi el inicio de sesión falla, ejecute el mandato
ibmcloud login --ssopara volver a intentarlo. La cabecera HTTP--ssoes necesario cuando se inicia sesión con un ID federado. Si se utiliza esta opción, vaya al enlace que se muestra en la salida de la CLI para generar una contraseña de uso único. -
Seleccione la cuenta, la región y el grupo de recursos que contienen la instancia suministrada de Key Protect.
-
Cree un iD de servicio para su aplicación.
ibmcloud iam service-id-create SERVICE_ID_NAME [-d, --description DESCRIPTION] -
Gestionar el acceso a los recursos para el ID de servicio.
Puede asignar permisos de acceso para su ID de servicio utilizando la consola IBM Cloud Para saber cómo se asignan los roles de acceso de administrador, escritor y lector a acciones específicas del servicio Key Protect, consulte Roles y permisos
-
Cree una clave API de ID de servicio.
ibmcloud iam service-api-key-create API_KEY_NAME SERVICE_ID_NAME [-d, --description DESCRIPTION] [--file FILE_NAME]Sustituya
<service_ID_name>por el alias exclusivo que ha asignado al ID de servicio en el paso anterior. Guarde la clave de la API descargándola en una ubicación segura. -
Llame a la API de Servicios de Identidad de IAMpara recuperar su token de acceso
$ 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.jsonEn la solicitud, sustituya
<API_KEY>por la clave de API que ha creado en el paso anterior. El siguiente ejemplo truncado muestra el contenido de la etiquetatoken.jsonarchivo:{ "access_token": "b3VyIGZhdGhlc...", "expiration": 1512161390, "expires_in": 3600, "refresh_token": "dGhpcyBjb250a...", "token_type": "Bearer" }Utilice el valor
access_tokencompleto, con el prefijo del tipo de señal Portador, para gestionar de forma programática las claves del servicio utilizando la API de Key Protect. Para ver un ejemplo de solicitud de API de Key Protect, consulte Formación de la solicitud de API.Las señales de acceso son válidas durante 1 hora, pero puede volver a generarlas cuando las necesite. Para mantener el acceso al servicio, regenere el token de acceso para su clave API de forma regular llamando a la API de Servicios de Identidad de IAM
-
Utilice señales de IBM Cloud Identity and Access Management (IAM) para realizar solicitudes autenticadas a los servicios de IBM Watson sin incluir credenciales de servicio en cada llamada.
-
La autenticación de IAM utiliza señales para la autenticación, que se adquieren enviando una solicitud con una clave de API.
-
Ejemplo: establecer la señal de acceso con la CLI
En este ejemplo se muestra cómo recuperar una señal de acceso y establecer una variable de entorno mediante la interfaz de línea de mandatos (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