Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2025-12-22 GMT+08:00

Autenticación

Los métodos de autenticación para invocar una API son los siguientes:

  • Autenticación basada en AK/SK: Las solicitudes se autentican encriptando el cuerpo de la solicitud usando un par AK/SK. Se recomienda la autenticación basada en AK/SK porque proporciona mayor seguridad que la autenticación basada en tokens.
  • Autenticación basada en tokens: Las solicitudes se autentican mediante un token.

Autenticación basada en AK/SK

En este tipo de autenticación, el par AK/SK se utiliza para firmar solicitudes, y la firma resultante se agrega a las solicitudes de autenticación.

  • AK: el ID de clave de acceso, que es un identificador único usado junto con una clave de acceso secreta para firmar solicitudes criptográficamente.
  • SK: la clave de acceso secreta usada junto con una AK para firmar solicitudes criptográficamente. Identifica un remitente de la solicitud y evita que la solicitud sea modificada.

Restricciones:

  • La autenticación basada en AK/SK admite solicitudes de API con un cuerpo de hasta 12 MB. En el caso de solicitudes de API con un cuerpo más grande, se recomienda la autenticación basada en tokens.
  • Los tokens obtenidos mediante una AK/SK son válidos durante al menos 15 minutos.
  • Se soportan tanto AK/SK en una clave de acceso permanente como en un acceso temporal. El campo X-Security-Token debe configurarse cuando se utiliza el AK/SK en la clave de acceso temporal, y el valor del campo es el security_token de la clave de acceso temporal.
En la autenticación basada en AK/SK, puede utilizar un par AK/SK para firmar solicitudes en función del algoritmo de firma, o bien, puede usar el SDK de firma para realizar la firma de solicitudes. Para obtener más información sobre cómo firmar solicitudes y usar el SDK de firma, véase la Guía de firma de solicitudes de API.
  • El SDK de firma solo se utiliza para firmar solicitudes y es diferente de los SDK proporcionados por los servicios.
  • La hora local en el cliente debe sincronizarse con el servidor de reloj para evitar un desplazamiento grande en el valor del encabezado de solicitud X-Sdk-Date.
  • APIG comprueba el formato de hora y compara la hora con la hora en que APIG recibe la solicitud. Si la diferencia de tiempo supera los 15 minutos, APIG rechazará la solicitud.

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, guárdelo en caché para evitar invocar con frecuencia a la API de IAM utilizada para obtener tokens de usuario.
  • Asegúrese de que el token es válido cuando lo usa. El uso de un token que caducará pronto puede provocar fallas en las invocaciones a la API.

Un token especifica los permisos temporales en un sistema informático. Durante la autenticación de la API mediante un token, el token se agrega a las solicitudes para obtener los permisos necesarios para invocar a la API.

Cuando invoca a una API para obtener un token de usuario, debe establecer auth.scope en el cuerpo de la solicitud como 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 encabezado X-Auth-Token debe agregarse a las solicitudes para especificar el token al invocar a otras API. Por ejemplo, si el token es ABCDEFG...., X-Auth-Token: ABCDEFG.... se puede agregar a una solicitud de la siguiente manera:

POST https://apig.ap-southeast-1.myhuaweicloud.com/v2/{project_id}/apigw/instances/{instance_id}/api-groups
POST https://{apig_endpoint}/v2/{project_id}/v2/{project_id}/apigw/instances/{instance_id}/api-groups
Content-Type: application/json
X-Auth-Token: ABCDEFG....