Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Em alguns casos, você pode ter seu cluster do Azure AKS em um locatário do Microsoft Entra e seu registro de contêiner do Azure em um locatário diferente. Este artigo percorre as etapas para habilitar a autenticação entre locatários usando a credencial principal de serviço AKS para extrair do registro de contêiner.
Nota
Não é possível anexar o registro e autenticar usando uma identidade gerenciada pelo AKS quando o cluster e o registro de contêiner estão em locatários diferentes.
Descrição geral do cenário
Pressupostos para este exemplo:
- O cluster AKS está no Locatário A e o registro de contêiner do Azure está no Locatário B.
- O cluster AKS é configurado com autenticação de entidade de serviço no Locatário A. Para obter mais informações, consulte Criar e usar uma entidade de serviço para seu cluster AKS.
Você precisa pelo menos da função de Colaborador na assinatura do cluster AKS. Você também precisará de pelo menos as funções de Administrador de Controle de Acesso Baseado em Função e Colaborador do Registro de Contêiner e Administrador de Configuração de Acesso a Dados na assinatura do Registro de contêiner.
Use as seguintes etapas para:
- Crie uma nova aplicação multilocatária (entidade de serviço) no Locatário A.
- Provisione o aplicativo no Locatário B.
- Configure a entidade de serviço para extrair do registro no Locatário B.
- Atualize o cluster AKS no Locatário A para autenticar usando a nova entidade de serviço.
Instruções passo a passo
Etapa 1: Criar aplicativo Microsoft Entra multilocatário
Inicie sessão no portal do Azure no Inquilino A.
Procure e selecione Microsoft Entra ID.
Em Gerir, selecione Registos de > aplicações + Novo registo.
Em Tipos de conta suportados, selecione Contas em qualquer diretório organizacional.
Em URI de Redirecionamento, introduza https://www.microsoft.com.
Selecione Registar.
Na página Visão geral, anote a ID do aplicativo (cliente). Utilize este ID no Passo 2 e no Passo 4.
Em Certificados & segredos, em Segredos do cliente, selecione + Novo segredo do cliente.
Insira uma Descrição, como Senha, e selecione Adicionar.
Em Segredos do cliente, anote o valor do segredo do cliente. Você utiliza-o para atualizar o principal de serviço do cluster AKS na Etapa 4.
Etapa 2: Provisionar o service principal do locatário ACR
Abra o link a seguir usando uma conta de administrador no Locatário B. Quando indicado, insira a ID do Locatário B e a ID do aplicativo (ID do cliente) do aplicativo multilocatário.
https://login.microsoftonline.com/<Tenant B ID>/oauth2/authorize?client_id=<Multitenant application ID>&response_type=code&redirect_uri=<redirect url>
Selecione Consentimento em nome da sua organização e, em seguida, Aceitar.
Etapa 3: Conceder permissão ao principal de serviço para extrair do registo
No Locatário B, atribua a função correta ao principal de serviço, limitado ao registo de contêiner de destino. Você deve atribuir Container Registry Repository Reader
(para registos com ABAC habilitado) ou AcrPull
(para registos sem ABAC).
Você pode usar o portal do Azure ou outras ferramentas para atribuir a função. Para obter exemplos de etapas usando a CLI do Azure, consulte Autenticação do Registro de Contêiner do Azure com entidades de serviço.
Etapa 4: Atualizar o AKS com o segredo do aplicativo Microsoft Entra
Use o ID do cliente do aplicativo multilocatário e o segredo do cliente coletados na Etapa 1 para atualizar a credencial da principal entidade de serviço AKS.
A atualização do principal do serviço pode levar vários minutos.
Próximos passos
- Saiba mais sobre a autenticação do Registro de Contêiner do Azure com entidades de serviço.
- Saiba mais sobre segredos para extração de imagens na documentação do Kubernetes.
- Saiba mais sobre os objetos principais de aplicativo e serviço na ID do Microsoft Entra.
- Saiba mais sobre cenários para autenticar no Serviço de Registo de Contentores do Azure de um cluster Kubernetes.