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