Autenticación
Las solicitudes para llamar a una API se pueden autenticar mediante cualquiera de los siguientes métodos:
- Autenticación basada en tokens: las solicitudes se autentican mediante un token.
- Autenticación AK/SK: Las solicitudes se cifran utilizando pares AK/SK. Se recomienda la autenticación basada en AK/SK porque es más segura que la autenticación basada en tokens.
Autenticación basada en tokens
El período de validez de un token es de 24 horas. Cuando utilice un token para la autenticación, guarde en caché para evitar llamar con frecuencia a la API de IAM utilizada para obtener un token de usuario.
Un token especifica los permisos temporales en un sistema informático. Durante la autenticación de API mediante un token, el token se agrega a los encabezados de solicitud para obtener permisos para llamar a la API. Puede obtener un token porllamar a una API.
- Para un servicio a nivel de proyecto, necesita obtener un token a nivel de proyecto. Cuando llames a la API, configura auth.scope en el cuerpo de la solicitud para project.
- Para un servicio global, necesita obtener un token global. Cuando llames a la API, configura auth.scope en el cuerpo de la solicitud para domain.
Cuando se llama a la API utilizada para obtener un token de usuario, debe establecer auth.scope en el cuerpo de la solicitud para project.
{ "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } }
Después de obtener un token, el campo de X-Auth-Token debe agregarse a las solicitudes para especificar el token al llamar a otras API. Por ejemplo, si el token es ABCDEFJ...., X-Auth-Token: ABCDEFJ.... se puede añadir a una solicitud de la siguiente manera:
POST https://iam.ap-southeast-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ABCDEFJ....
Autenticación basada en AK/SK
La autenticación basada en AK/SK admite solicitudes de API con un cuerpo de no más de 12 MB. Para las solicitudes de API con un cuerpo más grande, se recomienda la autenticación basada en tokens.
En la autenticación basada en AK/SK, AK/SK se utiliza para firmar solicitudes y la firma se añade a continuación a las cabeceras de solicitud para la autenticación.
- AK: ID de clave de acceso, que es un identificador único utilizado junto con una clave de acceso secreta para firmar solicitudes criptográficamente.
- SK: clave de acceso secreta usada junto con un AK para firmar solicitudes criptográficamente. Identifica un remitente de la solicitud y evita que la solicitud sea modificada.
El SDK de firma solo se utiliza para firmar solicitudes y es diferente de los SDK proporcionados por los servicios.