Las etiquetas le ayudan a identificar y clasificar los recursos en la nube. Utilice las directivas de permisos de RAM para gestionar la identidad del usuario y controlar el acceso a dichos recursos. Agregue etiquetas para clasificar los recursos del clúster de ACK, vincúlelas con las directivas de permisos de RAM para lograr un control de acceso detallado y otorgue a distintos usuarios acceso a diferentes clústeres.
Procedimiento
Cree una directiva personalizada que requiera etiquetas específicas para acceder al clúster de ACK y, a continuación, asocie dicha directiva a un usuario de RAM.
-
Inicie sesión en la consola de RAM con su cuenta de Alibaba Cloud y create a custom policy. Utilice el elemento Condition para establecer condiciones de etiqueta en los recursos de la nube.
NotaUna cuenta de Alibaba Cloud tiene permisos completos sobre todos los recursos. También puede otorgar AdministratorAccess a un usuario de RAM para convertirlo en administrador de la cuenta con capacidad de gestión sobre todos los recursos. Consulte Create a RAM user as an account administrator.
ACK admite las siguientes claves de condición:
Clave de condición
Descripción
acs:RequestTagExige que las solicitudes incluyan etiquetas específicas.
Si a la solicitud de API le falta un parámetro de etiqueta, las condiciones de
acs:RequestTagprovocan un error de autorización.acs:ResourceTagExige que los recursos tengan etiquetas específicas.
Si a la solicitud de API le falta un parámetro de ID de recurso, las condiciones de
acs:ResourceTagprovocan un error de autorización.Consulte Use cases para ver ejemplos de directivas.
-
Asocie la directiva personalizada al usuario de RAM. Consulte Manage the permissions of a RAM user. Al crear la directiva, revise Resource types that support tags y Actions that do not support tag-based authorization.
NotaAntes de otorgar permisos a un usuario de RAM, revise sus directivas existentes para evitar duplicados o conflictos.
Casos de uso
Adapte estas plantillas de directivas personalizadas según el principio de privilegio mínimo.
|
Directiva de permisos |
Descripción |
Resultado |
|
Permite crear únicamente clústeres con la etiqueta |
|
|
Permite consultar únicamente los clústeres con la etiqueta |
|
|
Impide que el usuario modifique las etiquetas. |
Si intenta modificar una etiqueta, la operación fallará. Código de error: |
Referencias
Tipos de recursos compatibles con etiquetas
ACK solo admite la autorización basada en etiquetas para los siguientes tipos de recursos.
|
Nombre del servicio |
Código del servicio |
Tipo de recurso |
|
ACK |
cs |
cluster: clúster |
Acciones que no admiten autorización basada en etiquetas
Las siguientes acciones de ACK no admiten la autorización basada en etiquetas. Consulte Custom policy examples.
|
Acción |
Descripción |
|
cs:OpenAckService |
Habilitar ACK |
|
cs:ListOperationPlans |
Consultar las programaciones automáticas de O&M de un clúster |
|
cs:CancelOperationPlan |
Cancelar un plan automático de O&M pendiente |
|
cs:DescribeTaskInfo |
Consultar los detalles de una tarea |
|
cs:PauseTask |
Pausar una tarea |
|
cs:CancelTask |
Cancelar una tarea |
|
cs:ResumeTask |
Reanudar una tarea |
|
cs:CreateKubernetesTrigger |
Crear un disparador de aplicación |
|
cs:DeleteTriggerHook |
Eliminar un disparador |
|
cs:CreateTemplate |
Crear una plantilla de orquestación |
|
cs:DeleteTemplate |
Eliminar una plantilla de orquestación |
|
cs:UpdateTemplate |
Actualizar una plantilla de orquestación |
|
cs:DescribeTemplates |
Consultar todas las plantillas de orquestación |
|
cs:DescribeTemplateAttribute |
Consultar los detalles de una plantilla de orquestación |
|
cs:ListUserKubeConfigStates |
Consultar la lista de estados de KubeConfig de todos los clústeres pertenecientes a un usuario específico |
|
cs:ListAddons |
Consultar los complementos disponibles |
|
cs:DescribeAddon |
Consultar un complemento específico |
|
cs:DescribeAddons |
Consultar todos los complementos |
|
cs:DescribeEvents |
Consultar los detalles de eventos |
|
cs:DescribeEventsForRegion |
Consultar eventos en una región específica |
|
cs:DescribeKubernetesVersionMetadata |
Consultar los detalles de una versión de Kubernetes |
|
cs:CheckServiceRole |
Comprobar si hay asignado un rol de servicio específico |
|
cs:DescribePatternTypes |
Consultar tipos de instancia |
|
cs:CheckUserClustersActivity |
Comprobar el estado activo de un usuario en un clúster específico |
|
cs:CreateSessionMessage |
Crear una sesión de ACK AI Assistant |
|
cs:UpdateMessageFeedback |
Actualizar los comentarios sobre mensajes de ACK AI Assistant |
|
cs:DescribeKubeConfigManagementTaskList |
Listar las tareas relacionadas con archivos kubeconfig |
|
cs:ListHaveKubeconfigDeletedAccounts |
Consultar los usuarios cuyas cuentas han eliminado usuarios de RAM o roles de RAM, pero cuyos archivos kubeconfig permanecen activos. |
|
cs:ListKubeConfigRecycle |
Listar los archivos kubeconfig en la papelera de reciclaje dentro de la cuenta actual de Alibaba Cloud |
|
cs:RestoreKubeConfigRecycleItem |
Restaurar un archivo kubeconfig eliminado desde la papelera de reciclaje |
|
cs:RestoreMultiKubeConfigRecycleItems |
Restaurar en lote archivos kubeconfig eliminados desde la papelera de reciclaje |
|
cs:DeleteKubeConfigRecycleItem |
Eliminar permanentemente un archivo kubeconfig de la papelera de reciclaje |
|
cs:DescribeKubernetesVersionMetadata |
Consultar los detalles de una versión de Kubernetes |
|
cs:DescribePolicies |
Consultar la lista de directivas |
|
cs:DescribePolicyDetails |
Consultar los detalles de una directiva específica |
|
cs:DescribeUserInstances |
Obtener la lista de nodos necesaria para agregar un nodo existente |
|
cs:DescribeUserPermission |
Consultar los permisos de un usuario de RAM o un rol de RAM |
|
cs:UpdateUserPermissions |
Actualizar los permisos de Control de Acceso Basado en Roles (RBAC) de un usuario de RAM o rol de RAM específico |
|
cs:CleanUserPermissions |
Borrar el certificado de un usuario específico y los permisos RBAC relacionados |
|
cs:QueryAlertContact |
Consultar un contacto de alerta |
|
cs:AddOrUpdateAlertContact |
Actualizar un contacto de alerta |
|
cs:DeleteAlertContact |
Eliminar un contacto de alerta |
|
cs:QueryAlertContactGroup |
Consultar grupos de contactos de alerta |
|
cs:AddOrUpdateAlertContactGroup |
Actualizar un grupo de contactos de alerta |
|
cs:DeleteAlertContactGroup |
Eliminar un grupo de contactos de alerta |
|
cs:DescribeUserQuota |
Consultar información de cuotas |
|
cs:ListOperationPlans |
Consultar la lista de planes de tareas automáticas de O&M |
|
cs:CancelOperationPlan |
Cancelar planes de tareas automáticas de O&M |
|
cs:DescribeTasks |
Consultar la lista de tareas |
Ejemplos de directivas personalizadas
Un usuario de RAM o un rol de RAM con permisos a nivel de cuenta puede realizar operaciones en recursos de toda la cuenta. Asegúrese de que los permisos otorgados al usuario o rol de RAM cumplan con sus expectativas y sigan el principio de privilegio mínimo.
Las directivas con condiciones de etiqueta no se aplican a las acciones que no admiten autorización basada en etiquetas. Cree una directiva independiente para estas acciones con el alcance de recursos establecido en Account y sin condiciones de etiqueta.
Ajuste estos ejemplos según sea necesario.
-
La lista de
Actionincluye todas las acciones de solo lectura que no admiten autorización basada en etiquetas.{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "cs:DescribeAddon", "cs:DescribeAddons", "cs:DescribeEvents", "cs:DescribeEventsForRegion", "cs:DescribeKubeConfigManagementTaskList", "cs:DescribeKubernetesVersionMetadata", "cs:DescribePatternTypes", "cs:DescribePolicies", "cs:DescribePolicyDetails", "cs:DescribeTaskInfo", "cs:DescribeTemplateAttribute", "cs:DescribeTemplates", "cs:DescribeUserInstances", "cs:DescribeUserPermission", "cs:ListAddons", "cs:ListHaveKubeconfigDeletedAccounts", "cs:ListKubeConfigRecycle", "cs:ListOperationPlans", "cs:ListUserKubeConfigStates", "cs:QueryAlertContact", "cs:QueryAlertContactGroup", "cs:CheckServiceRole", "cs:DescribeTasks", "cs:DescribeUserQuota", "cs:ListOperationPlans", "cs:CheckUserClustersActivity" ], "Resource": "*" } ] } -
La lista de
Actionincluye todas las acciones que no admiten autorización basada en etiquetas.{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "cs:AddOrUpdateAlertContact", "cs:AddOrUpdateAlertContactGroup", "cs:CancelOperationPlan", "cs:CancelTask", "cs:CheckServiceRole", "cs:CheckUserClustersActivity", "cs:CleanUserPermissions", "cs:CreateKubernetesTrigger", "cs:CreateSessionMessage", "cs:CreateTemplate", "cs:DeleteAlertContact", "cs:DeleteAlertContactGroup", "cs:DeleteKubeConfigRecycleItem", "cs:DeleteTemplate", "cs:DeleteTriggerHook", "cs:DescribeAddon", "cs:DescribeAddons", "cs:DescribeEvents", "cs:DescribeEventsForRegion", "cs:DescribeKubeConfigManagementTaskList", "cs:DescribeKubernetesVersionMetadata", "cs:DescribePatternTypes", "cs:DescribePolicies", "cs:DescribePolicyDetails", "cs:DescribeTaskInfo", "cs:DescribeTemplateAttribute", "cs:DescribeTemplates", "cs:DescribeUserInstances", "cs:DescribeUserPermission", "cs:ListAddons", "cs:ListHaveKubeconfigDeletedAccounts", "cs:ListKubeConfigRecycle", "cs:ListOperationPlans", "cs:ListUserKubeConfigStates", "cs:OpenAckService", "cs:DescribeTasks", "cs:PauseTask", "cs:QueryAlertContact", "cs:QueryAlertContactGroup", "cs:RestoreKubeConfigRecycleItem", "cs:RestoreMultiKubeConfigRecycleItems", "cs:ResumeTask", "cs:UpdateMessageFeedback", "cs:DescribeUserQuota", "cs:ListOperationPlans", "cs:CancelOperationPlan", "cs:UpdateTemplate", "cs:UpdateUserPermissions" ], "Resource": "*" } ] }