Obtención de una clave de acceso temporal y un token de seguridad a través de un token
Función
Esta API se utiliza para obtener una clave de acceso temporal y un token de seguridad a través de un token. Las claves de acceso temporal y los tokens de seguridad son emitidos por el sistema a los usuarios de IAM, y pueden ser válidos durante 15 minutos a 24 horas. Las claves de acceso temporal y los tokens de seguridad se otorgan con el menor privilegio.
Se puede invocar a la API utilizando tanto el punto de conexión global como los puntos de conexión específicos de la región. Para los puntos de conexión de IAM, consulte Regiones y puntos de conexión.
Se debe usar una clave de acceso temporal junto con un token de seguridad, y el campo x-security-token debe incluirse en el encabezado de solicitud. Para obtener más información, consulte ¿Cómo uso un AK/SK temporal para firmar solicitudes?
URI
POST /v3.0/OS-CREDENTIAL/securitytokens
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
Content-Type |
Sí |
String |
Rellene application/json;charset=utf8 en este campo. |
X-Auth-Token |
Sí |
String |
Token de usuario de IAM, token de usuario federado o token de delegación. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
Sí |
Object |
Información de autenticación. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
methods |
Sí |
Array of strings |
Método de autenticación. El valor de este campo es ["token"]. |
No |
Object |
Período de validez de una clave de acceso temporal y un token de seguridad. |
|
No |
Object |
Permisos que se asignarán a la clave de acceso temporal y al token de seguridad (actualmente la política solo se aplica a OBS). Los permisos finales de la clave de acceso temporal y el token de seguridad son la intersección de los permisos asignados al token de usuario especificado y definidos en este parámetro. Para obtener más información sobre el formato y la sintaxis de las políticas de IAM, consulte Políticas. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
Version |
Sí |
String |
Versión de política. Al crear una política personalizada, establezca este parámetro en 1.1.
NOTA:
1.1: Política. Una política define los permisos necesarios para realizar operaciones en un recurso de nube específico bajo ciertas condiciones. |
Sí |
Array of objects |
Sentencia de la política. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
Action |
Sí |
Array of strings |
Permisos de operación específicos en un recurso. Para obtener más información sobre las acciones admitidas, consulte "Permisos y acciones admitidas" en la Referencia de API de servicios en la nube.
NOTA:
|
Effect |
Sí |
String |
Efectos del permiso. El valor puede ser Allow o Deny. Si las sentencias Allow y Deny se encuentran en una política, la autenticación comienza desde las sentencias Deny. Opciones:
|
Condition |
No |
Map<String,Map<String,Array<String>>> |
Condiciones para que el permiso entre en vigor. Para obtener más información, consulte Sintaxis de la política.
NOTA:
En el siguiente ejemplo de solicitud, la política solo está en vigor cuando DomainName está establecido en DomainNameExample. "Condition": { "StringEquals": { "g:DomainName": [ "DomainNameExample" ] } } |
Resource |
No |
Array of strings |
Recurso en la nube.
NOTA:
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
id |
No |
String |
Token. Este parámetro es obligatorio si no se especifica X-Auth-Token en el encabezado de la solicitud. |
duration_seconds |
No |
Integer |
Período de validez (en segundos) de una clave de acceso temporal y un token de seguridad. El valor varía de 15 minutos a 24 horas. El valor predeterminado es 15 minutos. |
Parámetros de respuesta
Parámetro |
Tipo |
Descripción |
---|---|---|
Object |
Resultado de autenticación. |
Solicitud de ejemplo
- Solicitud con token (especificando el período de validez de una clave de acceso temporal y un token de seguridad)
POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens
{ "auth": { "identity": { "methods": [ "token" ], "token": { "id": "MIIEIgYJKoZIhvc...", "duration_seconds": "900" } } } }
- Solicitud con el encabezado X-Auth-Token pero sin el parámetro token
POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens
{ "auth": { "identity": { "methods": [ "token" ] } } }
- Solicitud con policy establecida para controlar los permisos asignados a la clave de acceso temporal y al token de seguridad obtenidos (actualmente, la política se aplica solo a OBS). Los permisos finales de la clave de acceso temporal y el token de seguridad son la intersección de los permisos asignados al token de usuario especificado y definidos en este parámetro.
POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens
{ "auth": { "identity": { "methods": [ "token" ], "policy": { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "obs:object:GetObject" ], "Resource": [ "OBS:*:*:object:*" ], "Condition": { "StringEquals": { "g:DomainName": [ "DomainNameExample" //Example condition value. Replace it with the actual value. ] } } } ] }, "token": { "duration_seconds": 900 } } } }
Ejemplo de respuesta
Código de estado: 201
La solicitud se ha realizado correctamente.
{ "credential": { "access": "NZFAT5VNWEJDGZ4PZ...", "expires_at": "2020-01-08T03:50:07.574000Z", "secret": "riEoWsy3qO0BvgwfkoLVgCUvzgpjBBcvdq...", "securitytoken": "gQpjbi1ub3J0aC00jD4Ej..." } }
Códigos de estado
Código de estado |
Descripción |
---|---|
201 |
La solicitud se ha realizado correctamente. |
400 |
Parámetros no válidos. |
401 |
Error de autenticación. |
403 |
Acceso denegado. |
500 |
Error de servidor interno. |
Códigos de error
Ninguno