Los permisos predeterminados de WorkerRolePolicy para los nodos en clústeres administrados de Container Service for Kubernetes (ACK) son amplios. Para reforzar el aislamiento de seguridad de los nodos en escenarios multitenant, ACK redujo los permisos asignados a los roles de Resource Access Management (RAM) de estos nodos a partir del 20 de mayo de 2020.
A partir del 17 de julio de 2023, no se otorga ninguna política de permisos de forma predeterminada al rol RAM de worker en los nuevos clústeres administrados de ACK que ejecutan la versión 1.22.15-aliyun.1 o posterior. Para más información, consulte [[Product Changes] Permissions of the worker RAM role of ACK managed clusters are revoked](t2325185.xdita#).
Autorización de roles
Tras la reducción de permisos, se eliminaron del rol RAM del nodo las políticas que usaban los complementos del sistema y se agregaron roles específicos de ACK para cada complemento. Al crear un clúster administrado en la consola de ACK después de este cambio, el sistema le solicitará autorizar los siguientes roles. Use su cuenta de Alibaba Cloud o un usuario RAM con permisos AliyunRAMFullAccess o AdministratorAccess. Haga clic en Go to RAM console para ir a la página de autorización por lotes y completar el proceso.
Si usa OpenAPI para crear un clúster, utilice el enlace de autorización para completar la autorización.
El cuadro de diálogo de error muestra el código ErrManagedAddonRoleNotAttach y el enlace de autorización https://ur.alipay.com/1paTcxSWdAEW70GVH5TZiO.
En la parte inferior de la página de autorización por lotes, haga clic en Confirm Authorization Policy. Después, inicie sesión nuevamente en la consola de ACK para crear su clúster.
Esta autorización por lotes otorga permisos a los siguientes roles del sistema, que usan los complementos del clúster para invocar operaciones de OpenAPI:
AliyunCSManagedLogRole
AliyunCSManagedCmsRole
AliyunCSManagedCsiRole
AliyunCSManagedVKRole
AliyunCSManagedNetworkRole
AliyunCSManagedArmsRole
La política RAM predeterminada de WorkerRole con permisos reducidos se define de la siguiente manera:
{
"Version": "1",
"Statement": [{
"Action": [
"ecs:DescribeInstanceAttribute",
"ecs:DescribeInstanceTypesNew",
"ecs:DescribeInstances"
],
"Resource": [
"*"
],
"Effect": "Allow"
},
{
"Action": [
"log:GetProject",
"log:GetLogStore",
"log:GetConfig",
"log:GetMachineGroup",
"log:GetAppliedMachineGroups",
"log:GetAppliedConfigs",
"log:GetIndex",
"log:GetSavedSearch",
"log:GetDashboard",
"log:GetJob"
],
"Resource": [
"*"
],
"Effect": "Allow"
},
{
"Action": [
"cr:GetAuthorizationToken",
"cr:ListInstanceEndpoint",
"cr:PullRepository"
],
"Resource": [
"*"
],
"Effect": "Allow"
}
]
}