Configurar a autenticação do Microsoft Entra para um cluster do Azure Red Hat OpenShift 4 (Portal)

Se você optar por instalar e usar a CLI localmente, este tutorial exigirá que você esteja executando a CLI do Azure versão 2.6.0 ou posterior. Executar az --version para localizar a versão. Se precisar de instalar ou atualizar, veja Install Azure CLI (Instalar o Azure CLI).

Antes de começar

Construa a URL de retorno de chamada OAuth do cluster e anote-a. Certifique-se de substituir aro-rg pelo nome do grupo de recursos e aro-cluster pelo nome do cluster .

Nota

A AAD seção na URL de retorno de chamada OAuth deve corresponder ao nome do provedor de identidade OAuth que você configurará mais tarde.

domain=$(az aro show -g aro-rg -n aro-cluster --query clusterProfile.domain -o tsv)
location=$(az aro show -g aro-rg -n aro-cluster --query location -o tsv)
echo "OAuth callback URL: https://oauth-openshift.apps.$domain.$location.aroapp.io/oauth2callback/AAD"

Criar um aplicativo Microsoft Entra para autenticação

Inicie sessão no portal do Azure e navegue até à folha Registos de aplicações e, em seguida, clique em Novo registo para criar uma nova aplicação.

Forneça um nome para o aplicativo, por exemplo, aro-azuread-auth, e preencha o URI de redirecionamento usando o valor da URL de retorno de chamada OAuth recuperada anteriormente.

New application registration

Navegue até Certificados & segredos e clique em Novo segredo do cliente e preencha os detalhes. Anote o valor da chave, pois você o usará em um estágio posterior. Você não poderá recuperá-lo novamente.

Create a secret

Navegue até Visão geral e anote a ID do aplicativo (cliente) e a ID do diretório (locatário). Você precisará deles em um estágio posterior.

Retrieve Application (client) and Directory (tenant) IDs

Configurar afirmações opcionais

Os desenvolvedores de aplicativos podem usar declarações opcionais em seus aplicativos Microsoft Entra para especificar quais declarações desejam em tokens enviados para seu aplicativo.

Pode utilizar as afirmações opcionais para:

  • Selecionar afirmações adicionais para incluir nos tokens da aplicação.
  • Altere o comportamento de determinadas declarações que o Microsoft Entra ID retorna em tokens.
  • Adicionar e aceder a afirmações personalizadas da aplicação.

Vamos configurar o OpenShift para usar a declaração e voltar para upn definir o Nome de Usuário Preferencial adicionando o emailupn como parte do token de ID retornado pelo ID do Microsoft Entra.

Navegue até Configuração de token e clique em Adicionar declaração opcional. Selecione ID e, em seguida, verifique o e-mail eas declarações upn.

Screenshot that shows the email and upn claims that were added.

Atribuir usuários e grupos ao cluster (opcional)

Os aplicativos registrados em um locatário do Microsoft Entra estão, por padrão, disponíveis para todos os usuários do locatário que se autenticarem com êxito. O Microsoft Entra ID permite que administradores e desenvolvedores de locatários restrinjam um aplicativo a um conjunto específico de usuários ou grupos de segurança no locatário.

Siga as instruções na documentação do Microsoft Entra para atribuir usuários e grupos ao aplicativo.

Configurar autenticação OpenShift OpenID

Recupere as kubeadmin credenciais. Execute o seguinte comando para localizar a senha do kubeadmin usuário.

az aro list-credentials \
  --name aro-cluster \
  --resource-group aro-rg

O exemplo de saída a seguir mostra que a senha estará em kubeadminPassword.

{
  "kubeadminPassword": "<generated password>",
  "kubeadminUsername": "kubeadmin"
}

Você pode encontrar a URL do console do cluster executando o seguinte comando, que terá a seguinte aparência: https://console-openshift-console.apps.<random>.<region>.aroapp.io/

 az aro show \
    --name aro-cluster \
    --resource-group aro-rg \
    --query "consoleProfile.url" -o tsv

Inicie o URL do console em um navegador e faça login usando as kubeadmin credenciais.

Navegue até Administração, clique em Configurações de Cluster e selecione a guia Configuração . Desloque-se para selecionar OAuth.

Role para baixo até selecionar Adicionar em Provedores de Identidade e selecione OpenID Connect. Select OpenID Connect from the Identity Providers dropdown

Preencha o nome como ID do Microsoft Entra, o ID do Cliente como o ID do Aplicativo e o Segredo do Cliente. O URL do Emissor está formatado como tal: https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/v2.0. Substitua o espaço reservado pelo ID do locatário recuperado anteriormente.

Fill in OAuth details

Role para baixo até a seção Declarações e atualize o Nome de usuário preferencial para usar o valor da declaração upn.

Fill in claims details

Verificar o login através do Microsoft Entra ID

Se agora terminar sessão na Consola Web OpenShift e tentar iniciar sessão novamente, ser-lhe-á apresentada uma nova opção para iniciar sessão com o Microsoft Entra ID. Pode ter de esperar alguns minutos.

Login screen with Microsoft Entra option

Nota

Se você encontrar um erro como "AADSTS50011: O URI de redirecionamento especificado na solicitação não corresponde aos URIs de redirecionamento configurados", você pode seguir o guia de solução de problemas Falha no logon do Azure AD (OIDC) quando o URI https://oauth-openshift.apps.xxxxxxxxxx.xxxxxxx.aroapp.io/oauth2callback/xxxx de redirecionamento não está definido corretamente para resolver o problema.