Autenticação baseada em cabeçalho para logon único com Proxy de Aplicativo e PingAccessHeader-based authentication for single sign-on with Application Proxy and PingAccess

O proxy de aplicativo Azure Active Directory (AD do Azure) fez parceria com a PingAccess para que os clientes do Azure AD possam acessar mais de seus aplicativos.Azure Active Directory (Azure AD) Application Proxy has partnered with PingAccess so that your Azure AD customers can access more of your applications. O PingAccess expande as ofertas existentes do Proxy de Aplicativo para incluir acesso de logon único a aplicativos que usam cabeçalhos para autenticação.PingAccess expands the existing Application Proxy offerings to include single sign-on access to applications that use headers for authentication.

O que é o PingAccess para o Azure AD?What's PingAccess for Azure AD?

Com o PingAccess para o Azure AD, você pode conceder aos usuários acesso e logon único (SSO) a aplicativos que usam cabeçalhos para autenticação.With PingAccess for Azure AD, you can give users access and single sign-on (SSO) to applications that use headers for authentication. O Proxy de Aplicativo trata esses aplicativos como qualquer outro, usando o Azure AD para autenticar o acesso e, depois, passando o tráfego por meio do serviço de conector.Application Proxy treats these applications like any other, using Azure AD to authenticate access and then passing traffic through the connector service. PingAccess residem na frente dos aplicativos e convertem o token de acesso do Azure AD em um cabeçalho.PingAccess sits in front of the applications and translates the access token from Azure AD into a header. Em seguida, o aplicativo recebe a autenticação no formato que pode ser lido.The application then receives the authentication in the format it can read.

Os usuários não perceberão algo diferente quando entrarem para usar seus aplicativos corporativos.Your users won’t notice anything different when they sign in to use your corporate applications. Eles ainda podem trabalhar de qualquer lugar e em qualquer dispositivo.They can still work from anywhere on any device. Os conectores de proxy de aplicativo direcionam o tráfego remoto para todos os aplicativos sem considerar o tipo de autenticação, portanto, eles ainda balancearão as cargas automaticamente.The Application Proxy connectors direct remote traffic to all apps without regard to their authentication type, so they’ll still balance loads automatically.

Como posso obter acesso?How do I get access?

Como esse cenário vem de uma parceria entre Azure Active Directory e PingAccess, você precisa de licenças para ambos os serviços.Since this scenario comes from a partnership between Azure Active Directory and PingAccess, you need licenses for both services. No entanto, as assinaturas do Azure Active Directory Premium incluem uma licença básica PingAccess que abrange até 20 aplicativos.However, Azure Active Directory Premium subscriptions include a basic PingAccess license that covers up to 20 applications. Se você precisar publicar mais de 20 aplicativos com base em cabeçalho, poderá adquirir uma licença adicional do PingAccess.If you need to publish more than 20 header-based applications, you can purchase an additional license from PingAccess.

Para obter mais informações, consulte Edições do Active Directory do Azure.For more information, see Azure Active Directory editions.

Publicar seu aplicativo no AzurePublish your application in Azure

Este artigo é para que as pessoas publiquem um aplicativo com esse cenário pela primeira vez.This article is for people to publish an application with this scenario for the first time. Além de detalhar as etapas de publicação, ele o guiará na introdução ao proxy de aplicativo e ao PingAccess.Besides detailing the publishing steps, it guides you in getting started with both Application Proxy and PingAccess. Se você já tiver configurado os dois serviços, mas desejar um atualizador sobre as etapas de publicação, pule para a seção Adicionar seu aplicativo ao Azure AD com o proxy de aplicativo .If you’ve already configured both services but want a refresher on the publishing steps, skip to the Add your application to Azure AD with Application Proxy section.

Observação

Como esse cenário é uma parceria entre o Azure AD e o PingAccess, algumas das instruções estão no site do Ping Identity.Since this scenario is a partnership between Azure AD and PingAccess, some of the instructions exist on the Ping Identity site.

Instalar um conector do Proxy de AplicativoInstall an Application Proxy connector

Se você habilitou o proxy de aplicativo habilitado e já instalou um conector, poderá ignorar esta seção e ir para Adicionar seu aplicativo ao Azure AD com o proxy de aplicativo.If you've enabled Application Proxy enabled and installed a connector already, you can skip this section and go to Add your application to Azure AD with Application Proxy.

O conector de proxy de aplicativo é um serviço do Windows Server que direciona o tráfego de seus funcionários remotos para seus aplicativos publicados.The Application Proxy connector is a Windows Server service that directs the traffic from your remote employees to your published applications. Para obter instruções de instalação mais detalhadas , consulte o tutorial: Adicione um aplicativo local para acesso remoto por meio do proxy de aplicativo noAzure Active Directory.For more detailed installation instructions, see Tutorial: Add an on-premises application for remote access through Application Proxy in Azure Active Directory.

  1. Entre no portal de Azure Active Directory como um administrador de aplicativos.Sign in to the Azure Active Directory portal as an application administrator. A página Azure Active Directory centro de administração é exibida.The Azure Active Directory admin center page appears.

  2. Selecione Azure Active Directory > serviço do conector de downloaddo proxy > deaplicativo.Select Azure Active Directory > Application proxy > Download connector service. A página de download do conector de proxy de aplicativo é exibida.The Application Proxy Connector Download page appears.

    Download do conector de proxy de aplicativo

  3. Siga as instruções de instalação.Follow the installation instructions.

Baixar o conector deve habilitar automaticamente o proxy de aplicativo para seu diretório, mas se não estiver, você poderá selecionar habilitar o proxy de aplicativo.Downloading the connector should automatically enable Application Proxy for your directory, but if not, you can select Enable Application Proxy.

Adicionar seu aplicativo ao Azure AD com o proxy de aplicativoAdd your application to Azure AD with Application Proxy

Há duas ações necessárias no portal do Azure.There are two actions you need to take in the Azure portal. Primeiro, você precisa publicar seu aplicativo com o Proxy de Aplicativo.First, you need to publish your application with Application Proxy. Em seguida, você precisa coletar algumas informações sobre o aplicativo que pode usar durante as etapas de PingAccess.Then, you need to collect some information about the application that you can use during the PingAccess steps.

Publicar seu aplicativoPublish your application

Primeiro, você precisará publicar seu aplicativo.You'll first have to publish your application. Essa ação envolve:This action involves:

  • Adicionando seu aplicativo local ao Azure ADAdding your on-premises application to Azure AD
  • Atribuir um usuário para testar o aplicativo e escolher SSO baseado em cabeçalhoAssigning a user for testing the application and choosing header-based SSO
  • Configurando a URL de redirecionamento do aplicativoSetting up the application's redirect URL
  • Concedendo permissões para usuários e outros aplicativos usarem seu aplicativo localGranting permissions for users and other applications to use your on-premises application

Para publicar seu próprio aplicativo local:To publish your own on-premises application:

  1. Se você não tiver na última seção, entre no portal de Azure Active Directory como um administrador de aplicativos.If you didn't in the last section, sign in to the Azure Active Directory portal as an application administrator.

  2. Selecione aplicativos > empresariaisnovo > aplicativono local.Select Enterprise applications > New application > On-premises application. A página Adicionar seu próprio aplicativo local é exibida.The Add your own on-premises application page appears.

    Adicionar seu próprio aplicativo local

  3. Preencha os campos obrigatórios com informações sobre seu novo aplicativo.Fill out the required fields with information about your new application. Use as diretrizes abaixo para as configurações.Use the guidance below for the settings.

    Observação

    Para obter uma explicação mais detalhada desta etapa, consulte Adicionar um aplicativo local ao Azure ad.For a more detailed walkthrough of this step, see Add an on-premises app to Azure AD.

    1. URL interna: Normalmente, você fornece a URL que leva para a página de entrada do aplicativo quando você está na rede corporativa.Internal URL: Normally you provide the URL that takes you to the app’s sign-in page when you’re on the corporate network. Para esse cenário, o conector precisa tratar o proxy PingAccess como a página inicial do aplicativo.For this scenario, the connector needs to treat the PingAccess proxy as the front page of the application. Use este formato: https://<host name of your PingAccess server>:<port>.Use this format: https://<host name of your PingAccess server>:<port>. A porta é a 3000 por padrão, mas você pode configurá-la no PingAccess.The port is 3000 by default, but you can configure it in PingAccess.

      Aviso

      Para esse tipo de logon único, a URL interna deve usar https e não pode usar. httpFor this type of single sign-on, the internal URL must use https and can't use http.

    2. Método de pré-autenticação: Escolha Azure Active Directory.Pre-authentication method: Choose Azure Active Directory.

    3. Traduzir URL nos cabeçalhos: Escolha não.Translate URL in Headers: Choose No.

    Observação

    Se este for seu primeiro aplicativo, use a porta 3000 para iniciar e retorne para atualizar essa configuração se alterar a configuração de PingAccess.If this is your first application, use port 3000 to start and come back to update this setting if you change your PingAccess configuration. Para aplicativos subsequentes, a porta precisará corresponder ao ouvinte que você configurou no PingAccess.For subsequent applications, the port will need to match the Listener you’ve configured in PingAccess. Saiba mais sobre ouvintes no PingAccess.Learn more about listeners in PingAccess.

  4. Selecione Adicionar.Select Add. A página Visão geral do novo aplicativo é exibida.The overview page for the new application appears.

Agora, atribua um usuário para teste de aplicativo e escolha logon único baseado em cabeçalho:Now assign a user for application testing and choose header-based single sign-on:

  1. Na barra lateral do aplicativo, selecione usuários e grupos > Adicionar > usuários e grupos de<usuários (número > selecionado) .From the application sidebar, select Users and groups > Add user > Users and groups (<Number> Selected). Uma lista de usuários e grupos é exibida para sua escolha.A list of users and groups appears for you to choose from.

    Mostra a lista de usuários e grupos

  2. Selecione um usuário para teste de aplicativo e selecione selecionar.Select a user for application testing, and select Select. Verifique se essa conta de teste tem acesso ao aplicativo local.Make sure this test account has access to the on-premises application.

  3. Selecione Atribuir.Select Assign.

  4. Na barra lateral do aplicativo, selecione logon > únicocom base em cabeçalho.From the application sidebar, select Single sign-on > Header-based.

    Dica

    Se esta for a primeira vez que você usa o logon único com base em cabeçalhos, será necessário instalar o PingAccess.If this is your first time using header-based single sign-on, you need to install PingAccess. Para certificar-se de que sua assinatura do Azure seja automaticamente associada à sua instalação do PingAccess, use o link nesta página de logon único para baixar o PingAccess.To make sure your Azure subscription is automatically associated with your PingAccess installation, use the link on this single sign-on page to download PingAccess. Você pode abrir o site de download agora ou voltar a esta página mais tarde.You can open the download site now, or come back to this page later.

    Mostra a tela de logon baseada em cabeçalho e PingAccess

  5. Clique em Salvar.Select Save.

Em seguida, verifique se a URL de redirecionamento está definida para a URL externa:Then make sure your redirect URL is set to your external URL:

  1. Na barra lateral do centro de administração Azure Active Directory , selecione Azure Active Directory > registros de aplicativo.From the Azure Active Directory admin center sidebar, select Azure Active Directory > App registrations. Uma lista de aplicativos é exibida.A list of applications appears.
  2. Selecione seu aplicativo.Select your application.
  3. Selecione o link ao lado de redirecionar URIs, mostrando o número de URIs de redirecionamento configurados para clientes Web e públicos.Select the link next to Redirect URIs, showing the number of redirect URIs set up for web and public clients. A página <nome do aplicativo >-autenticação é exibida.The <application name> - Authentication page appears.
  4. Verifique se a URL externa que você atribuiu ao seu aplicativo anteriormente está na lista de URIs de redirecionamento.Check whether the external URL that you assigned to your application earlier is in the Redirect URIs list. Se não estiver, adicione a URL externa agora, usando um tipo de URI de redirecionamento de Webe selecione salvar.If it isn't, add the external URL now, using a redirect URI type of Web, and select Save.

Por fim, configure seu aplicativo local para que os usuários tenham acesso de leitura e outros aplicativos tenham acesso de leitura/gravação:Finally, set up your on-premises application so that users have read access and other applications have read/write access:

  1. Na barra lateral registros de aplicativo do seu aplicativo, selecione permissões > de APIAdicionar uma permissão > Microsoft Graph APIs > da Microsoft.From the App registrations sidebar for your application, select API permissions > Add a permission > Microsoft APIs > Microsoft Graph. A página solicitar permissões de API para Microsoft Graph é exibida, que contém as APIs para o Windows Azure Active Directory.The Request API permissions page for Microsoft Graph appears, which contains the APIs for Windows Azure Active Directory.

    Mostra a página solicitar permissões de API

  2. Selecione permissões > delegadas usuários usuário. ler. > Select Delegated permissions > User > User.Read.

  3. Selecione permissões > doaplicativoaplicativo aplicativo . ReadWrite. tudo. > Select Application permissions > Application > Application.ReadWrite.All.

  4. Selecione adicionar permissões.Select Add permissions.

  5. Na página permissões de API , selecione conceder consentimento de administrador <para o nome de diretório > .In the API permissions page, select Grant admin consent for <your directory name>.

Coletar informações sobre as etapas do PingAccessCollect information for the PingAccess steps

Você precisa coletar essas três informações (todos os GUIDs) para configurar seu aplicativo com o PingAccess:You need to collect these three pieces of information (all GUIDs) to set up your application with PingAccess:

Nome do campo do Azure ADName of Azure AD field Nome do campo PingAccessName of PingAccess field Formato de dadosData format
ID do Aplicativo (cliente)Application (client) ID ID do clienteClient ID GUIDGUID
ID do Diretório (locatário)Directory (tenant) ID EmissorIssuer GUIDGUID
PingAccess key Segredo do ClienteClient Secret Cadeia de caracteres aleatóriaRandom string

Para coletar essas informações:To collect this information:

  1. Na barra lateral do centro de administração Azure Active Directory , selecione Azure Active Directory > registros de aplicativo.From the Azure Active Directory admin center sidebar, select Azure Active Directory > App registrations. Uma lista de aplicativos é exibida.A list of applications appears.

  2. Selecione seu aplicativo.Select your application. A página registros de aplicativo para seu aplicativo é exibida.The App registrations page for your application appears.

    Visão geral do registro de um aplicativo

  3. Ao lado do valor da ID do aplicativo (cliente) , selecione o ícone copiar para área de transferência , em seguida, copie e salve-o.Next to the Application (client) ID value, select the Copy to clipboard icon, then copy and save it. Você especifica esse valor posteriormente como a ID do cliente do PingAccess.You specify this value later as PingAccess's client ID.

  4. Em seguida, o valor da ID do diretório (locatário) , também selecione copiar para a área de transferência, copie e salve-o.Next the Directory (tenant) ID value, also select Copy to clipboard, then copy and save it. Você especifica esse valor posteriormente como emissor de PingAccess.You specify this value later as PingAccess's issuer.

  5. Na barra lateral do registros de aplicativo para seu aplicativo, selecione certificados e segredos > novo segredo do cliente.From the sidebar of the App registrations for your application, select Certificates and secrets > New client secret. A página Adicionar um segredo do cliente é exibida.The Add a client secret page appears.

    Mostra a página Adicionar um segredo do cliente

  6. Em Descrição, digite PingAccess key.In Description, type PingAccess key.

  7. Em expira, escolha como definir a chave PingAccess: Em 1 ano, em 2 anosou nunca.Under Expires, choose how to set the PingAccess key: In 1 year, In 2 years, or Never.

  8. Selecione Adicionar.Select Add. A chave PingAccess aparece na tabela de segredos do cliente, com uma cadeia de caracteres aleatória que é preenchida por preenchimento automática no campo valor .The PingAccess key appears in the table of client secrets, with a random string that autofills in the VALUE field.

  9. Ao lado do campo valor da chave PingAccess, selecione o ícone copiar para área de transferência , em seguida, copie e salve-o.Next to the PingAccess key's VALUE field, select the Copy to clipboard icon, then copy and save it. Você especifica esse valor posteriormente como o segredo do cliente do PingAccess.You specify this value later as PingAccess's client secret.

Atualizar GraphAPI para enviar campos personalizados (opcional)Update GraphAPI to send custom fields (optional)

Se você precisar de uma declaração personalizada que envie outros tokens dentro do access_token consumido pelo acceptMappedClaims PingAccess, defina Trueo campo aplicativo como.If you need a custom claim that sends other tokens within the access_token consumed by PingAccess, set the acceptMappedClaims application field to True. Você pode usar o Graph Explorer ou o manifesto do aplicativo do portal do Azure AD para fazer essa alteração.You can use Graph Explorer or the Azure AD portal's application manifest to make this change.

Este exemplo usa o Gerenciador de gráficos:This example uses Graph Explorer:

PATCH https://graph.windows.net/myorganization/applications/<object_id_GUID_of_your_application>

{
  "acceptMappedClaims":true
}

Este exemplo usa o portal de Azure Active Directory para atualizar acceptMappedClaims o campo:This example uses the Azure Active Directory portal to update the acceptMappedClaims field:

  1. Entre no portal de Azure Active Directory como um administrador de aplicativos.Sign in to the Azure Active Directory portal as an application administrator.
  2. Selecione Azure Active Directory > Registros de aplicativo.Select Azure Active Directory > App registrations. Uma lista de aplicativos é exibida.A list of applications appears.
  3. Selecione seu aplicativo.Select your application.
  4. Na barra lateral da página registros de aplicativo para seu aplicativo, selecione manifesto.From the sidebar of the App registrations page for your application, select Manifest. O código JSON do manifesto para o registro do seu aplicativo é exibido.The manifest JSON code for your application's registration appears.
  5. Pesquise o acceptMappedClaims campo e altere o valor para True.Search for the acceptMappedClaims field, and change the value to True.
  6. Clique em Salvar.Select Save.

Uso de declarações opcionais (opcional)Use of optional claims (optional)

As declarações opcionais permitem que você adicione declarações Standard-, mas-não incluído-por padrão que todos os usuários e locatários têm.Optional claims allows you to add standard-but-not-included-by-default claims that every user and tenant has. Você pode configurar declarações opcionais para seu aplicativo modificando o manifesto do aplicativo.You can configure optional claims for your application by modifying the application manifest. Para obter mais informações, consulte o artigo noções básicas sobre o manifesto de aplicativo do Azure adFor more info, see the Understanding the Azure AD application manifest article

Exemplo para incluir o endereço de email no access_token que o PingAccess consumirá:Example to include email address into the access_token that PingAccess will consume:

    "optionalClaims": {
        "idToken": [],
        "accessToken": [
            {
                "name": "email",
                "source": null,
                "essential": false,
                "additionalProperties": []
            }
        ],
        "saml2Token": []
    },

Uso da política de mapeamento de declarações (opcional)Use of claims mapping policy (optional)

Política de mapeamento de declarações (versão prévia) para atributos que não existem em AzureAD.Claims Mapping Policy (preview) for attributes which do not exist in AzureAD. O mapeamento de declarações permite migrar aplicativos locais antigos para a nuvem adicionando declarações personalizadas adicionais que são apoiadas por seus objetos de usuário ou ADFSClaims mapping allows you to migrate old on-prem apps to the cloud by adding additional custom claims that are backed by your ADFS or user objects

Para fazer seu aplicativo usar uma declaração personalizada e incluir campos adicionais, certifique-se de que você também criou uma política personalizada de mapeamento de declarações e a atribuiu ao aplicativo.To make your application use a custom claim and include additional fields, be sure you've also created a custom claims mapping policy and assigned it to the application.

Observação

Para usar uma declaração personalizada, você também deve ter uma política personalizada definida e atribuída ao aplicativo.To use a custom claim, you must also have a custom policy defined and assigned to the application. Essa política deve incluir todos os atributos personalizados necessários.This policy should include all required custom attributes.

Você pode fazer a definição de política e a atribuição por meio do PowerShell, do explorador do Azure AD Graph ou do Microsoft Graph.You can do policy definition and assignment through PowerShell, Azure AD Graph Explorer, or Microsoft Graph. Se estiver fazendo isso no PowerShell, talvez seja necessário primeiro usar New-AzureADPolicy e, em seguida, atribuí-lo ao aplicativo com. Add-AzureADServicePrincipalPolicyIf you're doing them in PowerShell, you may need to first use New-AzureADPolicy and then assign it to the application with Add-AzureADServicePrincipalPolicy. Para obter mais informações, consulte atribuição de política de mapeamento de declarações.For more information, see Claims mapping policy assignment.

Exemplo:Example:

$pol = New-AzureADPolicy -Definition @('{"ClaimsMappingPolicy":{"Version":1,"IncludeBasicClaimSet":"true", "ClaimsSchema": [{"Source":"user","ID":"employeeid","JwtClaimType":"employeeid"}]}}') -DisplayName "AdditionalClaims" -Type "ClaimsMappingPolicy"

Add-AzureADServicePrincipalPolicy -Id "<<The object Id of the Enterprise Application you published in the previous step, which requires this claim>>" -RefObjectId $pol.Id

Habilitar PingAccess para usar declarações personalizadasEnable PingAccess to use custom claims

Habilitar o PingAccess para usar declarações personalizadas é opcional, mas será necessário se você espera que o aplicativo consuma declarações adicionais.Enabling PingAccess to use custom claims is optional, but required if you expect the application to consume additional claims.

Ao configurar o PingAccess na etapa a seguir, a sessão da Web que você criará (Configurações-> Access-> sessões da Web) deverá ter o perfil de solicitação desmarcado e atualizar os atributos de usuário definido como nãoWhen you will configure PingAccess in the following step, the Web Session you will create (Settings->Access->Web Sessions) must have Request Profile deselected and Refresh User Attributes set to No

Baixar o PingAccess e configurar seu aplicativoDownload PingAccess and configure your application

Agora que você concluiu todas as etapas de instalação do Azure Active Directory, será possível prosseguir para a configuração do PingAccess.Now that you've completed all the Azure Active Directory setup steps, you can move on to configuring PingAccess.

As etapas detalhadas para a parte PingAccess desse cenário continuam na documentação de identidade de ping.The detailed steps for the PingAccess part of this scenario continue in the Ping Identity documentation. Siga as instruções em Configurar o PingAccess para o Azure ad para proteger aplicativos publicados usando Microsoft Azure ad proxy de aplicativo no site de identidade de ping.Follow the instructions in Configure PingAccess for Azure AD to protect applications published using Microsoft Azure AD Application Proxy on the Ping Identity web site.

Essas etapas ajudam a instalar o PingAccess e a configurar uma conta do PingAccess (se você ainda não tiver uma).Those steps help you install PingAccess and set up a PingAccess account (if you don't already have one). Em seguida, para criar uma conexão do OpenID Connect (OIDC) do Azure AD, você configura um provedor de token com o valor de ID de diretório (locatário) que você copiou do portal do Azure AD.Then, to create an Azure AD OpenID Connect (OIDC) connection, you set up a token provider with the Directory (tenant) ID value that you copied from the Azure AD portal. Em seguida, para criar uma sessão da Web no PingAccess, use a ID do aplicativo (cliente) e PingAccess key os valores.Next, to create a web session on PingAccess, you use the Application (client) ID and PingAccess key values. Em seguida, configure o mapeamento de identidade e crie um host virtual, site e aplicativo.After that, you can set up identity mapping and create a virtual host, site, and application.

Teste seu aplicativoTest your application

Quando você concluir todas essas etapas, seu aplicativo deverá estar em execução.When you've completed all these steps, your application should be up and running. Para testá-lo, abra um navegador e navegue até a URL externa que você criou quando publicou o aplicativo no Azure.To test it, open a browser and navigate to the external URL that you created when you published the application in Azure. Entre com a conta de teste que você atribuiu ao aplicativo.Sign in with the test account that you assigned to the application.

Próximas etapasNext steps