De forma predeterminada, los usuarios y roles de RAM no tienen permiso para llamar a las operaciones de API de los servicios en la nube. Antes de llamar a las operaciones de API de ACK, otorgue permisos a un usuario o rol de RAM mediante una política del sistema o personalizada. En este tema se describe cómo otorgar a los usuarios y roles de RAM acceso a los clústeres y a los recursos en la nube.
Otorgar permisos con una política del sistema
Una política del sistema controla el acceso de lectura y escritura a los recursos globales. Si un usuario o rol de RAM necesita gestionar todos los clústeres de su cuenta de Alibaba Cloud, utilice una política del sistema para una autorización rápida. A continuación se muestran las políticas del sistema más comunes para ACK.
Las políticas del sistema que otorgan acceso total contienen permisos de alto riesgo. Para evitar riesgos de seguridad, otorgue estas políticas con precaución.
Una cuenta de Alibaba Cloud tiene permisos administrativos totales sobre todos los recursos que contiene. También puede crear un usuario de RAM y otorgarle el permiso AdministratorAccess para convertirlo en administrador de la cuenta. Este administrador puede gestionar todos los recursos en la nube de la cuenta. Para obtener más información, consulte Create a RAM user as an account administrator.
Inicie sesión en la consola de RAM como administrador de RAM.
En el panel de navegación izquierdo, elija .
-
En la página Users, busque el usuario de RAM deseado y haga clic en Add Permissions en la columna Actions.

También puede seleccionar varios usuarios de RAM y hacer clic en Add Permissions en la parte inferior de la página para otorgar permisos a múltiples usuarios de RAM al mismo tiempo.
-
En el panel Grant Permissions, otorgue permisos al usuario de RAM.
-
Configure el parámetro Resource Scope.
Account: la autorización surte efecto en la cuenta actual de Alibaba Cloud.
-
Resource Group: la autorización surte efecto en un resource group específico.
ImportanteSi selecciona Resource Group para el parámetro Resource Scope, compruebe que el servicio en la nube requerido admita resource groups. Para obtener más información, consulte Services that work with Resource Group. Para conocer cómo otorgar permisos sobre un resource group, consulte Control RAM user access to specific ECS instances.
-
Configure el parámetro Principal.
El principal es el usuario de RAM al que desea otorgar permisos. El usuario de RAM actual se selecciona automáticamente.
Seleccione las políticas del sistema que desea adjuntar.
Haga clic en OK.
-
Haga clic en Close.
Otorgar permisos con una política personalizada
Una política personalizada proporciona un control de acceso detallado sobre los recursos en la nube. Por ejemplo, permite restringir los permisos de un usuario sobre un clúster específico. Las políticas personalizadas también controlan los permisos a nivel de API, lo cual resulta útil para desarrollos personalizados basados en SDK. Para obtener más información sobre los elementos de autorización compatibles con RAM, consulte Authorization information.
Antes de crear una política personalizada, familiarícese con la estructura básica y la sintaxis del lenguaje de políticas. Para obtener más información, consulte Basic elements of a policy.
Paso 1: Crear una política personalizada
Inicie sesión en la consola de RAM como administrador de RAM.
En el panel de navegación izquierdo, elija .
En la página Policies, haga clic en Create Policy.
-
En la página Create Policy, haga clic en la pestaña JSON Editor e introduzca el documento de política.
{ "Statement": [ { "Action": [ "cs:Get*", "cs:List*", "cs:Describe*", "cs:ScaleCluster", "cs:DeleteCluster" ], "Effect": "Allow", "Resource": [ "acs:cs:*:*:cluster/YOUR_CLUSTER_ID" ] } ], "Version": "1" }Reemplace
YOUR_CLUSTER_IDpor el ID de su clúster de destino.Parámetro
Descripción
Action
Los permisos que se van a otorgar. Se admiten caracteres comodín (*).
Resource
-
Otorgar permisos sobre un solo clúster
"Resource": [ "acs:cs:*:*:cluster/YOUR_CLUSTER_ID" ] -
Otorgar permisos sobre varios clústeres
"Resource": [ "acs:cs:*:*:cluster/YOUR_CLUSTER_ID_1", "acs:cs:*:*:cluster/YOUR_CLUSTER_ID_2" ] -
Otorgar permisos sobre todos los clústeres
"Resource": [ "*" ]
-
En la página Create Policy, haga clic en OK.
En el cuadro de diálogo Create Policy, introduzca un valor en Policy Name y en Comment, y luego haga clic en OK.
Paso 2: Otorgar la política personalizada
Los pasos para adjuntar una política personalizada son los mismos que para una política del sistema. Cuando el sistema le solicite seleccionar una política, elija la política personalizada que creó. Para obtener más información, consulte Grant permissions with a system policy.
Ejemplos de políticas personalizadas
Ejemplo 1: Otorgar permisos de solo lectura sobre un clúster
{
"Statement": [
{
"Action": [
"cs:Get*",
"cs:List*",
"cs:Describe*"
],
"Effect": "Allow",
"Resource": [
"acs:cs:*:*:cluster/YOUR_CLUSTER_ID"
]
}
],
"Version": "1"
}
Ejemplo 2: Otorgar permisos de lectura sobre un bucket de OSS
Reemplace YOUR_OSS_BUCKET_NAME por el nombre de su bucket de OSS de destino.
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:ListBuckets",
"oss:GetBucketStat",
"oss:GetBucketInfo",
"oss:GetBucketTagging",
"oss:GetBucketAcl"
],
"Resource": "acs:oss:*:*:*"
},
{
"Effect": "Allow",
"Action": [
"oss:ListObjects",
"oss:GetBucketAcl"
],
"Resource": "acs:oss:*:*:YOUR_OSS_BUCKET_NAME"
},
{
"Effect": "Allow",
"Action": [
"oss:GetObject",
"oss:GetObjectAcl"
],
"Resource": "acs:oss:*:*:YOUR_OSS_BUCKET_NAME/*"
}
]
}
Ejemplo 3: Otorgar permisos para API que no están limitadas a un clúster
Algunas operaciones de openapi, como DescribeEvents, no admiten la autorización específica por clúster. Para otorgar a un usuario o rol de RAM permisos sobre estas operaciones, omita el ID del clúster en el campo Resource. La siguiente tabla compara las políticas de RAM original y modificada:
|
Antes |
Después |
|
|
Pasos siguientes
Después de otorgar los permisos de RAM, configure también la autorización RBAC para gestionar los recursos de Kubernetes dentro del clúster. Para obtener más información, consulte Use RBAC to authorize operations on resources in a cluster.
Para mejorar la seguridad de las aplicaciones de ACK que acceden a otros servicios en la nube, utilice RRSA para configurar los permisos de RAM de un ServiceAccount y así aislar los permisos de los pods. Para obtener más información, consulte Use RRSA to configure RAM permissions for a ServiceAccount and isolate pod permissions.
Para implementar una autorización de RAM detallada, consulte Implement fine-grained access control by using tags y Manually narrow down the permissions of the worker RAM role for an ACK managed cluster.
Para obtener información sobre cómo solucionar problemas de autorización, consulte Authorization management FAQ.