La herramienta de diagnóstico de errores de API requiere permisos específicos para analizar errores entre distintas cuentas. Otorgue permisos entre cuentas para que los usuarios autorizados puedan consultar la información de diagnóstico de API de otras cuentas.
Dentro de una cuenta de Alibaba Cloud
Otorgue permisos a un usuario de RAM para que pueda consultar la información de diagnóstico de API de otros usuarios y roles de RAM dentro de la misma cuenta.
Paso 1: Crear una política personalizada
Inicie sesión en la consola de RAM con su cuenta de Alibaba Cloud o con un usuario de RAM que tenga permisos de administración de RAM.
En el panel de navegación izquierdo, seleccione Permissions y luego haga clic en Policies.
En la página Policies, haga clic en Create Policy.
-
En la página Create Policy, haga clic en la pestaña JSON.
El editor muestra una plantilla de política predeterminada con un elemento
Versionigual a"1"y una matrizStatementque contiene un solo objeto. Este objeto tiene un elementoEffectcon valor"Allow", además de los elementosAction,ResourceyConditionvacíos. -
Reemplace el contenido del editor por la siguiente política y haga clic en OK.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "openapiexplorer:GetRequestLog", "ram:DecodeDiagnosticMessage" ], "Resource": "*" } ] }NotaEsta política permite al usuario consultar todos los registros de llamadas a la API y la información detallada sobre permisos insuficientes dentro de la cuenta de Alibaba Cloud.
Introduzca un valor en Policy Name y otro en Description, y luego haga clic en OK.
Paso 2: Otorgar permisos a un usuario de RAM
Otorgue permisos al usuario de RAM mediante uno de los siguientes métodos:
Para otorgar permisos a un usuario de RAM, consulte Manage RAM user permissions.
Para otorgar permisos a un grupo de usuarios de RAM, consulte Grant permissions to a RAM user group.
Paso 3: Consultar el resultado del diagnóstico de API
Vaya a OpenAPI TroubleshootOpenAPI Troubleshoot, introduzca el RequestId y haga clic en Diagnose.
El resultado del diagnóstico indica que el servicio en la nube es ECS, que el ErrorCode es Forbidden.RAM y que el ErrorMessage señala que el usuario de RAM no está autorizado para operar sobre el recurso especificado. Los detalles del diagnóstico identifican al invocador como un usuario de RAM que intenta ejecutar la acción ecs:ModifyInstanceAttribute, con una decisión de permisos insuficientes. La solución recomendada es contactar a un administrador para que otorgue una política del sistema pertinente, como AliyunECSFullAccess o AliyunECSReadOnlyAccess, o bien crear una política personalizada.
Entre diferentes cuentas de Alibaba Cloud
Para consultar la información de diagnóstico de API de otra cuenta de Alibaba Cloud, asuma un rol que otorgue los permisos necesarios.
Cuenta A: la cuenta que presenta el error de API.
Cuenta B: la cuenta que necesita consultar la información de diagnóstico de API.
La cuenta A crea un rol de RAM y otorga a la cuenta B el permiso para asumirlo.
La cuenta B crea un usuario de RAM y le otorga el permiso para asumir roles.
El usuario de RAM de la cuenta B asume el rol de RAM de la cuenta A para consultar la información de diagnóstico de API entre cuentas.
Paso 1: Configurar un rol de RAM en la cuenta A
-
Cree un rol de RAM.
Inicie sesión en la consola de RAM con la cuenta A. Cree un rol de RAM con Principal Type establecido en Cloud Account. Para obtener más información, consulte Create a RAM role for a trusted Alibaba Cloud account.
NotaEn la página Create Role, en Principal Name, seleccione Other Account e introduzca el UID de la cuenta B.
-
Cree una política personalizada.
Para ver las instrucciones, consulte Step 1: Create a custom policy en la sección anterior.
-
Otorgue permisos al rol de RAM.
Adjunte al rol de RAM la política personalizada que creó en el paso anterior. Para obtener más información, consulte Manage permissions for a RAM role.
Paso 2: Configurar un usuario de RAM en la cuenta B
-
Cree un usuario de RAM.
Inicie sesión en la consola de RAM con la cuenta B y cree un usuario de RAM. Para obtener más información, consulte Create a RAM user.
NotaPor motivos de seguridad, configure un único modo de acceso para el usuario de RAM según sus necesidades. Mantenga separados el acceso a la consola y el acceso programático.
En este ejemplo, el valor de Logon Name se establece en
GetApiLogUser, el de Display Name en "To query API call logs of another Alibaba Cloud account" y, en Access Mode, se seleccionan tanto console access como programmatic access. -
Otorgue permisos al usuario de RAM.
Adjunte la política
AliyunSTSAssumeRoleAccessal usuario de RAM. Esta política permite al usuario asumir cualquier rol de RAM. Para obtener más información, consulte Manage RAM user permissions.NotaSi desea que el usuario de RAM solo pueda asumir roles de RAM específicos, consulte RAM roles and STS Token FAQs.
Paso 3: Asumir el rol y consultar la información de diagnóstico
Utilice el usuario de RAM de la cuenta B para iniciar sesión en la página de inicio de sesión de usuario de RAM.
Coloque el cursor sobre su foto de perfil en la esquina superior derecha y haga clic en Switch Identity.
En la página Switch Role, introduzca el UID de la cuenta A y el nombre del rol de RAM, y luego haga clic en Submit.
-
Consulte la información de diagnóstico de API.
Vaya a OpenAPI TroubleshootOpenAPI Troubleshoot, introduzca el RequestId y haga clic en Diagnose.
El resultado del diagnóstico indica que el servicio en la nube es ECS, que el ErrorCode es
Forbidden.RAMy que el ErrorMessage esUser not authorized to operate on the specified resource, or this API doesn't support RAM.. Los detalles del diagnóstico señalan que una política basada en identidad a nivel de resource group denegó el acceso. También muestran que el invocador era un usuario de RAM que intentaba ejecutar la acciónecs:ModifyInstanceAttributemientras tenía iniciada la sesión con el rol GetApiLogRole.