IBM Cloud Docs
Recuperación de una señal de acceso

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 CLI de IBM Cloud para generar rápidamente su señal de acceso personal de Cloud IAM {: term}.

  1. Inicie sesión en IBM Cloud con la CLI de IBM Cloud.

    ibmcloud login
    

    Si el inicio de sesión falla, ejecute el mandato ibmcloud login --sso para volver a intentarlo. Se requiere el parámetro --sso para iniciar 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.

  2. Seleccione la cuenta, la región y el grupo de recursos que contienen la instancia suministrada de Key Protect.

  3. Ejecute el mandato siguiente para recuperar la señal de acceso de Cloud IAM.

    ibmcloud iam oauth-tokens
    

    El 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 la señal de acceso mediante programación creando primero una clave API de ID de servicio para la aplicación e intercambiando la clave de API por una señal de IBM Cloud IAM.

  1. Inicie sesión en IBM Cloud con la CLI de IBM Cloud.

    ibmcloud login
    

    Si el inicio de sesión falla, ejecute el mandato ibmcloud login --sso para volver a intentarlo. Se requiere el parámetro --sso para iniciar 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 de un solo uso.

  2. Seleccione la cuenta, la región y el grupo de recursos que contienen la instancia suministrada de Key Protect.

  3. Cree un ID de servicio para su aplicación.

    ibmcloud iam service-id-create SERVICE_ID_NAME
                [-d, --description DESCRIPTION]
    
  4. Gestión del acceso a los recursos para el ID de servicio.

    Puede asignar permisos de acceso a su ID de servicio utilizando la consola de IBM Cloud. Para saber la correlación de los roles de acceso Gestor, Escritor y Lector con acciones específicas del servicio Key Protect, consulte Roles y permisos.

  5. Cree una clave de API del 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.

  6. Llame a la API de IAM Identity Services para recuperar la señal 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.json
    

    En la solicitud, sustituya <API_KEY> por la clave de API que ha creado en el paso anterior. En el siguiente ejemplo truncado se muestra el contenido del archivo token.json:

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

    Utilice el valor access_token completo, 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, vuelva a generar la señal de acceso para la clave de API de forma regular llamando a la API de IAM Identity Services.

    • 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