Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Importante
A partir de 1º de maio de 2025, o Azure AD B2C não estará mais disponível para compra para novos clientes. Saiba mais nas nossas Perguntas Frequentes.
Neste tutorial, saiba como integrar o Azure Ative Directory B2C (Azure AD B2C) com o Strata Maverics Identity Orchestrator, que ajuda a proteger aplicativos locais. Ele se conecta a sistemas de identidade, migra usuários e credenciais, sincroniza políticas e configurações e abstrai autenticação e gerenciamento de sessão. Use o Strata para fazer a transição do legado para o Azure AD B2C, sem reescrever aplicativos.
A solução possui os benefícios seguintes:
-
Autenticação única (SSO) do cliente para aplicações híbridas no local - o Azure AD B2C suporta o SSO do cliente utilizando o Maverics Identity Orchestrator
- Os usuários entram com contas hospedadas no Azure AD B2C ou no provedor de identidade (IdP)
- Maverics prova SSO para aplicativos historicamente protegidos por sistemas de identidade legados como o Symantec SiteMinder
- Expanda padrões de SSO para aplicativos - Use o Azure AD B2C para gerenciar o acesso dos usuários e habilitar o SSO com conectores SAML (Security Assertion Markup Language) ou OIDC (OpenID Connect) do Maverics Identity Orchestrator
- Configuração fácil - Conecte conectores SAML ou OIDC do Maverics Identity Orchestrator ao Azure AD B2C
Pré-requisitos
Para começar, você precisará:
Uma assinatura do Azure
- Se não tiver uma, pode obter uma conta gratuita do Azure
- Um locatário do Azure AD B2C vinculado à sua assinatura do Azure
- Uma instância do Azure Key Vault para armazenar segredos usados pelo Maverics Identity Orchestrator. Conecte-se ao Azure AD B2C ou a outros provedores de atributos, como um diretório ou banco de dados LDAP (Lightweight Directory Access Protocol).
- Uma instância do Maverics Identity Orchestrator em execução em uma máquina virtual (VM) do Azure ou em um servidor local. Para obter software e documentação, vá para strata.io Contact Strata Identity.
- Um aplicativo local para fazer a transição para o Azure AD B2C
Descrição do cenário
A integração do Maverics Identity Orchestrator inclui os seguintes componentes:
-
Azure AD B2C - O servidor de autorização que verifica as credenciais do usuário
- Usuários autenticados acessam aplicativos locais usando uma conta local no diretório do Azure AD B2C
- Provedor de identidade social ou empresarial (IdP) externo: um provedor OIDC, Facebook, Google ou GitHub
- Strata Maverics Identity Orchestrator: o serviço de logon do usuário que passa identidade para aplicativos por meio de cabeçalhos HTTP
O diagrama de arquitetura a seguir mostra a implementação.
- O usuário solicita acesso ao aplicativo hospedado localmente. O Maverics Identity Orchestrator faz o proxy da solicitação para o aplicativo.
- O Orchestrator verifica o estado de autenticação do usuário. Se não houver nenhum token de sessão ou se o token for inválido, o usuário irá para o Azure AD B2C para autenticação
- O Azure AD B2C envia a solicitação de autenticação para o IdP social configurado.
- O IdP desafia o utilizador para fornecer as credenciais. A autenticação multifator (MFA) pode ser necessária.
- O IdP envia a resposta de autenticação para o Azure AD B2C. O usuário pode criar uma conta local no diretório B2C do Azure AD.
- O Azure AD B2C envia a solicitação do usuário para o ponto de extremidade especificado durante o registro do aplicativo Orchestrator no locatário do Azure AD B2C.
- O Orchestrator avalia políticas de acesso e valores de atributos para cabeçalhos HTTP encaminhados para o aplicativo. O Orchestrator pode chamar outros provedores de atributos para recuperar informações e definir os valores de cabeçalho. O Orchestrator envia a solicitação para o aplicativo.
- O usuário é autenticado e tem acesso ao aplicativo.
Maverics Orquestrador de Identidade
Para obter software e documentação, vá para strata.io Contact Strata Identity. Determine os pré-requisitos do Orchestrator. Instale e configure.
Configurar seu locatário do Azure AD B2C
Ao seguir estas instruções, registe:
- Nome e identificador do locatário
- ID do Cliente
- Segredo do cliente
- Declarações configuradas
- Redirecionar URL
- Registre um aplicativo Web no Azure Ative Directory B2C no locatário do Azure AD B2C.
- Conceda permissões à API do Microsoft MS Graph para seus aplicativos. Permissões de uso:
offline_access,openid. - Adicione um URI de redirecionamento que corresponda ao
oauthRedirectURLparâmetro da configuração do conector B2C do Azure AD do Orchestrator, por exemplo,https://example.com/oidc-endpoint. - Crie fluxos de usuário e políticas personalizadas no Azure Ative Directory B2C.
- Adicione um provedor de identidade ao seu locatário B2C do Azure Ative Directory. Inicie sessão com o seu utilizador com uma conta local, de rede social ou empresarial.
- Defina os atributos a serem coletados durante a inscrição.
- Especifique os atributos a serem retornados ao aplicativo com sua instância do Orchestrator.
Observação
O Orchestrator consome atributos de declarações retornadas pelo Azure AD B2C e pode recuperar atributos de sistemas de identidade conectados, como diretórios LDAP e bancos de dados. Esses atributos estão em cabeçalhos HTTP e são enviados para o aplicativo local upstream.
Configurar o Maverics Identity Orchestrator
Use as instruções nas seções a seguir para configurar uma instância do Orchestrator.
Requisitos do servidor do Maverics Identity Orchestrator
Você pode executar sua instância do Orchestrator em qualquer servidor, seja no local ou em uma infraestrutura de nuvem pública por provedor como Azure, AWS ou GCP.
- Sistema operacional: RHEL 7.7 ou superior
- Disco: 10 GB (pequeno)
- Memória: 16 GB
- Portas: 22 (SSH/SCP), 443, 80
- Acesso raiz: Para tarefas de instalação/administrativas
-
Maverics Identity Orchestrator: é executado como usuário
mavericsemsystemd - Saída de rede: Do servidor que hospeda o Maverics Identity Orchestrator e que pode aceder ao seu tenant do Microsoft Entra.
Instalar o Maverics Identity Orchestrator
Obtenha o pacote Maverics RPM mais recente.
Coloque o pacote no sistema que você gostaria de instalar o Maverics. Se você estiver copiando para um host remoto, use SSH scp.
Execute o seguinte comando. Use o nome de ficheiro para substituir
maverics.rpm.sudo rpm -Uvf maverics.rpmPor defeito, o Maverics encontra-se no diretório
/usr/local/bin.Maverics é executado como um serviço em
systemd.Para verificar se o serviço Maverics está em execução, execute o seguinte comando:
sudo service maverics statusA seguinte mensagem (ou similar) é exibida.
Redirecting to /bin/systemctl status maverics.service
maverics.service - Maverics
Loaded: loaded (/etc/systemd/system/maverics.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-08-13 16:48:01 UTC; 24h ago
Main PID: 330772 (maverics)
Tasks: 5 (limit: 11389)
Memory: 14.0M
CGroup: /system.slice/maverics.service
└─330772 /usr/local/bin/maverics --config /etc/maverics/maverics.yaml
Observação
Se o Maverics falhar ao iniciar, execute o seguinte comando:
journalctl --unit=maverics.service --reverse
A entrada de log mais recente aparece na saída.
- O arquivo padrão
maverics.yamlé criado no/etc/mavericsdiretório. - Configure seu Orchestrator para proteger o aplicativo.
- Integre com o Azure AD B2C e armazene.
- Recupere segredos do Cofre de Chaves do Azure.
- Defina o local a partir do qual o Orchestrator lê sua configuração.
Configuração de fornecimento usando variáveis de ambiente
Configure suas instâncias do Orchestrator com variáveis de ambiente.
MAVERICS_CONFIG
Essa variável de ambiente informa à instância do Orchestrator quais arquivos de configuração do YAML usar e onde encontrá-los durante a inicialização ou reinicialização. Defina a variável de ambiente em /etc/maverics/maverics.env.
Criar a configuração TLS do Orchestrator
O tls campo em maverics.yaml declara as configurações de segurança da camada de transporte usadas pela instância do Orchestrator. Os conectores usam objetos TLS e o servidor Orchestrator.
A maverics chave está reservada para o servidor Orchestrator. Use outras teclas para injetar um objeto TLS em um conector.
tls:
maverics:
certFile: /etc/maverics/maverics.cert
keyFile: /etc/maverics/maverics.key
Configurar o Conector do Azure AD B2C
Os orquestradores usam conectores para integração com provedores de autenticação e atributos. O Orchestrators App Gateway usa o conector do Azure AD B2C como um provedor de autenticação e atributo. O Azure AD B2C usa o IdP social para autenticação e, em seguida, fornece atributos ao Orchestrator, passando-os em declarações definidas em cabeçalhos HTTP.
A configuração do Conector corresponde ao aplicativo registrado no locatário do Azure AD B2C.
- Na configuração do aplicativo, copie a ID do cliente, o segredo do cliente e redirecione o URI para o locatário.
- Insira um nome de conector (exemplo é
azureADB2C). - Defina o conector
typecomoazure. - Anote o nome do conector. Você usará esse valor em outros parâmetros de configuração.
- Defina o
authTypecomooidc. - Para o
oauthClientIDparâmetro, defina a ID do cliente que você copiou. - Para o parâmetro
oauthClientSecret, insira o segredo do cliente que copiou. - Para o
oauthRedirectURLparâmetro, defina o URI de redirecionamento copiado. - O conector OIDC do Azure AD B2C utiliza o ponto de extremidade OIDC para localizar metadados, incluindo URLs e chaves de assinatura. Para o ponto de extremidade do locatário, use
oidcWellKnownURL.
connectors:
name: azureADB2C
type: azure
oidcWellKnownURL: https://<tenant name>.b2clogin.com/<tenant name>.onmicrosoft.com/B2C_1_login/v2.0/.well-known/openid-configuration
oauthRedirectURL: https://example.com/oidc-endpoint
oauthClientID: <azureADB2CClientID>
oauthClientSecret: <azureADB2CClientSecret>
authType: oidc
Definir o Azure AD B2C como seu provedor de autenticação
Um provedor de autenticação determina a autenticação para usuários que não apresentam uma sessão válida durante uma solicitação de recurso do aplicativo. A configuração do inquilino do Azure AD B2C determina como os utilizadores são solicitados a fornecer credenciais, enquanto aplica outras políticas de autenticação. Um exemplo é exigir um segundo fator para concluir a autenticação e decidir o que é retornado ao Orchestrator App Gateway, após a autenticação.
O valor para o Conector authProvider deve corresponder ao valor do Conector name.
authProvider: azureADB2C
Proteja aplicativos locais com um Orchestrator App Gateway
A configuração do Orchestrator App Gateway declara como o Azure AD B2C protege seu aplicativo e como os usuários acessam o aplicativo.
- Insira um nome de gateway de aplicativo.
- Defina o
locationarquivo. O exemplo usa a raiz/do aplicativo . - Defina o aplicativo protegido em
upstream. Use a convenção host:port:https://example.com:8080. - Defina os valores para páginas de erro e não autorizadas.
- Defina os nomes de cabeçalho HTTP e os valores de atributo para o aplicativo para estabelecer autenticação e controle. Os nomes dos cabeçalhos normalmente correspondem à configuração do aplicativo. Os valores de atributo são organizados em espaço de nomes pelo Connector. No exemplo, os valores retornados do Azure AD B2C são prefixados com o nome do conector
azureADB2C. O sufixo é o nome do atributo com o valor necessário, por exemplogiven_name. - Defina as políticas. São definidas três ações:
allowUnauthenticated,allowAnyAuthenticated, eallowIfAny. Cada ação está associada a umresource. A política é avaliada para issoresource.
Observação
headers e policies utilizam extensões de serviço em JavaScript ou GoLang para implementar lógica arbitrária.
appgateways:
- name: Sonar
location: /
upstream: https://example.com:8080
errorPage: https://example.com:8080/sonar/error
unauthorizedPage: https://example.com:8080/sonar/accessdenied
headers:
SM_USER: azureADB2C.sub
firstname: azureADB2C.given_name
lastname: azureADB2C.family_name
policies:
- resource: ~ \.(jpg|png|ico|svg)
allowUnauthenticated: true
- resource: /
allowAnyAuthenticated: true
- resource: /sonar/daily_deals
allowIfAny:
azureADB2C.customAttribute: Rewards Member
Azure Key Vault como provedor de segredos
Proteja os segredos que seu Orchestrator usa para se conectar ao Azure AD B2C e a outros sistemas de identidade. Os Maverics carregam segredos em texto claro a partir de maverics.yaml, mas, neste tutorial, use o Azure Key Vault como provedor de segredos.
Siga as instruções em, Guia de início rápido: definir e recuperar um segredo do Cofre da Chave do Azure usando o portal do Azure. Adicione os seus segredos ao cofre e anote o SECRET NAME de cada segredo. Por exemplo, AzureADB2CClientSecret.
Para declarar um valor como um segredo em um maverics.yaml arquivo de configuração, envolva o segredo com colchetes angulares:
connectors:
- name: AzureADB2C
type: azure
oauthClientID: <AzureADB2CClientID>
oauthClientSecret: <AzureADB2CClientSecret>
O valor entre parênteses angulares deve corresponder ao SECRET NAME associado a um segredo no seu Cofre de Chaves do Azure.
Para carregar segredos do Cofre de Chaves do Azure, defina a variável MAVERICS_SECRET_PROVIDER de ambiente no arquivo /etc/maverics/maverics.env, com as credenciais encontradas no arquivo azure-credentials.json. Use o seguinte padrão:
MAVERICS_SECRET_PROVIDER='azurekeyvault://<KEYVAULT NAME>.vault.azure.net?clientID=<APPID>&clientSecret=<PASSWORD>&tenantID=<TENANT>'
Conclua a configuração
As informações a seguir ilustram como a configuração do Orchestrator aparece.
version: 0.4.2
listenAddress: ":443"
tls:
maverics:
certFile: certs/maverics.crt
keyFile: certs/maverics.key
authProvider: azureADB2C
connectors:
- name: azureADB2C
type: azure
oidcWellKnownURL: https://<tenant name>.b2clogin.com/<tenant name>.onmicrosoft.com/B2C_1_login/v2.0/.well-known/openid-configuration
oauthRedirectURL: https://example.com/oidc-endpoint
oauthClientID: <azureADB2CClientID>
oauthClientSecret: <azureADB2CClientSecret>
authType: oidc
appgateways:
- name: Sonar
location: /
upstream: http://example.com:8080
errorPage: http://example.com:8080/sonar/accessdenied
unauthorizedPage: http://example.com:8080/sonar/accessdenied
headers:
SM_USER: azureADB2C.sub
firstname: azureADB2C.given_name
lastname: azureADB2C.family_name
policies:
- resource: ~ \.(jpg|png|ico|svg)
allowUnauthenticated: true
- resource: /
allowAnyAuthenticated: true
- resource: /sonar/daily_deals
allowIfAny:
azureADB2C.customAttribute: Rewards Member
Testar o fluxo
- Navegue até a URL do aplicativo local,
https://example.com/sonar/dashboard. - O Orchestrator redireciona para a página de fluxo do usuário.
- Selecione o IdP da lista.
- Insira credenciais, incluindo um token MFA, se exigido pelo IdP.
- Você será redirecionado para o Azure AD B2C, que encaminha a solicitação do aplicativo para o URI de redirecionamento do Orchestrator.
- O Orchestrator avalia políticas e calcula cabeçalhos.
- O aplicativo solicitado é exibido.
Próximos passos
- Visão geral da política personalizada do Azure AD B2C
- Tutorial: Criar fluxos de usuário e políticas personalizadas no Azure Ative Directory B2C