Generación de una señal de IBM Cloud IAM mediante una clave de API
Genere un token IBM Cloud® Identity and Access Management (IAM) utilizando su clave de API de IAM o la clave de API de un ID de servicio. IBM Cloud Solo pueden acceder a las API los usuarios autorizados por un rol IAM asignado. Cada usuario que llama a la API debe pasar credenciales para autenticarse en la API.
Generación de una señal de IAM
Puede generar una señal de IAM mediante su clave de API de IBM Cloud o mediante una clave de API de ID de servicio. La clave de API es una credencial permanente que se puede volver a utilizar si no pierde el valor de la clave de API ni suprime la clave de API en la cuenta. Este proceso también se utiliza si está desarrollando una aplicación que debe trabajar con otros servicios de IBM Cloud. Debe utilizar una clave de API de ID de servicio para obtener una señal de acceso y pasarla a cada uno de los servicios de IBM Cloud.
Una señal de acceso es una credencial temporal que caduca como muy tarde al cabo de 1 hora. Una vez caducada la señal adquirida, deberá generar una nueva para seguir llamando a las API de servicio o IBM Cloud, y solo podrá realizar acciones
permitidas por su nivel de acceso asignado en todas las cuentas. Utilice la propiedad de respuesta expires_in en la respuesta de API para identificar el periodo de tiempo en que la señal de acceso específica es válida.
Generar una señal de IAM mediante una clave de API
Para generar mediante programación un token de IAM utilizando una clave de API, llame a la API de servicios de identidad de IAM o a los SDK, como se muestra en la siguiente solicitud de ejemplo.
curl -X POST 'https://iam.cloud.ibm.com/identity/token' -H 'Content-Type: application/x-www-form-urlencoded' -d 'grant_type=urn:ibm:params:oauth:grant-type:apikey&apikey=MY_APIKEY'
import com.ibm.cloud.sdk.core.security.IamAuthenticator;
import <sdk_base_package>.ExampleService.v1.ExampleService;
...
// Create the authenticator.
IamAuthenticator authenticator = new IamAuthenticator.Builder()
.apikey("myapikey")
.build();
// Create the service instance.
ExampleService service = new ExampleService(authenticator);
// 'service' can now be used to invoke operations.
const ExampleServiceV1 = require('mysdk/example-service/v1');
const { IamAuthenticator } = require('mysdk/auth');
const authenticator = new IamAuthenticator({
apikey: '<iam-api-key>',
});
const myService = new ExampleServiceV1({
authenticator,
});
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator
from <sdk-package-name>.example_service_v1 import *
# Create the authenticator.
authenticator = IAMAuthenticator('myapikey')
# Construct the service instance.
service = ExampleServiceV1(authenticator=authenticator)
# Use 'service' to invoke operations.
import {
"github.com/IBM/go-sdk-core/v5/core"
"<appropriate-git-repo-url>/exampleservicev1"
}
...
// Create the authenticator.
authenticator := &core.IamAuthenticator{
ApiKey: "myapikey",
}
// Create the service options struct.
options := &exampleservicev1.ExampleServiceV1Options{
Authenticator: authenticator,
}
// Construct the service instance.
service := exampleservicev1.NewExampleServiceV1(options)
// 'service' can now be used to invoke operations.
Respuesta esperada
{
"access_token": "eyJhbGciOiJIUz......sgrKIi8hdFs",
"refresh_token": "not_supported",
"ims_user_id": 118...90,
"token_type": "Bearer",
"expires_in": 3600,
"expiration": 1473188353,
"scope": "ibm openid"
}
Para obtener más información, consulte la API de IAM Identity Services.
Para más información, consulte el SDK Java.
Para más información, consulte el SDK.
Para más información, consulte el SDK Python.
Para más información, consulte el SDK de Go.
Una señal IAM es válida hasta 60 minutos y está sujeta a cambios. Cuando una señal caduca, debe generar una nueva. Utilice la propiedad expires_in para la caducidad de la señal IAM que acaba de crear.