El control de acceso basado en roles (RBAC) permite otorgar permisos sobre los recursos de Kubernetes mediante su vinculación con roles. Posteriormente, estos roles se asignan a los usuarios para controlar su acceso y reducir los riesgos de seguridad. Este tema describe cómo configurar los permisos RBAC de Kubernetes para un usuario o un rol de RAM.
Descripción general
|
Parámetro |
Descripción |
|
Permisos predeterminados |
|
|
Métodos de autorización |
Nota
Antes de empezar, asegúrese de que el usuario o rol de RAM destino tenga permisos de RAM de solo lectura para el clúster especificado en la consola de RAM. |
|
Modo de autorización |
Los permisos se pueden otorgar a los usuarios o roles de RAM de manera individual o por lotes. |
Debido a las restricciones de seguridad de RAM de Alibaba Cloud, cuando modifique los permisos de un usuario o rol de RAM en la consola de ACS, también deberá otorgarlos manualmente en la consola de RAM siguiendo las instrucciones en pantalla.
Otorgar permisos RBAC a usuarios o roles de RAM
Inicie sesión en la consola de ACS. En el panel de navegación izquierdo, seleccione Authorizations.
-
En la página Authorizations, configure los permisos del usuario o rol de RAM.
ImportanteLos clústeres de ACS son un tipo de clúster serverless de ACK. Si ya otorgó permisos RBAC para "All Clusters" a un usuario o rol de RAM en la consola de ACK, dichos permisos se aplican automáticamente a los clústeres de ACS. No es posible otorgar permisos independientes para los clústeres de ACS desde la consola de ACS, ya que heredan la directiva "All Clusters".
-
Para autorizar a un usuario de RAM:
En la pestaña RAM Users, busque el usuario de RAM destino y haga clic en Modify Permissions en la columna Actions. Esto abre el panel Permission Management.
-
Para autorizar a un rol de RAM:
Haga clic en la pestaña RAM Roles. Introduzca el nombre del rol de RAM y haga clic en Modify Permissions para abrir el panel Permission Management.
-
-
En el panel Permission Management, haga clic en + Add Permissions. Configure los ajustes de permiso del usuario o rol de RAM destino en los niveles de Clusters y Namespace, seleccione un rol predefinido y, a continuación, haga clic en Submit.
Rol predefinido
Permisos RBAC dentro del clúster
Administrator
Permisos de lectura y escritura para todos los recursos en todos los namespaces.
O&M Engineer
Permisos de lectura y escritura para los recursos de Kubernetes visibles en la consola en todos los namespaces, además de permisos de solo lectura para volúmenes persistentes, namespaces y cuotas.
Developer
Permisos de lectura y escritura para los recursos de Kubernetes visibles en la consola dentro de todos los namespaces o de los seleccionados.
Restricted User
Permisos de solo lectura para los recursos de Kubernetes visibles en la consola dentro de todos los namespaces o de los seleccionados.
Custom
El rol de clúster seleccionado determina los permisos. Para evitar otorgar permisos no deseados, revise los permisos del rol de clúster antes de asignarlo a un usuario o rol de RAM. Para consultar las instrucciones sobre cómo ver los permisos personalizados, expanda la siguiente sección.
ImportanteUn usuario o rol de RAM con el permiso cluster-admin tiene privilegios de superadministrador dentro del clúster, equivalentes a los de una cuenta de Alibaba Cloud. Este rol proporciona acceso sin restricciones a todos los recursos del clúster. Asigne este rol con extrema precaución.
-
Una vez completada la configuración, inicie sesión en la consola de ACS con el usuario o rol de RAM destino para ejecutar operaciones.
NotaAsegúrese de que el usuario o rol de RAM cuente con los permisos de RAM obligatorios para el clúster y de que también se le haya otorgado el rol RBAC Administrator o cluster-admin. Para más información, consulte Grant RAM permissions to a RAM user or RAM role.
ACS proporciona cuatro roles predefinidos estándar: Administrator, O&M Engineer, Developer y Restricted User. Estos roles cubren la mayoría de los requisitos de control de acceso. Si necesita definir permisos más específicos, utilice la función del rol Custom.
Es posible asignar un rol predefinido y varios roles personalizados a un usuario o rol de RAM para un clúster o namespace específico.
Si desea otorgar permisos para todos los clústeres de una sola vez, de modo que los clústeres nuevos los hereden automáticamente, seleccione All Clusters en la lista desplegable Clusters.
Delegar la autorización RBAC a usuarios o roles de RAM
Para delegar esta capacidad, una cuenta de Alibaba Cloud o un usuario de RAM con el rol Administrator en todo el clúster debe otorgar los permisos de RAM y RBAC necesarios al usuario o rol correspondiente.
Permisos de RAM
Debe otorgar al usuario o rol de RAM una directiva de RAM que incluya los siguientes permisos:
Consultar otros principales de RAM.
Adjuntar una directiva de RAM.
Consultar la información del clúster.
Consultar las configuraciones de permisos RBAC.
Otorgar permisos RBAC.
-
Inicie sesión en la consola de RAM y otorgue los permisos de RAM obligatorios al usuario o rol de RAM mediante una directiva similar al siguiente ejemplo. Para más información, consulte Grant RAM permissions to a RAM user or RAM role.
ImportanteReemplace
xxxxxxpor el nombre de la directiva de RAM que desea adjuntar. Si utiliza un asterisco (), el usuario o rol de RAM podrá adjuntar cualquier directiva de RAM. Establecer "Resource": "" otorga permiso para ejecutar las acciones especificadas en todos los recursos de su cuenta. La acción cs:* se aplica a todos los clústeres de ACK, excepto a los de ACS. Otorgue estos permisos con precaución.{ "Statement": [{ "Action": [ "ram:Get*", "ram:List*", "cs:DescribeClustersV1", "cs:GrantPermission" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ram:AttachPolicyToUser", "ram:AttachPolicy" ], "Effect": "Allow", "Resource": [ "acs:ram:*:*:policy/xxxxxx", "acs:*:*:*:user/*" ] } ], "Version": "1" } Una vez otorgados los permisos, el usuario o rol de RAM podrá conceder permisos de RAM a otros usuarios o roles de RAM dentro del alcance de la directiva especificada.
Permisos RBAC
Después de otorgar los permisos de RAM obligatorios, también debe asignar el rol predefinido Administrator o el rol personalizado cluster-admin al usuario o rol de RAM para el clúster o namespace destino. Para más información, consulte Set an authorization subject as a permission administrator for in-cluster applications.
Establecer usuarios o roles de RAM como administradores de permisos
Si resulta inconveniente usar una cuenta de Alibaba Cloud para otorgar permisos, puede establecer un usuario o rol de RAM como administrador de permisos. De este modo, utilizará dicho administrador para ejecutar las tareas de autorización.
-
Inicie sesión en la consola de RAM y localice el usuario o rol de RAM destino.
-
Usuario de RAM
En el panel de navegación izquierdo, vaya a . En la lista de usuarios, busque el usuario destino y haga clic en Attach Policy en la columna Actions.
-
Rol de RAM
En el panel de navegación izquierdo, vaya a . En la lista de roles, busque el rol destino y haga clic en Attach Policy en la columna Actions.
-
En el cuadro de diálogo Attach Policy, haga clic en el cuadro de búsqueda de la sección Policy. Busque por nombre las directivas del sistema
AliyunRAMFullAccessyAliyunACCFullAccess, y selecciónelas. Las directivas elegidas se agregan al área Selected Policy de la derecha. Haga clic en OK y cierre el cuadro de diálogo para completar la autorización.Inicie sesión en la consola de ACS y otorgue el rol predefinido Administrator al usuario o rol de RAM para todos los clústeres. Para más información, consulte Grant RBAC permissions to a RAM user or RAM role.
Al completar estos pasos, el usuario o rol de RAM se convierte en administrador de permisos y puede otorgar permisos de RAM y RBAC a otros usuarios y roles de RAM.
Códigos de error de permisos
Si una operación en la consola o una llamada a la API falla por falta de permisos RBAC, el sistema devuelve un código de error correspondiente. A continuación se muestra una tabla con los permisos RBAC de clúster obligatorios para los códigos de error comunes.
|
Código o mensaje de error |
Permiso RBAC obligatorio |
|
ForbiddenCheckControlPlaneLog |
Administrator u O&M Engineer |
|
ForbiddenHelmUsage |
Administrator |
|
ForbiddenRotateCert |
Administrator |
|
ForbiddenQueryClusterNamespace |
Administrator, O&M Engineer, Developer o Restricted User |