Acesso híbrido seguro com integração com o Microsoft Entra
O Microsoft Entra ID suporta protocolos de autenticação modernos que ajudam a manter as aplicações seguras. No entanto, muitos aplicativos de negócios funcionam em uma rede corporativa protegida e alguns usam métodos de autenticação herdados. À medida que as empresas criam estratégias de Zero Trust e suportam ambientes híbridos e em nuvem, existem soluções que conectam aplicativos ao Microsoft Entra ID e fornecem autenticação para aplicativos legados.
Saiba mais: Segurança Zero Trust
O Microsoft Entra ID suporta nativamente protocolos modernos:
- SAML (Security Assertion Markup Language)
- Federação de Serviços Web (WS-Fed)
- Conexão OpenID (OIDC)
O proxy de aplicativo Microsoft Entra ou proxy de aplicativo Microsoft Entra oferece suporte a Kerberos e autenticação baseada em cabeçalho. Outros protocolos, como Secure Shell (SSH), (Microsoft Windows NT LAN Manager) NTLM, Lightweight Directory Access Protocol (LDAP) e cookies, não são suportados. Mas, fornecedores independentes de software (ISVs) podem criar soluções para conectar esses aplicativos com o Microsoft Entra ID.
Os ISVs podem ajudar os clientes a descobrir e migrar aplicativos SaaS (software como serviço) para o Microsoft Entra ID. Eles podem conectar aplicativos que usam métodos de autenticação herdados com o Microsoft Entra ID. Os clientes podem se consolidar no Microsoft Entra ID para simplificar o gerenciamento de aplicativos e implementar os princípios Zero Trust.
Descrição geral da solução
A solução que você cria pode incluir as seguintes partes:
- Descoberta de aplicativos - Muitas vezes, os clientes não estão cientes de todos os aplicativos em uso
- A descoberta de aplicativos localiza aplicativos, facilitando a integração de aplicativos com o Microsoft Entra ID
- Migração de aplicativos - Crie um fluxo de trabalho para integrar aplicativos com o Microsoft Entra ID sem usar o centro de administração do Microsoft Entra
- Integre aplicativos que os clientes usam hoje
- Suporte à autenticação herdada - Conecte aplicativos com métodos de autenticação herdados e logon único (SSO)
- Acesso condicional - Permita que os clientes apliquem políticas do Microsoft Entra a aplicações na sua solução sem utilizar o centro de administração do Microsoft Entra
Saiba mais: O que é o Acesso Condicional?
Consulte as seções a seguir para obter considerações técnicas e recomendações.
Publicar aplicações no Azure Marketplace
O Azure Marketplace é uma fonte confiável de aplicativos para administradores de TI. Os aplicativos são compatíveis com o Microsoft Entra ID e suportam SSO, automatizam o provisionamento de usuários e integram-se a locatários externos com registro automatizado de aplicativos.
Você pode pré-integrar seu aplicativo com o Microsoft Entra ID para oferecer suporte a SSO e provisionamento automatizado. Consulte Enviar uma solicitação para publicar seu aplicativo na galeria de aplicativos do Microsoft Entra.
Recomendamos que você se torne um editor verificado, para que os clientes saibam que você é o editor confiável. Consulte Verificação do editor.
Habilite o logon único para administradores de TI
Há várias maneiras de habilitar o SSO para administradores de TI em sua solução. Consulte Planejar uma implantação de logon único, Opções de SSO.
O Microsoft Graph usa OIDC/OAuth. Os clientes usam o OIDC para entrar na sua solução. Use os problemas de ID do Microsoft Entra do JSON Web Token (JWT) para interagir com o Microsoft Graph. Consulte OpenID Connect na plataforma de identidade da Microsoft.
Se sua solução usa SAML para SSO de administrador de TI, o token SAML não permitirá que sua solução interaja com o Microsoft Graph. Você pode usar o SAML para SSO de administrador de TI, mas sua solução precisa suportar a integração OIDC com o Microsoft Entra ID, para que possa obter um JWT do Microsoft Entra ID para interagir com o Microsoft Graph. Consulte Como a plataforma de identidade da Microsoft usa o protocolo SAML.
Você pode usar uma das seguintes abordagens SAML:
- Abordagem SAML recomendada: crie um novo registo no Azure Marketplace, que é uma aplicação OIDC. Os clientes adicionam os aplicativos SAML e OIDC ao locatário. Se o seu aplicativo não estiver na galeria do Microsoft Entra, você poderá começar com um aplicativo multilocatário que não seja de galeria.
- Abordagem SAML alternativa: os clientes podem criar um registro de aplicativo OIDC em seu locatário do Microsoft Entra e definir os URIs, pontos de extremidade e permissões
Use o tipo de concessão de credenciais do cliente, que requer que a solução permita que os clientes insiram um ID e um segredo do cliente. A solução também requer que você armazene essas informações. Obtenha um JWT do Microsoft Entra ID e use-o para interagir com o Microsoft Graph. Veja, Obter um token. Recomendamos que você repare a documentação do cliente sobre como criar o registro do aplicativo em seu locatário do Microsoft Entra. Inclua pontos de extremidade, URIs e permissões.
Nota
Antes que os aplicativos sejam usados para administrador de TI ou SSO de usuário, o administrador de TI do cliente deve consentir com o aplicativo em seu locatário. Consulte Conceder consentimento de administrador de todo o locatário para um aplicativo.
Fluxos de autenticação
Os fluxos de autenticação da solução suportam os seguintes cenários:
- O administrador de TI do cliente entra com o SSO para administrar sua solução
- O administrador de TI do cliente usa sua solução para integrar aplicativos com o Microsoft Entra ID com o Microsoft Graph
- Os utilizadores iniciam sessão em aplicações herdadas protegidas pela sua solução e pelo Microsoft Entra ID
O administrador de TI do cliente faz logon único na sua solução
Sua solução pode usar SAML ou OIDC para SSO, quando o administrador de TI do cliente fizer login. Recomendamos que o administrador de TI inicie sessão na sua solução com as respetivas credenciais do Microsoft Entra, o que permite a utilização dos controlos de segurança atuais. Integre o seu com o Microsoft Entra ID para SSO através de SAML ou OIDC.
O diagrama a seguir ilustra o fluxo de autenticação do usuário:
- O administrador de TI inicia sessão na sua solução com as respetivas credenciais do Microsoft Entra
- A solução redireciona o administrador de TI para o Microsoft Entra ID com uma solicitação de entrada SAML ou OIDC
- O Microsoft Entra autentica o administrador de TI e redireciona-o para a sua solução, com um token SAML ou JWT a ser autorizado na sua solução
Administradores de TI integram aplicativos com o Microsoft Entra ID
Os administradores de TI integram aplicativos com o Microsoft Entra ID usando sua solução, que emprega o Microsoft Graph para criar registros de aplicativos e políticas de Acesso Condicional do Microsoft Entra.
O diagrama a seguir ilustra o fluxo de autenticação do usuário:
- O administrador de TI inicia sessão na sua solução com as respetivas credenciais do Microsoft Entra
- A solução redireciona o administrador de TI para o Microsoft Entra ID com uma solicitação de entrada SAML ou OIDC
- O Microsoft Entra autentica o administrador de TI e redireciona-o para a sua solução com um token SAML ou JWT para autorização
- Quando o administrador de TI integra um aplicativo com o Microsoft Entra ID, a solução chama o Microsoft Graph com seu JWT para registrar aplicativos ou aplicar políticas de Acesso Condicional do Microsoft Entra
Os utilizadores iniciam sessão nas aplicações
Quando os usuários entram em aplicativos, eles usam OIDC ou SAML. Se os aplicativos precisarem interagir com o Microsoft Graph ou a API protegida do Microsoft Entra, recomendamos configurá-los para usar o OICD. Essa configuração garante que o JWT seja aplicado para interagir com o Microsoft Graph. Se não houver necessidade de aplicativos para interagir com o Microsoft Graph ou APIs protegidas pelo Microsoft Entra, use o SAML.
O diagrama a seguir mostra o fluxo de autenticação do usuário:
- O usuário entra em um aplicativo
- A solução redireciona o usuário para o Microsoft Entra ID com uma solicitação de entrada SAML ou OIDC
- O Microsoft Entra autentica o usuário e o redireciona para sua solução com um token SAML ou JWT para autorização
- A solução permite a solicitação usando o protocolo de aplicação
Microsoft Graph API
Recomendamos o uso das seguintes APIs. Use o Microsoft Entra ID para configurar permissões delegadas ou permissões de aplicativo. Para esta solução, use permissões delegadas.
- API de modelos de aplicativos - No Azure Marketplace, use essa API para encontrar um modelo de aplicativo correspondente
- Permissões necessárias: Application.Read.All
- API de registro de aplicativos - Crie registros de aplicativos OIDC ou SAML para que os usuários entrem em aplicativos protegidos com sua solução
- Permissões necessárias: Application.Read.All, Application.ReadWrite.All
- API da entidade de serviço - Depois de registrar o aplicativo, atualize o objeto da entidade de serviço para definir as propriedades do SSO
- Permissões necessárias: Application.ReadWrite.All, Directory.AccessAsUser.All, AppRoleAssignment.ReadWrite.All (para atribuição)
- API de Acesso Condicional - Aplicar políticas de Acesso Condicional do Microsoft Entra a aplicações de utilizador
- Permissões necessárias: Policy.Read.All, Policy.ReadWrite.ConditionalAccess e Application.Read.All
Saiba mais Usar a API do Microsoft Graph
Cenários da API do Microsoft Graph
Use as informações a seguir para implementar registros de aplicativos, conectar aplicativos herdados e habilitar políticas de Acesso Condicional. Aprenda a automatizar o consentimento do administrador, obter o certificado de assinatura de token e atribuir usuários e grupos.
Usar a API do Microsoft Graph para registrar aplicativos com o Microsoft Entra ID
Adicionar aplicações no Azure Marketplace
Alguns aplicativos que seus clientes usam estão no Azure Marketplace. Você pode criar uma solução que adiciona aplicativos ao locatário externo. Use o exemplo a seguir com a API do Microsoft Graph para pesquisar um modelo no Azure Marketplace.
Nota
Na API de Modelos de Aplicativo, o nome para exibição diferencia maiúsculas de minúsculas.
Authorization: Required with a valid Bearer token
Method: Get
https://graph.microsoft.com/v1.0/applicationTemplates?$filter=displayname eq "Salesforce.com"
Se você encontrar uma correspondência na chamada da API, capture o ID. Faça a seguinte chamada de API e forneça um nome de exibição para o aplicativo no corpo JSON:
Authorization: Required with a valid Bearer token
Method: POST
Content-type: application/json
https://graph.microsoft.com/v1.0/applicationTemplates/cd3ed3de-93ee-400b-8b19-b61ef44a0f29/instantiate
{
"displayname": "Salesforce.com"
}
Depois de fazer a chamada de API, você gera um objeto principal de serviço. Capture o ID do aplicativo e o ID da entidade de serviço para usar nas próximas chamadas de API.
Corrija o objeto principal do serviço com o protocolo SAML e uma URL de login:
Authorization: Required with a valid Bearer token
Method: PATCH
Content-type: servicePrincipal/json
https://graph.microsoft.com/v1.0/servicePrincipals/aaaaaaaa-bbbb-cccc-1111-222222222222
{
"preferredSingleSignOnMode":"saml",
"loginURL": "https://www.salesforce.com"
}
Corrija o objeto do aplicativo com URIs de redirecionamento e os URIs de identificador:
Authorization: Required with a valid Bearer token
Method: PATCH
Content-type: application/json
https://graph.microsoft.com/v1.0/applications/00001111-aaaa-2222-bbbb-3333cccc4444
{
"web": {
"redirectUris":["https://www.salesforce.com"]},
"identifierUris":["https://www.salesforce.com"]
}
Adicionar aplicativos que não estão no Azure Marketplace
Se não houver correspondência no Azure Marketplace ou para integrar um aplicativo personalizado, registre um aplicativo personalizado na ID do Microsoft Entra com a ID do modelo: 8adf8e6e-67b2-4cf2-a259-e3dc5476c621. Em seguida, faça a seguinte chamada de API e forneça um nome de exibição do aplicativo no corpo JSON:
Authorization: Required with a valid Bearer token
Method: POST
Content-type: application/json
https://graph.microsoft.com/v1.0/applicationTemplates/8adf8e6e-67b2-4cf2-a259-e3dc5476c621/instantiate
{
"displayname": "Custom SAML App"
}
Depois de fazer a chamada de API, você gera um objeto principal de serviço. Capture o ID do aplicativo e o ID da entidade de serviço para usar nas próximas chamadas de API.
Corrija o objeto principal do serviço com o protocolo SAML e uma URL de login:
Authorization: Required with a valid Bearer token
Method: PATCH
Content-type: servicePrincipal/json
https://graph.microsoft.com/v1.0/servicePrincipals/aaaaaaaa-bbbb-cccc-1111-222222222222
{
"preferredSingleSignOnMode":"saml",
"loginURL": "https://www.samlapp.com"
}
Corrija o objeto do aplicativo com URIs de redirecionamento e URIs de identificador:
Authorization: Required with a valid Bearer token
Method: PATCH
Content-type: application/json
https://graph.microsoft.com/v1.0/applications/00001111-aaaa-2222-bbbb-3333cccc4444
{
"web": {
"redirectUris":["https://www.samlapp.com"]},
"identifierUris":["https://www.samlapp.com"]
}
Usar o logon único do Microsoft Entra
Depois que os aplicativos SaaS são registrados no Microsoft Entra ID, os aplicativos precisam começar a usar o Microsoft Entra ID como o provedor de identidade (IdP):
- Os aplicativos suportam SSO com um clique - o Microsoft Entra ID habilita os aplicativos. No centro de administração do Microsoft Entra, o cliente executa o SSO com um clique com as credenciais administrativas para os aplicativos SaaS suportados.
- Os aplicativos não suportam SSO com um clique - O cliente permite que os aplicativos usem o Microsoft Entra ID.
Conectar aplicativos ao Microsoft Entra ID com autenticação herdada
Sua solução pode permitir que o cliente use recursos de SSO e Microsoft Entra, mesmo aplicativos sem suporte. Para permitir o acesso com protocolos herdados, seu aplicativo chama a ID do Microsoft Entra para autenticar o usuário e aplicar as políticas de Acesso Condicional do Microsoft Entra. Habilite essa integração a partir do seu console. Crie um registro de aplicativo SAML ou OIDC entre sua solução e o Microsoft Entra ID.
Criar um registro de aplicativo SAML
Use o seguinte ID de modelo de aplicativo personalizado: 8adf8e6e-67b2-4cf2-a259-e3dc5476c621. Em seguida, faça a seguinte chamada de API e forneça um nome para exibição no corpo JSON:
Authorization: Required with a valid Bearer token
Method: POST
Content-type: application/json
https://graph.microsoft.com/v1.0/applicationTemplates/8adf8e6e-67b2-4cf2-a259-e3dc5476c621/instantiate
{
"displayname": "Custom SAML App"
}
Depois de fazer a chamada de API, você gera um objeto principal de serviço. Capture o ID do aplicativo e o ID da entidade de serviço para usar nas próximas chamadas de API.
Corrija o objeto principal do serviço com o protocolo SAML e uma URL de login:
Authorization: Required with a valid Bearer token
Method: PATCH
Content-type: servicePrincipal/json
https://graph.microsoft.com/v1.0/servicePrincipals/aaaaaaaa-bbbb-cccc-1111-222222222222
{
"preferredSingleSignOnMode":"saml",
"loginURL": "https://www.samlapp.com"
}
Corrija o objeto do aplicativo com URIs de redirecionamento e URIs de identificador:
Authorization: Required with a valid Bearer token
Method: PATCH
Content-type: application/json
https://graph.microsoft.com/v1.0/applications/00001111-aaaa-2222-bbbb-3333cccc4444
{
"web": {
"redirectUris":["https://www.samlapp.com"]},
"identifierUris":["https://www.samlapp.com"]
}
Criar um registro de aplicativo OIDC
Use o seguinte ID de modelo para um aplicativo personalizado: 8adf8e6e-67b2-4cf2-a259-e3dc5476c621. Faça a seguinte chamada de API e forneça um nome para exibição no corpo JSON:
Authorization: Required with a valid Bearer token
Method: POST
Content-type: application/json
https://graph.microsoft.com/v1.0/applicationTemplates/8adf8e6e-67b2-4cf2-a259-e3dc5476c621/instantiate
{
"displayname": "Custom OIDC App"
}
Na chamada de API, capture o ID do aplicativo e o ID da entidade de serviço para usar nas próximas chamadas de API.
Authorization: Required with a valid Bearer token
Method: PATCH
Content-type: application/json
https://graph.microsoft.com/v1.0/applications/{Application Object ID}
{
"web": {
"redirectUris":["https://www.samlapp.com"]},
"identifierUris":["[https://www.samlapp.com"],
"requiredResourceAccess": [
{
"resourceAppId": "00000003-0000-0000-c000-000000000000",
"resourceAccess": [
{
"id": "7427e0e9-2fba-42fe-b0c0-848c9e6a8182",
"type": "Scope"
},
{
"id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
"type": "Scope"
},
{
"id": "37f7f235-527c-4136-accd-4a02d197296e",
"type": "Scope"
}]
}]
}
Nota
As permissões de API no nó concedem ao resourceAccess
aplicativo as permissões openid, User.Read e offline_access, que permitem o login. Consulte Visão geral das permissões do Microsoft Graph.
Aplicar políticas de Acesso Condicional
Os clientes e parceiros podem usar a API do Microsoft Graph para criar ou aplicar políticas de Acesso Condicional por aplicativo. Para parceiros, os clientes podem aplicar essas políticas da sua solução sem usar o centro de administração do Microsoft Entra. Há duas opções para aplicar as políticas de Acesso Condicional do Microsoft Entra:
- Atribuir o aplicativo a uma política de Acesso Condicional
- Criar uma nova política de Acesso Condicional e atribuir o aplicativo a ela
Usar uma política de Acesso Condicional
Para obter uma lista de políticas de Acesso Condicional, execute a seguinte consulta. Obtenha a ID do objeto de política a ser modificada.
Authorization: Required with a valid Bearer token
Method:GET
https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies
Para corrigir a política, inclua o ID do objeto do aplicativo no escopo do includeApplications
, no corpo JSON:
Authorization: Required with a valid Bearer token
Method: PATCH
https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies/{policyid}
{
"displayName":"Existing Conditional Access Policy",
"state":"enabled",
"conditions":
{
"applications":
{
"includeApplications":[
"00000003-0000-0ff1-ce00-000000000000",
"{Application Object ID}"
]
},
"users": {
"includeUsers":[
"All"
]
}
},
"grantControls":
{
"operator":"OR",
"builtInControls":[
"mfa"
]
}
}
Criar uma nova política de Acesso Condicional
Adicione o ID do objeto do aplicativo para estar no escopo de includeApplications
, no corpo JSON:
Authorization: Required with a valid Bearer token
Method: POST
https://graph.microsoft.com/v1.0/identity/conditionalAccess/policies/
{
"displayName":"New Conditional Access Policy",
"state":"enabled",
"conditions":
{
"applications": {
"includeApplications":[
"{Application Object ID}"
]
},
"users": {
"includeUsers":[
"All"
]
}
},
"grantControls": {
"operator":"OR",
"builtInControls":[
"mfa"
]
}
}
#Policy Template for Requiring Compliant Device
{
"displayName":"Enforce Compliant Device",
"state":"enabled",
"conditions": {
"applications": {
"includeApplications":[
"{Application Object ID}"
]
},
"users": {
"includeUsers":[
"All"
]
}
},
"grantControls": {
"operator":"OR",
"builtInControls":[
"compliantDevice",
"domainJoinedDevice"
]
}
}
#Policy Template for Block
{
"displayName":"Block",
"state":"enabled",
"conditions": {
"applications": {
"includeApplications":[
"{Application Object ID}"
]
},
"users": {
"includeUsers":[
"All"
]
}
},
"grantControls": {
"operator":"OR",
"builtInControls":[
"block"
]
}
}
Automatize o consentimento do administrador
Se o cliente estiver adicionando aplicativos de sua solução ao Microsoft Entra ID, você poderá automatizar o consentimento do administrador com o Microsoft Graph. Você precisa da ID do objeto principal do serviço de aplicativo criada em chamadas de API e da ID do objeto principal do serviço Microsoft Graph do locatário externo.
Obtenha a ID do objeto principal do serviço Microsoft Graph fazendo a seguinte chamada de API:
Authorization: Required with a valid Bearer token
Method:GET
https://graph.microsoft.com/v1.0/serviceprincipals/?$filter=appid eq '00000003-0000-0000-c000-000000000000'&$select=id,appDisplayName
Para automatizar o consentimento do administrador, faça a seguinte chamada de API:
Authorization: Required with a valid Bearer token
Method: POST
Content-type: application/json
https://graph.microsoft.com/v1.0/oauth2PermissionGrants
{
"clientId":"{Service Principal Object ID of Application}",
"consentType":"AllPrincipals",
"principalId":null,
"resourceId":"{Service Principal Object ID Of Microsoft Graph}",
"scope":"openid user.read offline_access}"
}
Obter o certificado de assinatura de token
Para obter a parte pública do certificado de assinatura de token, use GET
o ponto de extremidade de metadados do Microsoft Entra para o aplicativo:
Method:GET
https://login.microsoftonline.com/{Tenant_ID}/federationmetadata/2007-06/federationmetadata.xml?appid={Application_ID}
Atribuir usuários e grupos
Depois de publicar o aplicativo no Microsoft Entra ID, você pode atribuir o aplicativo a usuários e grupos para garantir que ele apareça no portal Meus Aplicativos. Essa atribuição está no objeto principal de serviço gerado quando você criou o aplicativo. Consulte Visão geral do portal Meus Aplicativos.
Obtenha AppRole
instâncias que o aplicativo possa ter associado a ele. É comum que os aplicativos SaaS tenham várias AppRole
instâncias associadas a eles. Normalmente, para aplicativos personalizados, há uma instância padrão AppRole
. Obtenha o ID da AppRole
instância que você deseja atribuir:
Authorization: Required with a valid Bearer token
Method:GET
https://graph.microsoft.com/v1.0/servicePrincipals/aaaaaaaa-bbbb-cccc-1111-222222222222
A partir da ID do Microsoft Entra, obtenha a ID de objeto de utilizador ou grupo que pretende atribuir à aplicação. Pegue o ID da função do aplicativo da chamada de API anterior e envie-o com o corpo do patch na entidade de serviço:
Authorization: Required with a valid Bearer token
Method: PATCH
Content-type: servicePrincipal/json
https://graph.microsoft.com/v1.0/servicePrincipals/aaaaaaaa-bbbb-cccc-1111-222222222222
{
"principalId":"{Principal Object ID of User -or- Group}",
"resourceId":"{Service Principal Object ID}",
"appRoleId":"{App Role ID}"
}
Parcerias
Para ajudar a proteger aplicativos herdados, ao usar controladores de rede e entrega, a Microsoft tem parcerias com os seguintes provedores de controlador de entrega de aplicativos (ADC).
- Acesso a aplicativos corporativos da Akamai
- Citrix ADC
- F5 Gestor de Políticas de Acesso BIG-IP
- Kemp LoadMaster
- Gerenciador de tráfego virtual seguro Pulse
Os seguintes provedores de solução VPN se conectam ao Microsoft Entra ID para habilitar métodos modernos de autenticação e autorização, como SSO e autenticação multifator (MFA).
- Cisco Secure Firewall - Cliente Seguro
- Fortinet FortiGate
- F5 Gestor de Políticas de Acesso BIG-IP
- Palo Alto Networks GlobalProtect
- Pulse Connect Seguro
Os seguintes provedores de soluções de perímetro definido por software (SDP) se conectam ao Microsoft Entra ID para métodos de autenticação e autorização, como SSO e MFA.
- Datawiza Agente de Acesso
- Perímetro 81
- Plataforma de autenticação Silverfort
- Orquestrador de Identidade Strata Maverics
- Acesso Privado Zscaler