Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Use custom worker RAM Roles for fine-grained Node Pool permissions

Última atualização: Sep 29, 2026

Para aplicar o princípio do menor privilégio, atribua uma função personalizada do Resource Access Management (RAM) a pools de nós específicos em seu cluster ACK. Em vez de compartilhar uma única função padrão entre todos os nós, o que pode gerar excesso de permissões, as funções personalizadas isolam as permissões no nível do pool de nós.

Importante

Atribua uma função RAM de worker personalizada apenas ao criar um cluster ou um novo pool de nós. Não é possível modificar a função RAM de worker de um pool de nós existente.

Pré-requisitos

Antes de começar, certifique-se de atender aos seguintes requisitos:

  • Versão do cluster: um cluster ACK gerenciado que execute o Kubernetes 1.22 ou posterior. Consulte Crie um cluster ACK gerenciado.

  • Permissões do operador: o usuário RAM ou a função RAM usada para criar o pool de nós deve ter a permissão ram:PassRole.

    Nota

    Se o usuário RAM ou a função RAM já tiver a permissão AliyunCSFullAccess, a permissão ram:PassRole não é necessária.

    Exemplos de políticas para ram:PassRole

    Utilize um dos exemplos de política de permissão a seguir. Para obter instruções sobre a criação e a anexação de políticas, consulte Crie uma política personalizada, Gerencie permissões de usuário RAM e Conceda permissões a uma função RAM.

    Autorizar uma função RAM específica

    Substitua <role_arn> pelo ARN da sua função RAM. Para localizar o ARN, consulte Visualize o ARN de uma função RAM

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "ram:PassRole",
          "Resource": [
            "<role_arn>"
          ],
          "Condition": {
            "StringEquals": {
              "acs:Service": [
                "cs.aliyuncs.com"
              ]
            }
          }
        }
      ]
    }

    Autorizar todas as funções RAM (use com cautela)

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "ram:PassRole",
          "Resource": "*",
          "Condition": {
            "StringEquals": {
              "acs:Service": [
                "cs.aliyuncs.com"
              ]
            }
          }
        }
      ]
    }

Etapa 1: Crie uma função RAM personalizada

Crie a função RAM que deseja atribuir ao seu pool de nós. A função RAM deve atender a dois requisitos:

  • Nomenclatura: o nome da função não deve começar com KubernetesMasterRole- ou KubernetesWorkerRole-.

  • Entidade de confiança: o serviço confiável deve ser Cloud Service.

Utilize um dos métodos a seguir para criar a função.

Console

Siga as instruções em Crie uma função de serviço regular.

OpenAPI ou Terraform

Crie a função por meio do OpenAPI ou do Terraform e configure a política de confiança da seguinte forma. Para obter detalhes sobre a edição da política de confiança, consulte Edite a política de confiança de uma função RAM.

{
  "Statement": [
    {
      "Action": "sts:AssumeRole",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "ecs.aliyuncs.com"
        ]
      }
    }
  ],
  "Version": "1"
}

Etapa 2: Atribua a função a um novo pool de nós

Depois de criar a função, anexe-a ao criar um cluster ou um pool de nós.

  1. Faça login no console do ACK.

  2. Acesse a página de criação de cluster ou de pool de nós.

  3. Expanda a seção Advanced Options e defina Worker RAM Role como a função criada em Etapa 1.

Para obter instruções detalhadas, consulte:

Próximos passos

Por padrão, uma função RAM recém-criada não possui permissões. Conceda as permissões exigidas por cada pool de nós e revogue as desnecessárias.

Conceder permissões

Revogar permissões

Revogue assim que possível as permissões que não forem mais necessárias. Consulte Revogar permissões de uma função RAM.