Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Create and authorize users in ACK One GitOps

Última atualização: Jun 27, 2026

Crie usuários locais ou do RAM e configure o RBAC do Argo CD para controle de acesso no nível da aplicação.

Tipos de usuário

O ACK One GitOps permite a colaboração em equipe com múltiplos usuários. Administradores podem criar ou excluir usuários e configurar permissões RBAC e de aplicação do Argo CD individualmente. O sistema aceita os dois tipos de usuário a seguir:

Tipo de usuário

Descrição

Mais indicado para

Usuário local

Criado no Argo CD. Permite login pela UI e geração de chave de API.

Equipes pequenas ou pipelines de CI/CD automatizados que não exigem SSO, histórico de login ou acesso baseado em grupos

Usuário RAM ou função RAM

Identidade do Alibaba Cloud. Usuários RAM fazem login via SSO, sem necessidade de credenciais separadas.

Equipes que usam o RAM para gerenciamento de identidade ou exigem acesso baseado em grupos, histórico de login ou permissões refinadas

Crie um usuário local

Pré-requisitos

Verifique se os seguintes requisitos foram atendidos:

Adicionar um usuário local

  1. Edite o ConfigMap argocd-cm.

    kubectl edit cm argocd-cm -n argocd
  2. Adicione o usuário local no campo data. Este exemplo adiciona um usuário chamado localuser1.

    data:
      accounts.localuser1: login,apiKey    # Grants UI login and API key generation
      accounts.localuser1.enabled: "true"  # Enables the user

    Cada conta oferece duas capacidades:

    • login — faz login na UI e na CLI do Argo CD

    • apiKey — gera tokens de autenticação para acesso à API

  3. Verifique se o usuário foi criado.

    argocd account list

    Saída esperada:

    NAME        ENABLED  CAPABILITIES
    admin       true     login
    localuser1  true     login,apiKey
  4. Defina uma senha e gere um token.

    # Set a password
    argocd account update-password \
      --account localuser1 \
      --current-password <admin-password> \
      --new-password <localuser1-password>
    
    # Generate an API key token
    argocd account generate-token --account localuser1
    eyJhb......

Configure permissões RBAC do Argo CD

O RBAC do Argo CD controla o acesso de usuários e grupos aos recursos. As políticas são definidas no ConfigMap argocd-rbac-cm.

Funções predefinidas

Para conceder permissões, atribua-as primeiro a uma função e depois mapeie um grupo SSO ou usuário local para essa função. O sistema aceita funções personalizadas e disponibiliza as seguintes funções integradas:

Função

Permissões

role:readonly

Acesso somente leitura (get) a todos os recursos do Argo CD

role:admin

Acesso total a todos os recursos do Argo CD

Também é possível criar funções personalizadas com permissões refinadas.

Sintaxe da política

Todas as políticas são definidas no campo .data.policy.csv do argocd-rbac-cm.

Atribuir uma permissão (regra p):

p, <role/user/group>, <resource>, <action>, <object>

Para recursos dentro de um projeto:

p, <role/user/group>, <resource>, <action>, <appproject>/<object>

Onde:

  • <role/user/group> — nome da função, nome de usuário local ou grupo/UID do SSO

  • <resource> — tipo de recurso do Argo CD

  • <action> — operação a ser permitida

  • <object> — instância específica do recurso ou * para todos

Mapear um usuário ou grupo para uma função (regra g):

g, <user/group>, <role>

Recursos e ações compatíveis

O Argo CD é compatível com os seguintes recursos: clusters, projects, applications, applicationsets, repositories, certificates, accounts, gpgkeys, logs, exec e extensions.

As seguintes ações são compatíveis: get, create, update, delete, sync, override e action/<api-group>/<Kind>/<action-name>.

sync , override e action/<api-group>/<Kind>/<action-name> são válidos apenas para o recurso applications .

Conceder permissões a um usuário local

  1. Edite o ConfigMap argocd-rbac-cm.

    kubectl edit cm argocd-rbac-cm -n argocd
  2. Adicione uma regra g para mapear o usuário local a uma função. Este exemplo mapeia localuser1 para role:admin.

    • Mapeie localuser1 para role:admin para obter acesso total a todos os recursos do Argo CD.

    • Mapeie localuser1 para a função personalizada project-admin (comentada) para acesso restrito ao projeto.

    Importante

    Não modifique outras configurações existentes no ConfigMap.

    data:
      policy.csv: |
    ##  p, role:project-admin, applications, *, */*, allow
    ##  p, role:project-admin, projects, *, *, allow
    
          g, "14***01", role:admin          # Keep the current setting.
          g, localuser1, role:admin         # Map localuser1 to role:admin.
    ##    g, localuser1, role:project-admin # Alternative: map to a custom role.
        scopes: '[uid]'                     # Keep the current setting.

    Este exemplo abrange dois cenários:

Conceder permissões a usuários RAM ou funções RAM

Por padrão, o ACK One GitOps integra a UI e a CLI do Argo CD à autenticação SSO do Alibaba Cloud RAM. Após fazer login no console do Alibaba Cloud, acesse a UI ou a CLI do Argo CD via SSO sem precisar inserir credenciais novamente. Os administradores da instância Fleet recebem automaticamente permissões de administrador do Argo CD. Usuários RAM comuns precisam receber permissões do administrador da frota.

Para um usuário RAM comum, conceda ambos os itens a seguir:

  1. Permissões RBAC do Argo CD no argocd-rbac-cm

  2. Permissões no nível da aplicação por meio de projetos do Argo CD

Conceder permissões RBAC do Argo CD

  1. Edite o ConfigMap argocd-rbac-cm.

    kubectl edit cm argocd-rbac-cm -n argocd
  2. Adicione uma regra g para mapear o UID do usuário RAM a uma função. Este exemplo concede a função role:admin ao usuário 27***02.

    data:
      policy.csv: |
    ##  p, role:project-admin, applications, *, */*, allow
    ##  p, role:project-admin, projects, *, *, allow
    
          g, "14***01", role:admin          # Keep the current setting.
          g, "27***02", role:admin          # Grant role:admin to RAM user 27***02.
    ##    g, "27***02", role:project-admin  # Alternative: map to a custom role.
        scopes: '[uid]'                     # Keep the current setting.

Conceder permissões de aplicação do Argo CD

Cada aplicação pertence a um projeto. Use projetos para atribuir permissões de aplicação a diferentes usuários ou funções RAM.

Os projetos aceitam os seguintes controles de acesso:

  • Limite de repositório Git — restringe os repositórios Git permitidos para implantação

  • Limite de cluster e namespace — restringe os clusters e namespaces de destino para implantação

  • Limite de tipo de objeto — restringe os tipos de recursos Kubernetes implantáveis (por exemplo, RBAC, CRDs, DaemonSets e NetworkPolicies)

  • RBAC no nível da aplicação — concede permissões por aplicação a usuários ou funções RAM vinculando funções do projeto a grupos OpenID Connect (OIDC) e JSON Web Tokens (JWTs)

Para conceder permissões de aplicação a um usuário RAM:

  1. Use a conta raiz do RAM ou uma conta de administrador de permissões para fazer login no console do RAM. Clique em Users ou Roles, abra o usuário ou função de destino e copie o UID ou Role ID.

  2. Faça login no console do ACK One. Escolha Fleet > Multi-cluster GitOps e clique em GitOps Console.

  3. Acesse Settings > Projects. Clique em + NEW PROJECT ou abra um projeto existente.

  4. Clique em + ADD ROLE, configure os itens a seguir e clique em CREATE.

    • GENERAL — configurações básicas da função

    • POLICY RULES — configure as permissões da aplicação

    • GROUPS — insira o UID ou Role ID copiado na etapa 1 e clique em ADD GROUP

Este exemplo cria uma função roletest que concede ao usuário 27***02 acesso somente leitura (get) a todas as aplicações no projeto test. Após criar a função, clique em LOG IN VIA ALIYUN SSO para fazer login e verificar as permissões.

image