Cuando varios usuarios colaboran en recursos compartidos, puede delegar permisos al otorgar diferentes niveles de acceso a los usuarios de RAM según sus roles. Este enfoque mejora la eficiencia de la gestión y reduce el riesgo de fugas de información. Este tema describe cómo usar la autenticación a nivel de recurso para controlar los permisos de los usuarios de RAM y otorgarles derechos específicos de acceso y operación sobre distintos recursos de Auto Scaling.
Contexto
Los permisos de Alibaba Cloud se gestionan mediante directivas. Puede configurar directivas relacionadas con RAM según los distintos roles. En una directiva, defina permisos a nivel de recurso y adjunte una o más directivas a un usuario de RAM o a un grupo de usuarios. Para obtener más información sobre las directivas, consulte Policy overview.
-
Gestionar permisos para recursos de Auto Scaling sin autenticación a nivel de recurso resulta poco práctico. Por ejemplo, solo puede otorgar permisos a un nivel general, como para todos los recursos dentro de una región. La autenticación a nivel de recurso de Auto Scaling ofrece mayor flexibilidad al permitirle otorgar permisos para recursos específicos.
NotaPara obtener más información sobre RAM, consulte What is RAM?.
Escenarios
A continuación se describen escenarios sobre cómo implementar la autenticación a nivel de recurso.
|
Escenario |
Objetivo de permisos |
|
Scenario 1: Create scaling groups, and then configure a resource-level authentication policy Por ejemplo:
|
Permitir todas las operaciones en el grupo de escalado 1, pero denegarlas en el grupo de escalado 2. |
|
Scenario 2: Configure a resource-level authentication policy, and then create scaling groups |
Permitir la creación de grupos de escalado solo en una región específica, como China (Hangzhou), y denegarla en otras regiones, como China (Beijing). |
API sin autenticación a nivel de recurso
Después de adjuntar una directiva que otorga permisos a nivel de recurso a un usuario de RAM, las siguientes operaciones de API no admiten la autenticación a nivel de recurso.
|
API |
Sin soporte de autenticación de recursos |
|
DescribeRegions |
Sí |
|
Para una tarea programada no asociada con un grupo de escalado:
|
Sí |
|
Para una tarea de alarma no asociada con un grupo de escalado:
|
Sí |
Procedimiento
Antes de empezar, asegúrese de haber creado un usuario de RAM. Para obtener más información, consulte Create a RAM user.
Escenario 1: Crear grupos de escalado y luego configurar la directiva
-
Cree dos grupos de escalado.
Para obtener más información, consulte Manage scaling groups.
Grupo de escalado 1: nombre asg-001, ID asg-bp17np35ywjwh2cx****.
Grupo de escalado 2: nombre asg-002, ID asg-bp1c5pl2qc6ozgbl****.
Inicie sesión en la consola de RAM.
-
Cree una directiva personalizada.
Para obtener más información, consulte Create a custom policy.
Esta directiva personalizada le permite consultar, modificar y eliminar el grupo de escalado asg-001 en la consola de Auto Scaling o mediante llamadas a operaciones de API. Asimismo, deniega estas operaciones en asg-002.
Ejemplo de directiva personalizada:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "ess:*", "Resource": "acs:ess:cn-hangzhou:160998252992****:scalinggroup/asg-bp17np35ywjwh2cx****" }, { "Effect": "Deny", "Action": "ess:*", "Resource": "acs:ess:cn-hangzhou:160998252992***8:scalinggroup/asg-bp1c5pl2qc6ozgbl****" }, { "Effect": "Allow", "Action": [ "ess:DescribeRegions", "ess:CreateScheduledTask", "ess:ModifyScheduledTask", "ess:DescribeScheduledTasks", "ess:DeleteScheduledTask", "ess:CreateAlarm", "ess:DescribeAlarms", "ess:ModifyAlarm", "ess:EnableAlarm", "ess:DeleteAlarm" ], "Resource": "*" } ] } -
Adjunte la directiva personalizada al usuario de RAM.
Para obtener más información, consulte Grant permissions to a RAM user.
-
Use la consola de Auto Scaling o llame a operaciones de API para consultar, modificar y eliminar asg-001 y asg-002.
Puede ejecutar operaciones normales, como consultar, modificar y eliminar, en el grupo de escalado asg-001. Sin embargo, no puede realizar estas operaciones en asg-002. Se devuelve un error que indica que la autenticación a nivel de recurso funciona correctamente.
Recibir el código de error
Forbidden.Unauthorizedy el mensaje "The user is not authorized to perform this operation because the user is not granted the required permissions. Please grant permissions and try again." confirma que la autenticación a nivel de recurso funciona correctamente.
Escenario 2: Configurar la directiva y luego crear grupos de escalado
Inicie sesión en la consola de RAM.
-
Cree una directiva personalizada.
Para obtener más información, consulte Create a custom policy.
Esta directiva personalizada le permite crear grupos de escalado en la región China (Hangzhou), ya sea en la consola de Auto Scaling o mediante operaciones de API. Deniega estas operaciones en la región China (Beijing).
Ejemplo de directiva personalizada:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "ess:*", "Resource": "acs:ess:cn-hangzhou:160998252992****:*" }, { "Effect": "Deny", "Action": "ess:*", "Resource": "acs:ess:cn-beijing:160998252992****:*" }, { "Effect": "Allow", "Action": [ "ess:DescribeRegions", "ess:CreateScheduledTask", "ess:ModifyScheduledTask", "ess:DescribeScheduledTasks", "ess:DeleteScheduledTask", "ess:CreateAlarm", "ess:DescribeAlarms", "ess:ModifyAlarm", "ess:EnableAlarm", "ess:DeleteAlarm" ], "Resource": "*" } ] } -
Adjunte la directiva personalizada al usuario de RAM.
Para obtener más información, consulte Grant permissions to a RAM user.
-
Use la consola de Auto Scaling o llame a operaciones de API para crear grupos de escalado.
Puede crear grupos de escalado en la región China (Hangzhou), pero no en la región China (Beijing). Se devuelve un error que indica que la autenticación a nivel de recurso funciona correctamente.
Recibir el código de error
Forbidden.Unauthorizedy el mensaje "The user is not authorized to perform this operation because the user is not granted the required permissions. Please grant permissions and try again." confirma que la autenticación a nivel de recurso funciona correctamente.
Temas relacionados
Para otorgar permisos a un usuario de RAM mediante programación, consulte la operación AttachPolicyToUser.
Para crear una directiva personalizada mediante programación, consulte la operación CreatePolicy.
Para crear uno o más grupos de escalado mediante programación, consulte la operación CreateScalingGroup.
Para gestionar permisos mediante autenticación basada en etiquetas, consulte Manage scaling group permissions with tag-based authentication.
Para agrupar y gestionar recursos en la nube mediante grupos de recursos, consulte Use resource groups to manage scaling groups.