Partilhar via


Visão geral das permissões e atribuições de função do Azure Container Registry Entra

O Azure Container Registry (ACR) oferece um conjunto de funções internas que fornecem gerenciamento de permissões baseado no Microsoft Entra, para um registro ACR. Usando o RBAC (controle de acesso baseado em função) do Azure, você pode atribuir uma função interna a usuários, identidades gerenciadas ou entidades de serviço para conceder permissões baseadas no Microsoft Entra, definidas na função. Você também pode definir e atribuir funções personalizadas com permissões refinadas adaptadas às suas necessidades específicas se as funções internas não atenderem às suas necessidades.

Tipos de identidade de atribuição de função suportados

As funções ACR podem ser atribuídas aos seguintes tipos de identidade para conceder permissões a um Registro:

Observe que o Registro conectado do ACR, a oferta de registro local do ACR que difere do ACR baseado em nuvem, não oferece suporte a atribuições de função do Azure e gerenciamento de permissões baseado em Entra.

Executando atribuições de função para conceder permissões

Consulte Etapas para adicionar uma atribuição de função para obter informações sobre como atribuir uma função a uma identidade. As atribuições de função podem ser feitas usando:

Para executar atribuições de função, deves ter a Owner função ou Role Based Access Control Administrator função no registo.

Escopo de atribuições de função para repositórios específicos

Você pode usar o controle de acesso baseado em atributos (ABAC) do Microsoft Entra para gerenciar permissões de repositório baseadas no Microsoft Entra. Esse recurso permite que você defina o escopo de atribuições de função para repositórios específicos em um registro.

Para obter uma visão geral das permissões do repositório Microsoft Entra ABAC, incluindo as funções internas do ACR que suportam as condições do Microsoft Entra ABAC, consulte Permissões de repositório baseadas no Microsoft Entra. Como alternativa, você pode consultar a referência do diretório de funções do Registro de Contêiner do Azure para obter uma lista de funções internas que oferecem suporte às condições do Microsoft Entra ABAC.

Aplique o princípio do menor privilégio atribuindo apenas as permissões necessárias para que uma identidade execute a função pretendida. Cada um desses cenários comuns tem uma função interna recomendada.

Observação

As funções internas aplicáveis e o comportamento da função dependem do "Modo de permissões de atribuição de função" do Registro. Isso é visível na folha "Propriedades" no portal do Azure:

  • RBAC Registry + ABAC Repository Permissions: Suporta atribuições de funções padrão do RBAC com condições opcionais do Microsoft Entra ABAC para restringir o escopo das atribuições a repositórios específicos.
  • Permissões de Registro RBAC: Suporta apenas atribuições RBAC padrão sem condições ABAC.

Para obter detalhes sobre o Microsoft Entra ABAC e as funções habilitadas para ABAC, consulte Permissões de repositório baseadas no Microsoft Entra.

  • Cenário: identidades que precisam extrair imagens e validar artefatos da cadeia de suprimentos, como desenvolvedores, pipelines e orquestradores de contêineres (por exemplo, identidade kubelet do nó do Serviço Kubernetes do Azure, Aplicativos de Contêiner do Azure, Instâncias de Contêiner do Azure, espaços de trabalho do Azure Machine Learning)

    • Função: Container Registry Repository Reader
    • Finalidade: Concede acesso somente leitura ao plano de dados para extrair imagens e artefatos, exibir tags, repositórios, referenciadores da Open Container Initiative (OCI) e configurações de streaming de artefatos. Não inclui nenhum plano de controle ou permissões de gravação. Não concede permissões de listagem de catálogos de repositórios para listar quaisquer repositórios no registo.
    • Suporte a ABAC: esta função suporta condições opcionais do Microsoft Entra ABAC para definir o escopo de atribuições de função para repositórios específicos no Registro.
  • Cenário: identidades como pipelines de compilação CI/CD e desenvolvedores que criam e enviam imagens, bem como gerem etiquetas de imagem

    • Função: Container Registry Repository Writer
    • Permissões: concede acesso ao plano de dados para enviar, extrair e atualizar (mas não excluir) imagens e artefatos, ler/gerenciar tags, ler/gerenciar referências OCI e habilitar (mas não desabilitar) o streaming de artefatos para repositórios e imagens. Não inclui permissões de plano de gestão. Não concede permissões de listagem de catálogos de repositórios para listar quaisquer repositórios no registo.
    • Suporte a ABAC: esta função suporta condições opcionais do Microsoft Entra ABAC para definir o escopo de atribuições de função para repositórios específicos no Registro.
  • Cenário: identidades que precisam excluir imagens, artefatos, tags e referências OCI

    • Função: Container Registry Repository Contributor
    • Permissões: Concede permissões para ler, escrever, atualizar e excluir imagens e artefatos, ler/gerenciar/excluir tags, ler/gerenciar/excluir referências OCI e habilitar/desabilitar o streaming de artefatos para repositórios e imagens. Não inclui permissões de plano de gestão. Não concede permissões de listagem de catálogos de repositórios para listar quaisquer repositórios no registo.
    • Suporte a ABAC: esta função suporta condições opcionais do Microsoft Entra ABAC para definir o escopo de atribuições de função para repositórios específicos no Registro.
  • Cenário: Identidades que precisam listar todos os repositórios no registo

    • Função: Container Registry Repository Catalog Lister
    • Permissões: Concede acesso ao plano de dados para listar todos os repositórios no registro, inclusive através dos pontos de extremidade da API do {loginServerURL}/acr/v1/_catalog ou {loginServerURL}/v2/_catalog registro. Não inclui permissões de plano de controle ou permissões para push/pull imagens.
    • Suporte ABAC: esta função não suporta as condições do Microsoft Entra ABAC. Como tal, essa atribuição de função concederá permissões para listar todos os repositórios no Registro.
  • Cenário: Pipelines, identidades e desenvolvedores que assinam imagens

    • Para assinar imagens com referenciadores OCI, como Notary Project:
      • Função: Container Registry Repository Writer
      • Permissões: Concede acesso ao plano de dados a assinaturas push na forma de referências OCI anexadas a imagens e artefatos. Não inclui permissões de plano de gestão.
      • Suporte a ABAC: esta função suporta condições opcionais do Microsoft Entra ABAC para definir o escopo de atribuições de função para repositórios específicos no Registro.
    • Para assinar imagens com Docker Content Trust (DCT):
      • Não há suporte para a assinatura de imagens com DCT para registos habilitados para ABAC.
  • Cenário: pipelines, identidades e desenvolvedores que precisam criar, atualizar ou eliminar registos ACR

  • Cenário: Pipelines, engenheiros de infraestrutura ou ferramentas de observabilidade/monitorização do plano de controlo que precisam listar registos e exibir configurações de registo, mas não aceder a imagens de registo

    • Função: Container Registry Configuration Reader and Data Access Configuration Reader
    • Permissões: Contrapartida somente leitura da Container Registry Contributor and Data Access Configuration Administrator função. Concede acesso ao plano de controle para exibir e listar registros e inspecionar configurações do Registro, mas não modificá-los. Não inclui operações de plano de operações de dados (por exemplo, envio/recepção de imagem) ou funcionalidades de atribuição de função.
    • Suporte ABAC: Esta função não suporta as condições do ABAC do Microsoft Entra, pois a função tem o escopo definido para o nível do registo, concedendo permissões para ler as definições e configurações do plano de controlo para todo o registo.
  • Cenário: Verificadores de vulnerabilidades e ferramentas que precisam auditar registos e configurações de registos, bem como aceder a imagens de registos para escaneá-las quanto a vulnerabilidades

    • Funções: Container Registry Repository Reader, Container Registry Repository Catalog Lister, e Container Registry Configuration Reader and Data Access Configuration Reader
    • Permissões: Concede acesso ao plano de controle para visualizar e listar registos ACR, assim como para verificar as configurações de registo para auditoria e conformidade. Também concede permissões para extrair imagens, artefatos e exibir tags para verificar e analisar imagens em busca de vulnerabilidades.
    • Suporte ABAC: O ACR recomenda que os scanners e monitores de vulnerabilidades tenham acesso total à camada de dados de todos os repositórios no registo. Como tal, essas funções devem ser atribuídas sem condições do Microsoft Entra ABAC para conceder permissões de função sem delimitá-las a repositórios específicos.
  • Cenário: Pipelines e identidades que orquestram tarefas ACR

  • Cenário: identidades como pipelines e desenvolvedores que importam imagens com az acr import

    • Função: Container Registry Data Importer and Data Reader
    • Permissões: Concede acesso ao plano de controlo para acionar importações de imagens usando az acr import, e acesso ao plano de dados para validar o sucesso da importação (extrair imagens e artefatos importados, exibir o conteúdo do repositório, listar os referenciais OCI e inspecionar as tags importadas). Não permite enviar ou modificar qualquer conteúdo no registo.
    • Suporte ABAC: Esta função não suporta condições do Microsoft Entra ABAC, pois a função tem o escopo definido para o nível de registo, concedendo permissões para importar imagens para qualquer repositório no registo. Ele também concede permissões para ler imagens em todos os repositórios no registro.
  • Cenário: identidades como pipelines e desenvolvedores que gerenciam pipelines de transferência ACR para transferir artefatos entre registros usando contas de armazenamento intermediárias entre limites de rede, locatário ou espaço aéreo

    • Função: Container Registry Transfer Pipeline Contributor
    • Permissões: Concede acesso ao plano de controle para gerenciar pipelines de transferência de importação/exportação ACR e execuções de pipeline usando contas de armazenamento intermediário. Não inclui permissões de plano de dados, acesso mais amplo ao Registro ou permissões para gerenciar outros tipos de recursos do Azure, como contas de armazenamento ou cofres de chaves.
    • Suporte ABAC: Esta função não suporta condições do Microsoft Entra ABAC, pois a função tem o escopo definido para o nível do Registro, concedendo permissões para gerenciar todos os pipelines de transferência ACR no Registro.
  • Cenário: Gestão de imagens em quarentena

    • Funções: AcrQuarantineReader e AcrQuarantineWriter
    • Permissões: gerencie imagens em quarentena no Registro, incluindo listar e extrair imagens em quarentena para inspeção adicional e modificar o status de quarentena das imagens. As imagens em quarentena são imagens enviadas que não podem ser extraídas ou utilizadas até serem removidas da quarentena.
    • Suporte ABAC: Esta função não suporta condições do Microsoft Entra ABAC, uma vez que a função tem o escopo definido para o nível do Registro, concedendo permissões para gerenciar todas as imagens em quarentena no Registro.
  • Cenário: Desenvolvedores ou processos que configuram a limpeza automática do registro em tarefas ACR

    • Função: Container Registry Tasks Contributor
    • Permissões: concede permissões ao plano de controle para gerenciar a limpeza automática, que é executada em tarefas ACR.
    • Suporte ABAC: Esta função não suporta condições do Microsoft Entra ABAC, uma vez que a função tem o escopo definido para o nível do Registro, concedendo permissões para gerenciar todas as Tarefas ACR no Registro.
  • Cenário: Usuários da extensão do Visual Studio Code Docker

    • Funções: Container Registry Repository Writer, Container Registry Tasks Contributor, e Container Registry Contributor and Data Access Configuration Administrator
    • Permissões: Concede capacidades para procurar registos, buscar e subir imagens, e criar imagens usando o az acr build, suportando fluxos de trabalho comuns de desenvolvedores no Visual Studio Code.
    • Suporte ABAC: O ACR recomenda que os utilizadores do Visual Studio Code tenham acesso total ao plano de dados a todos os repositórios no registo. Como tal, essas funções devem ser atribuídas sem condições do Microsoft Entra ABAC para conceder permissões de função sem delimitá-las a repositórios específicos.

Próximos passos