Configurar a criptografia de token SAML do Microsoft Entra

Observação

A criptografia de tokens é um recurso do Microsoft Entra ID P1 ou P2. Para saber mais sobre as edições, os recursos e os preços do Microsoft Entra, confira Preços do Microsoft Entra.

A criptografia de token SAML permite o uso de declarações SAML criptografadas com um aplicativo compatível. Quando configurado para um aplicativo, o Microsoft Entra ID criptografará as declarações SAML que ele emite para esse aplicativo usando a chave pública obtida de um certificado armazenado no Microsoft Entra ID. O aplicativo deve usar a chave privada correspondente para descriptografar o token antes que ele possa ser usado como evidência de autenticação para o usuário conectado.

Criptografar as declarações SAML entre o Microsoft Entra ID e o aplicativo fornece uma garantia adicional de que o conteúdo do token não pode ser interceptado e os dados pessoais ou corporativos comprometidos.

Mesmo sem criptografia de tokens, os tokens SAML do Microsoft Entra nunca são transmitidos na rede. O Microsoft Entra ID requer que as trocas de solicitações/respostas de tokens ocorram em canais HTTPS/TLS criptografados para que as comunicações entre o IDP, o navegador e o aplicativo ocorram em links criptografados. Considere o valor da criptografia de tokens para sua situação em comparação com a sobrecarga de gerenciamento de mais certificados.

Para configurar a criptografia de tokens, você precisará carregar um arquivo de certificado X.509 que contém a chave pública do objeto de aplicativo do Microsoft Entra que representa o aplicativo. Para obter o certificado X.509, você poderá baixá-lo do próprio aplicativo ou obtê-lo do fornecedor do aplicativo nos casos em que o fornecedor do aplicativo fornece as chaves de criptografia ou nos casos em que o aplicativo espera que você forneça uma chave privada. Ele pode ser criado usando ferramentas de criptografia, sendo a parte da chave privada carregada no repositório de chaves do aplicativo e o certificado de chave pública correspondente carregado no Microsoft Entra ID.

O Microsoft Entra ID usa o AES-256 para criptografar os dados de declaração SAML.

Pré-requisitos

Para configurar a criptografia de token SAML, você precisa:

  • Uma conta de usuário do Microsoft Entra. Se você ainda não tem uma conta, é possível criar uma conta gratuita.
  • Uma das seguintes funções: administrador global, administrador de aplicativos de nuvem, administrador de aplicativos ou proprietário da entidade de serviço.

Dica

As etapas neste artigo podem variar ligeiramente com base no portal do qual você começa.

Configurar a criptografia de token SAML do aplicativo empresarial

Esta seção descreve como configurar a criptografia de token SAML do aplicativo empresarial. Dos aplicativos que foram configurados na folha Aplicativos empresariais centro de administração de Microsoft Entra por meio da Galeria de Aplicativos ou de um aplicativo que não seja a Galeria. Para aplicativos registrados por meio da experiência Registros de aplicativo, siga as diretrizes de Configurar criptografia de token SAML do aplicativo registrado.

Para configurar a criptografia de token SAML do aplicativo empresarial, siga as etapas abaixo:

  1. Obtenha um certificado de chave pública que corresponda a uma chave privada configurada no aplicativo.

    Crie um par de chaves assimétricas para usar na criptografia. Ou, se o aplicativo fornece uma chave pública a ser usada para criptografia, siga as instruções do aplicativo para baixar do certificado X.509.

    A chave pública deve ser armazenada em um arquivo de certificado X.509 no formato .cer. Você pode copiar o conteúdo do arquivo do certificado para um editor de texto e salvá-lo como um arquivo .cer. O arquivo do certificado deve conter apenas a chave pública e não a chave privada.

    Se o aplicativo usa uma chave criada para sua instância, siga as instruções fornecidas pelo seu aplicativo para instalar a chave privada que o aplicativo usará para descriptografar os tokens do seu locatário do Microsoft Entra.

  2. Adicione o certificado à configuração do aplicativo no Microsoft Entra ID.

Configurar a criptografia de token no centro de administração do Microsoft Entra

Você pode adicionar o certificado público à configuração do aplicativo no centro de administração do Microsoft Entra.

  1. Entre no Centro de administração do Microsoft Entra como pelo menos Administrador de Aplicativo de nuvem.

  2. Navegue até Identidade>Aplicativos>Aplicativos Empresariais>Todos os aplicativos.

  3. Insira o nome do aplicativo existente na caixa de pesquisa e, em seguida, selecione o aplicativo nos resultados da pesquisa.

  4. Na página do aplicativo, selecione Criptografia de yoken.

    Screenshot shows how to select the Token encryption option in the Microsoft Entra admin center.

    Observação

    A opção Criptografia de token está disponível somente para aplicativos SAML que foram configurados a partir da folha Aplicativos empresariais no centro de administração do Microsoft Entra, do aplicativo Galeria de Aplicativos ou de um aplicativo que não seja da galeria. Para outros aplicativos, esta opção de menu não está disponível.

  5. Na página Criptografia de token, selecione Importar Certificado para importar o arquivo .cer que contém seu certificado X.509 público.

    Screenshot shows how to import a certificate file using Microsoft Entra admin center.

  6. Depois que o certificado é importado e a chave privada configurada para uso no lado do aplicativo, ative a criptografia selecionando ... ao lado do status da impressão digital e, em seguida, selecione Ativar Criptografia de Tokens nas opções no menu suspenso.

  7. Selecione Sim para confirmar a ativação do certificado de criptografia de tokens.

  8. Confirme se as declarações SAML emitidas para o aplicativo estão criptografadas.

Para desativar a criptografia de token no centro de administração do Microsoft Entra

  1. No centro de administração do Microsoft Entra, acesse Identidade>Aplicativos>Aplicativos empresariais>Todos os aplicativos e, em seguida, selecione o aplicativo que tem a criptografia de token SAML habilitada.

  2. Na página do aplicativo, selecione Criptografia de Token, encontre o certificado e, em seguida, selecione a opção ... para exibir o menu suspenso.

  3. Selecione Desativar criptografia de tokens.

Configurar a criptografia de token SAML de aplicativo registrado

Esta seção descreve como configurar a criptografia de token SAML do aplicativo registrado. Aplicativos que foram configurados na folha Registros de aplicativo no centro de administração do Microsoft Entra. Para o aplicativo empresarial, siga as diretrizes de Configurar criptografia de token SAML do aplicativo empresarial.

Certificados de criptografia são armazenados no objeto de aplicativo no Microsoft Entra ID com uma marca de uso encrypt. Você pode configurar vários certificados de criptografia e aquele que está ativo para criptografar tokens é identificado pelo atributo tokenEncryptionKeyID.

Você precisará do ID de objeto do aplicativo para configurar a criptografia de token usando a API do Microsoft Graph ou o PowerShell. Você pode encontrar esse valor programaticamente ou indo até a página Propriedades do aplicativo no centro de administração do Microsoft Entra e observando o valor ID do objeto.

Ao configurar uma keyCredential usando o Graph, o PowerShell ou o manifesto do aplicativo, você deve gerar um GUID para usar o keyId.

Para configurar a criptografia de token para um registro de aplicativo, siga essas etapas:

  1. Entre no Centro de administração do Microsoft Entra como pelo menos Administrador de Aplicativo de nuvem.

  2. Navegue até Identidade>Aplicativos>Registros de aplicativo>Todos os aplicativos.

  3. Insira o nome do aplicativo existente na caixa de pesquisa e, em seguida, selecione o aplicativo nos resultados da pesquisa.

  4. Na página do aplicativo, selecione Manifesto para editar o manifesto do aplicativo.

    O exemplo a seguir mostra um manifesto de aplicativo configurado com dois certificados de criptografia, com o segundo selecionado como ativo usando o tokenEnryptionKeyId.

    { 
      "id": "3cca40e2-367e-45a5-8440-ed94edd6cc35",
      "accessTokenAcceptedVersion": null,
      "allowPublicClient": false,
      "appId": "cb2df8fb-63c4-4c35-bba5-3d659dd81bf1",
      "appRoles": [],
      "oauth2AllowUrlPathMatching": false,
      "createdDateTime": "2017-12-15T02:10:56Z",
      "groupMembershipClaims": "SecurityGroup",
      "informationalUrls": { 
         "termsOfService": null, 
         "support": null, 
         "privacy": null, 
         "marketing": null 
      },
      "identifierUris": [ 
        "https://testapp"
      ],
      "keyCredentials": [ 
        { 
          "customKeyIdentifier": "Tog/O1Hv1LtdsbPU5nPphbMduD=", 
          "endDate": "2039-12-31T23:59:59Z", 
          "keyId": "8be4cb65-59d9-404a-a6f5-3d3fb4030351", 
          "startDate": "2018-10-25T21:42:18Z", 
          "type": "AsymmetricX509Cert", 
          "usage": "Encrypt", 
          "value": <Base64EncodedKeyFile> 
          "displayName": "CN=SAMLEncryptTest" 
        }, 
        {
          "customKeyIdentifier": "U5nPphbMduDmr3c9Q3p0msqp6eEI=",
          "endDate": "2039-12-31T23:59:59Z", 
          "keyId": "6b9c6e80-d251-43f3-9910-9f1f0be2e851",
          "startDate": "2018-10-25T21:42:18Z", 
          "type": "AsymmetricX509Cert", 
          "usage": "Encrypt", 
          "value": <Base64EncodedKeyFile> 
          "displayName": "CN=SAMLEncryptTest2" 
        } 
      ], 
      "knownClientApplications": [], 
      "logoUrl": null, 
      "logoutUrl": null, 
      "name": "Test SAML Application", 
      "oauth2AllowIdTokenImplicitFlow": true, 
      "oauth2AllowImplicitFlow": false, 
      "oauth2Permissions": [], 
      "oauth2RequirePostResponse": false, 
      "orgRestrictions": [], 
      "parentalControlSettings": { 
         "countriesBlockedForMinors": [], 
         "legalAgeGroupRule": "Allow" 
        }, 
      "passwordCredentials": [], 
      "preAuthorizedApplications": [], 
      "publisherDomain": null, 
      "replyUrlsWithType": [], 
      "requiredResourceAccess": [], 
      "samlMetadataUrl": null, 
      "signInUrl": "https://127.0.0.1:444/applications/default.aspx?metadata=customappsso|ISV9.1|primary|z" 
      "signInAudience": "AzureADMyOrg",
      "tags": [], 
      "tokenEncryptionKeyId": "6b9c6e80-d251-43f3-9910-9f1f0be2e851" 
    }  
    

Próximas etapas