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.
Este artigo descreve como configurar a autenticação para as Azure Container Apps para que a sua aplicação faça login com os utilizadores usando a Microsoft Identity Platform como fornecedora de autenticação.
A autenticação de Aplicações Container pode criar automaticamente um registo de aplicação com a Microsoft Identity Platform. Você também pode usar um registro que você ou um administrador de diretório cria separadamente.
Opção 1: Criar um novo registro de aplicativo automaticamente
Esta opção foi concebida para simplificar a ativação da autenticação e requer apenas alguns passos.
Entre no portal do Azure e vá para seu aplicativo.
Selecione Autenticação de Segurança> no painel esquerdo. Selecione Adicionar provedor de identidade.
Selecione a Microsoft na lista de fornecedores de identidade. A opção para criar um novo registo é selecionada por predefinição. Pode alterar o nome do registo ou os tipos de conta suportados.
Um segredo do cliente é criado e armazenado como um segredo no aplicativo de contêiner.
Na lista de expiração secreta do cliente, selecione uma data de validade.
Se estiver a configurar o primeiro fornecedor de identidade para esta aplicação, verá uma secção de definições de autenticação da Container App . Caso contrário, passe para a próxima etapa.
Estas opções determinam como a sua candidatura responde a pedidos não autenticados. As seleções padrão redirecionam todas as solicitações para entrar com esse novo provedor. Pode personalizar este comportamento agora ou ajustar estas definições mais tarde no painel principal de Autenticação , selecionando Editar ao lado de Definições de Autenticação. Para saber mais sobre essas opções, consulte Fluxo de autenticação.
(Opcional) Selecione Avançar: Permissões e adicione os escopos necessários para o aplicativo. Os escopos são adicionados ao registro do aplicativo, mas você também pode alterá-los mais tarde.
Selecione Adicionar.
Agora você está pronto para usar a plataforma de identidade da Microsoft para autenticação em seu aplicativo. O fornecedor está listado no painel de Autenticação . A partir daí, você pode editar ou excluir essa configuração do provedor.
Opção 2: Usar um registro existente criado separadamente
Você também pode registrar manualmente seu aplicativo para a plataforma de identidade da Microsoft, personalizar o registro e configurar a Autenticação de Aplicativos de Contêiner com os detalhes de registro. Esta abordagem é útil quando queres usar um registo de aplicação a partir de um inquilino Microsoft Entra que não seja aquele onde a tua aplicação está definida.
Criar um registro de aplicativo no Microsoft Entra ID para seu aplicativo de contêiner
Primeiro, você cria seu registro de aplicativo. Ao fazer isso, colete as seguintes informações de que precisará mais tarde ao configurar a autenticação no aplicativo de contêiner:
- ID de Cliente
- ID de Inquilino
- Segredo do cliente (opcional)
- URI da ID do aplicativo
Para registrar o aplicativo, execute as seguintes etapas:
Inicie sessão no portal do Azure.
Procure e selecione Aplicativos de contêiner e, em seguida, selecione seu aplicativo. No painel de Visão Geral, anote o URL da Aplicação da sua aplicação. Você o usa para configurar o registro do aplicativo Microsoft Entra.
Selecione Início para voltar à página inicial do portal. Procure e selecione Microsoft Entra ID.
No painel de Visão Geral , selecione Adicionar e depois selecione Registo de Aplicações.
No painel Registar uma candidatura , insira um Nome para o registo da sua candidatura.
Na secção de URI de Redirecionamento , selecione Web e depois introduza o seguinte. Substitua
\<APP_URL\>pelo URL da aplicação que mencionou anteriormente.<APP_URL>/.auth/login/aad/callbackPor exemplo:
https://<CONTAINER_APP_NAME>.<ENVIRONMENT_UNIQUE_ID>.<REGION_NAME>.azurecontainerapps.io/.auth/login/aad/callbackSelecione Registar.
Em Gerir no painel esquerdo, selecione Autenticação (Pré-visualização).
No separador Definições , selecione ID tokens (usados para fluxos implícitos e híbridos) para permitir o login do utilizador OpenID Connect a partir das Aplicações Container. Selecione Guardar.
Vai para o novo registro de aplicação.
- No painel de Visão Geral , copie o ID da Aplicação (cliente) e o ID do Diretório (inquilino) para mais tarde.
- (Opcional) Se ainda não adicionou o URI de redirecionamento ao registo da aplicação, pode fazê-lo agora.
Em Gerir no painel esquerdo, selecione Autenticação (Pré-visualização).
No painel de Autenticação (Pré-visualização), selecione Adicionar URI de Redirecionamento.
No painel Selecionar uma plataforma para adicionar URI de redirecionamento, selecione Web.
No painel Adicionar URI de Redirecionamento , na caixa de URI de Redirecionamento , introduza o seguinte. Substitua
\<APP_URL\>pelo URL da aplicação que mencionou anteriormente.<APP_URL>/.auth/login/aad/callbackPor exemplo:
https://<CONTAINER_APP_NAME>.<HOSTNAME>.<LOCATION>.azurecontainerapps.io/.auth/login/aad/callbackSelecione Configurar.
- (Opcional) Em Gerir no painel esquerdo, selecione Marca e propriedades. Na caixa URL da página inicial , introduza o URL da sua aplicação de contentores e depois selecione Guardar.
- Em Gerir no painel esquerdo, selecione Expor uma API.
Selecione Adicionar ao lado de URI de ID do aplicativo.
O URI do ID da aplicação identifica de forma única a sua aplicação quando é usada como recurso. Permite que os tokens solicitados concedam acesso. O valor também é usado como um prefixo para escopos que você cria.
Para um aplicativo de locatário único, você pode usar o valor padrão, que está no formato
api://<APPLICATION_CLIENT_ID>. Também pode especificar um URI mais legível, comohttps://contoso.com/api, com base num dos domínios verificados para o seu inquilino. Para uma aplicação multilocatária, deves fornecer um URI personalizado. Para saber mais sobre formatos aceites para URIs de ID de app, consulte Melhores práticas de segurança para propriedades de aplicação no Microsoft Entra ID.O valor é salvo automaticamente.
Selecione Adicionar âmbito.
No painel Adicionar um âmbito , o URI do ID da aplicação é o valor que definiste numa etapa anterior.
Selecione Guardar e continuar.
Na caixa do nome do escopo, introduza user_impersonation.
Introduza o nome de exibição do consentimento do Administrador e a descrição do consentimento do Administrador que quer que os administradores vejam na página de consentimento. Um exemplo de nome de exibição de consentimento é Acesso <nome-da-aplicação>.
Selecione Adicionar escopo.
- Em Gerenciar no painel esquerdo, selecione Certificados & segredos.
- No painel de Certificados e segredos , selecione Segredos do Cliente.
- Selecione Novo segredo do cliente.
- Introduza uma Descrição e, em Expira, selecione uma data de validade.
- Selecione Adicionar.
- Copie o valor do segredo do cliente mostrado na página. O site não te mostrará novamente.
Habilite o Microsoft Entra ID em seu aplicativo de contêiner
Entre no portal do Azure e vá para seu aplicativo.
No painel esquerdo, em Segurança, selecione Autenticação. Selecione Adicionar provedor.
Selecione a Microsoft na lista de fornecedores de identidade.
Para o tipo de registo da aplicação, pode selecionar Escolher um registo de aplicação existente neste diretório, que recolhe automaticamente a informação necessária da aplicação. Se o seu registo for de outro inquilino ou se não tiver permissão para ver o objeto de registo, selecione Fornecer os detalhes de um registo de aplicação existente. Para esta opção, precisa de fornecer os seguintes detalhes de configuração:
Aviso
Sempre que possível, evite usar o fluxo de concessão implícito. Na maioria dos cenários, alternativas mais seguras estão disponíveis e são recomendadas. Certas configurações deste fluxo exigem um elevado grau de confiança na aplicação e acarretam riscos que não existem noutros fluxos. Você só deve usar esse fluxo quando outros fluxos mais seguros não forem viáveis. Para obter mais informações, consulte as questões de segurança do fluxo de concessão implícita.
Configuração Descrição ID do aplicativo (cliente) Use o ID da aplicação (cliente) do registo da aplicação. Segredo do cliente Use o segredo do cliente que você gerou no registro do aplicativo. Os segredos do cliente usam fluxo híbrido, e a aplicação devolve tokens de acesso e atualização. Quando o secret do cliente não está definido, é usado o fluxo implícito e apenas um token ID é devolvido. O fornecedor envia os tokens, que são armazenados na loja de tokens EasyAuth. URL do emissor Utilize <AUTHENTICATION-ENDPOINT>/<TENANT-ID>/v2.0. Substitua <AUTHENTICATION-ENDPOINT> pelo endpoint de autenticação para o seu ambiente cloud (por exemplo, "https://login.microsoftonline.com" para Azure global). Substitua <o TENANT-ID> pelo ID do Diretório (inquilino) onde o registo da aplicação foi criado. Este valor é usado para redirecionar os utilizadores para o inquilino correto do Microsoft Entra e para descarregar os metadados que determinam as chaves de assinatura do token apropriadas e o valor da reivindicação do emissor do token, por exemplo. Para aplicações que utilizam o Azure Active Directory v1, omita/v2.0da URL.Públicos de tokens permitidos O ID do aplicativo (cliente) configurado é sempre implicitamente considerado um público permitido. Se esse valor se referir a um aplicativo de nuvem ou servidor e você quiser aceitar tokens de autenticação de um aplicativo de contêiner cliente (o token de autenticação pode ser recuperado no X-MS-TOKEN-AAD-ID-TOKENcabeçalho), adicione a ID do aplicativo cliente aqui.O segredo do cliente é armazenado como um segredo na tua aplicação container.
Se este for o primeiro fornecedor de identidade configurado para a aplicação, verá uma secção Definições de Autenticação de Aplicações Container. Caso contrário, passe para a próxima etapa.
Estas opções determinam como a sua candidatura responde a pedidos não autenticados. As seleções padrão redirecionam todos os pedidos para iniciar sessão com este novo fornecedor. Pode alterar este comportamento agora ou ajustar estas definições mais tarde no painel principal de Autenticação , selecionando Editar ao lado de Definições de Autenticação. Para saber mais sobre essas opções, consulte Fluxo de autenticação.
Selecione Adicionar.
Agora você está pronto para usar a plataforma de identidade da Microsoft para autenticação em seu aplicativo. O fornecedor está listado no painel de Autenticação . A partir daí, você pode editar ou excluir essa configuração do provedor.
Configurar aplicativos cliente para acessar seu aplicativo de contêiner
Na secção anterior, registou a sua aplicação de contentores para autenticar utilizadores. Nesta seção, você registra aplicativos nativos do cliente ou daemon. Em seguida, eles podem solicitar acesso às APIs expostas pelo seu aplicativo de contêiner em nome dos usuários ou deles mesmos. Não precisa de completar os passos desta secção se quiser apenas autenticar utilizadores.
Aplicativo cliente nativo
Pode registar clientes nativos para solicitar acesso às APIs da sua aplicação container em nome de um utilizador com sessão iniciada.
No portal do Azure, procure e selecione Microsoft Entra ID.
No painel de Visão Geral , selecione Adicionar>registo de Aplicação.
No painel Registar uma candidatura , insira um Nome para o registo da sua candidatura.
Em Redirection URI, selecione Cliente Público (móvel & desktop) e escreva o URL
<app-url>/.auth/login/aad/callback. Por exemplo,https://<hostname>.azurecontainerapps.io/.auth/login/aad/callback.Nota
Para uma aplicação da Microsoft Store, use o SID do pacote como o URI.
Selecione Registar.
Depois de criado o registo da app, copie o valor do ID da aplicação (cliente).
Em Gerenciar no painel esquerdo, selecione Permissões de API. Selecione Adicionar uma permissão>As Minhas APIs.
Selecione o registro do aplicativo que você criou anteriormente para seu aplicativo de contêiner. Se não vir o registo da aplicação, certifique-se de que adicionou o âmbito user_impersonation em Criar um registo de aplicação no Microsoft Entra ID para a aplicação de contentor.
Em Permissões delegadas, selecione user_impersonation e, em seguida, selecione Adicionar permissões.
Aplicativo cliente Daemon (chamadas serviço-a-serviço)
Seu aplicativo pode adquirir um token para chamar uma API Web hospedada em seu aplicativo de contêiner em nome de si mesmo (não em nome de um usuário). Este cenário é útil para aplicativos daemon não interativos que executam tarefas sem um usuário conectado. Ele usa a concessão padrão de credenciais de cliente OAuth 2.0.
- No portal do Azure, procure e selecione Microsoft Entra ID.
- No painel de Visão Geral, selecione Adicionar>registo de Aplicação.
- No painel Registar uma aplicação , introduza um Nome para o registo da sua aplicação daemon.
- Para uma aplicação de daemon, não precisas de um URI de Redirecionamento, por isso podes deixar esse campo vazio.
- Selecione Registar.
- Depois de criado o registo da aplicação, copie o valor do ID da Aplicação (cliente).
- No painel esquerdo, em Gerir, selecione Certificados & Segredos.
- No painel de Certificados & segredos , selecione Novo segredo do cliente.
- Selecione Adicionar no painel Adicionar um segredo de cliente. Copie o valor do segredo do cliente mostrado na página. Não é mostrado novamente.
Agora pode solicitar um token de acesso usando o ID do cliente e o client secret ao configurar o parâmetro resource para o URI do ID da aplicação da aplicação alvo. Pode então apresentar o token de acesso resultante à aplicação de destino usando o cabeçalho padrão OAuth 2.0 Authorization. A autenticação/autorização das Aplicações Container valida e utiliza o token como habitual para indicar que o chamador (neste caso, uma aplicação, não um utilizador) está autenticado.
Esse processo permite que qualquer aplicativo cliente em seu locatário do Microsoft Entra solicite um token de acesso e se autentique no aplicativo de destino. Se você também quiser impor a autorização para permitir apenas determinados aplicativos cliente, deverá ajustar a configuração.
- Defina um papel de aplicação no manifesto do registo da aplicação que represente a aplicação contentor que pretende proteger.
- No registo da aplicação que representa o cliente que precisa de ser autorizado, selecione permissões API Adicionar>uma permissão.
- No painel de permissões Solicitar APIs, selecione Minhas APIs.
- Selecione o registro do aplicativo que você criou anteriormente. Se não vê o registo da aplicação, certifica-te de que adicionas uma função de aplicação.
- Em permissões de aplicação, selecione o papel de aplicação que criou anteriormente e depois selecione Adicionar permissões.
- Certifique-se de selecionar Conceder consentimento de administrador para autorizar a candidatura do cliente a pedir permissão.
- Tal como no cenário anterior (antes de quaisquer papéis serem adicionados), agora podes pedir um token de acesso para o mesmo alvo
resource. O token de acesso inclui umarolesreivindicação contendo as funções da aplicação autorizadas à aplicação cliente. - No código de Aplicações Container de destino, valide que as funções esperadas estão agora presentes no token. A camada de autenticação Container Apps não executa os passos de validação. Para obter mais informações, consulte Acessar declarações de usuário.
Trabalhando com usuários autenticados
Consulte os seguintes recursos para detalhes sobre como trabalhar com utilizadores autenticados.