Obtención de una clave de acceso temporal y SecurityToken a través de una agencia
Función
Esta API se utiliza para obtener una clave de acceso temporal y securityToken mediante una agencia.
El sistema emite una clave de acceso temporal y un token de seguridad a los usuarios de IAM, y puede ser válido durante 15 minutos a 24 horas. La clave de acceso temporal y securityToken siguen el principio de privilegio mínimo. Se debe usar una clave de acceso temporal junto con un securityToken, y el campo x-security-token se debe incluir en el encabezado de solicitud. Para obtener más información, consulte ¿Cómo uso un AK/SK temporal para firmar solicitudes?
Se puede llamar a la API utilizando tanto el punto final global como los puntos de conexión específicos de la región. Para los puntos finales de IAM, consulte Regions y puntos de conexión.
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 con permisos de operador de agente. |
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. Establezca este parámetro en ["assume_role"]. |
Sí |
Object |
Detalles sobre la cuenta de delegación y la agencia. |
|
No |
Object |
Permisos OBS que se asignarán a la clave de acceso temporal y securityToken. Los permisos finales de la clave de acceso temporal y securityToken son todos los permisos asignados a la agencia especificada y definidos en este parámetro. Para obtener más información acerca de la sintaxis y el formato de las políticas de IAM, consulte Políticas. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
agency_name |
Sí |
String |
Nombre de la agencia. Para obtener detalles sobre cómo obtener el nombre de la agencia, consulte Obtención de información de cuenta, usuario de IAM, grupo, proyecto, región y agencia. |
domain_id |
No |
String |
ID de cuenta de la parte delegada. Se debe establecer el domain_id o domain_name. Se recomienda especificar domain_id. |
domain_name |
No |
String |
Nombre de la cuenta de la parte delegada. Se debe establecer el domain_id o domain_name. Se recomienda especificar domain_id. |
duration_seconds |
No |
Integer |
Período de validez (en segundos) del AK/SK y securityToken. El valor varía de 15 minutos a 24 horas. El valor predeterminado es 15 minutos. |
No |
Object |
Información de usuario de empresa de la parte delegada. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
name |
No |
String |
Nombre de usuario de empresa de la parte delegada. El nombre debe constar de 1 a 32 caracteres, conteniendo solo letras (sensible a mayúsculas), dígitos, espacios, guiones (-) y guiones bajos (.) y puntos (.) y debe comenzar con un dígito. |
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. Una política puede contener un máximo de ocho sentencias. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
Action |
Sí |
Array of strings |
Permiso de operación específico en un recurso. Se permite un máximo de 100 acciones.
NOTA:
|
Effect |
Sí |
String |
Efectos de la autorización. El valor puede ser Allow o Deny. Si las instrucciones Permitir 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. Se permite un máximo de 10 condiciones. Para obtener más información sobre los parámetros de condición, consulte Creación de una política personalizada.
NOTA:
Tome la condición en la solicitud de ejemplo como un ejemplo, los valores de la clave de condición (obs:prefix) y cadena (public) deben ser iguales (StringEquals). "Condition": { "StringEquals": { "obs:prefix": [ "public" ] } } |
Resource |
No |
Array of strings |
Recurso en la nube. La matriz puede contener un máximo de 10 cadenas de recursos, y cada cadena no puede exceder de 128 caracteres.
NOTA:
|
Parámetros de respuesta
Parámetro |
Tipo |
Descripción |
---|---|---|
Object |
Resultado de autenticación. |
Solicitud de ejemplo
- Solicitud con el parámetro session_user
POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens
{ "auth": { "identity": { "methods": [ "assume_role" ], "assume_role": { "domain_name": "IAMDomainA", "agency_name": "IAMAgency", "duration_seconds": 3600, "session_user": { "name": "SessionUserName" } } } } }
- Solicitud con el parámetro de policy
POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens
{ "auth": { "identity": { "methods": [ "assume_role" ], "policy": { "Version": "1.1", "Statement": [{ "Effect": "allow", "Action": [ "obs:object:*" ], "Resource": ["obs:*:*:object:*"], "Condition": { "StringEquals": { "obs:prefix": ["public"] } } }] }, "assume_role": { "domain_name": "IAMDomainA", "agency_name": "IAMAgency", "duration_seconds": 3600 } } } }
- Solicitud sin el parámetro session_user o policy
POST https://iam.myhuaweicloud.com/v3.0/OS-CREDENTIAL/securitytokens
{ "auth": { "identity": { "methods": [ "assume_role" ], "assume_role": { "domain_name": "IAMDomainA", "agency_name": "IAMAgency", "duration_seconds": 3600 } } } }
Ejemplo de respuesta
Código de estado: 201
La solicitud se ha realizado correctamente.
Las respuestas a todas las solicitudes anteriores son las mismas independientemente de si se especifica session_user o no. Si se especifica session_user, el securityToken contiene la información de usuario de empresa correspondiente.
{ "credential": { "access": "E6DX0TF2ZREQ4Z...", "expires_at": "2020-01-08T02:56:19.587000Z", "secret": "w9ePum0qdfac39ErLD0UdjofYkqort6Iw....", "securitytoken": "gQpjbi1ub3J0aC0..." } }
Códigos de estado
Código de estado |
Descripción |
---|---|
201 |
La solicitud se ha realizado correctamente. |
400 |
Parámetros no válidos. |
401 |
Authentication failed. |
403 |
Acceso denegado. |
500 |
Error de servidor interno. |
Códigos de error
Ninguno