Práticas recomendadas de segurança das propriedades dos aplicativos na ID do Microsoft Entra

A segurança é um conceito importante ao registrar um aplicativo na ID do Microsoft Entra e é uma parte crítica do seu uso comercial na organização. Qualquer configuração incorreta de um aplicativo pode resultar em tempo de inatividade ou em comprometimento. Dependendo das permissões adicionadas a um aplicativo, pode haver efeitos em toda a organização.

Como aplicativos seguros são essenciais para a organização, qualquer tempo de inatividade para eles devido a problemas de segurança pode afetar a empresa ou algum serviço crítico do qual a empresa depende. Portanto, é importante separar tempo e recursos para garantir que os aplicativos permaneçam sempre em um estado íntegro e seguro. Realize uma avaliação periódica de segurança e de integridade dos seus aplicativos, assim como uma avaliação do Modelo de ameaça de segurança para o código. Para ter uma perspectiva mais ampla sobre a segurança para organizações, confira o SDL (ciclo de vida de desenvolvimento de segurança).

Este artigo descreve as melhores práticas de segurança para as seguintes propriedades do aplicativo:

  • URI de redirecionamento
  • Tokens de acesso (usados para fluxos implícitos)
  • Certificados e segredos
  • URI da ID de Aplicativo
  • Propriedade do aplicativo

URI de redirecionamento

É importante manter os URIs de redirecionamento do seu aplicativo atualizados. Em Autenticação, no aplicativo no portal do Azure, uma plataforma precisa ser selecionada para o aplicativo e a propriedade URI de Redirecionamento pode ser definida.

Screenshot that shows where the redirect U R I property is located.

Considere as seguintes diretrizes para URIs de redirecionamento:

  • Mantenha a propriedade de todos os URIs. Uma falha na propriedade de um dos URIs de redirecionamento pode levar ao comprometimento do aplicativo.
  • Verifique se todos os registros DNS são atualizados e monitorados periodicamente quanto às alterações.
  • Não use URLs de resposta curinga ou esquemas de URI não seguros, como HTTP ou URN.
  • Mantenha a lista pequena. Corte os URIs desnecessários. Se possível, atualize as URLs de HTTP para HTTPS.

Tokens de acesso (usados para fluxos implícitos)

Os cenários que exigem o fluxo implícito já podem usar o Fluxo de código de autenticação para reduzir o risco de comprometimento associado ao uso indevido do fluxo implícito. Em Autenticação, no aplicativo no portal do Azure, uma plataforma precisa ser selecionada para o aplicativo e a propriedade Tokens de acesso (usada para fluxos implícitos) pode ser definida.

Screenshot that shows where the implicit flow property is located.

Considere as seguintes diretrizes relacionadas ao fluxo implícito:

  • Entenda se o fluxo implícito é necessário. Não use o fluxo implícito, a menos que explicitamente necessário.
  • Se o aplicativo foi configurado para receber tokens de acesso usando o fluxo implícito, mas não os usa ativamente, desative a configuração para protegê-lo contra uso indevido.
  • Use aplicativos separados para cenários de fluxo implícito válidos.

Certificados e segredos

Certificados e segredos, também conhecidos como credenciais, são uma parte vital de um aplicativo quando ele é usado como um cliente confidencial. Em Certificados e segredos, no aplicativo no portal do Azure, certificados e segredos podem ser adicionados ou removidos.

Screenshot that shows where the certificates and secrets are located.

Considere as seguintes diretrizes relacionadas a certificados e segredos:

  • Sempre que possível, use credenciais de certificado e não use credenciais de senha, também conhecidas como segredos. Embora seja conveniente usar segredos de senha como uma credencial, quando possível, use certificados x509 como o único tipo de credencial para obter tokens para um aplicativo.
  • Use o Key Vault com as identidades gerenciadas para gerenciar as credenciais de um aplicativo.
  • Se um aplicativo é usado apenas como um aplicativo cliente público (permite que os usuários se conectem usando um ponto de extremidade público), verifique se não há credenciais especificadas no objeto do aplicativo.
  • Revise as credenciais usadas nos aplicativos quanto à atualização de uso e ao vencimento. Uma credencial não usada em um aplicativo pode resultar em violação de segurança. Substitua as credenciais com frequência e não as compartilhe entre aplicativos. Não tenha muitas credenciais em um só aplicativo.
  • Monitore seus pipelines de produção para impedir o commit de credenciais de qualquer tipo em repositórios de códigos.
  • O Verificador de Credenciais é uma ferramenta de análise estática que pode ser usado para detectar credenciais (e outros tipos de conteúdo confidenciais) no código-fonte e na saída do build.

URI da ID de Aplicativo

A propriedade URI da ID do Aplicativo especifica o URI globalmente exclusivo usado para identificar a API Web. É o prefixo para escopos e em tokens de acesso, é também o valor da declaração de audiência e precisa usar um domínio de propriedade do cliente verificado. Para aplicativos multilocatário, o valor também precisa ser globalmente exclusivo. Ele também é chamado de URI de identificador. Em Expor uma API, no aplicativo no portal do Azure, a propriedade URI da ID do Aplicativo pode ser definida.

Screenshot that shows where the Application I D U R I is located.

Considere as seguintes diretrizes relacionadas à definição do URI da ID do Aplicativo:

  • Os esquemas de URI de API ou HTTPS são recomendados. Defina a propriedade nos formatos com suporte para evitar colisões de URI na organização. Não use curingas.
  • Use um domínio verificado em aplicativos LOB (linha de negócios).
  • Mantenha um inventário das URIs na organização para ajudar a manter a segurança.
  • Use o URI da ID do Aplicativo para expor o WebApi na organização. Em vez de usar o URI da ID do aplicativo para identificar o aplicativo, use a propriedade da ID de aplicativo (cliente).

Há suporte para os seguintes formatos de URI de ID de aplicativo baseados em esquema HTTP e API. Substitua os valores nos espaços reservados conforme descrito na lista após a tabela.

ID do aplicativo com suporte
Formatos de URI
URIs de ID do aplicativo de exemplo
api://<appId> api://fc4d2d73-d05a-4a9b-85a8-4f2b3a5f38ed
api://<tenantId>/<appId> api://a8573488-ff46-450a-b09a-6eca0c6a02dc/fc4d2d73-d05a-4a9b-85a8-4f2b3a5f38ed
api://<tenantId>/<string> api://a8573488-ff46-450a-b09a-6eca0c6a02dc/api
api://<string>/<appId> api://productapi/fc4d2d73-d05a-4a9b-85a8-4f2b3a5f38ed
https://<tenantInitialDomain>.onmicrosoft.com/<string> https://contoso.onmicrosoft.com/productsapi
https://<verifiedCustomDomain>/<string> https://contoso.com/productsapi
https://<string>.<verifiedCustomDomain> https://product.contoso.com
https://<string>.<verifiedCustomDomain>/<string> https://product.contoso.com/productsapi
  • <appId> - A propriedade do identificador de aplicativo (appId) do objeto de aplicativo.
  • <string> - O valor da cadeia de caracteres do host ou do segmento de linha da AP.
  • <tenantId> - Um GUID gerado pelo Azure para representar o locatário no Azure.
  • <tenantInitialDomain> - <tenantInitialDomain>.onmicrosoft.com, em que <tenantInitialDomain> é o nome de domínio inicial que o criador do locatário especificou na criação do locatário.
  • <verifiedCustomDomain> ─ Um domínio personalizado verificado que foi configurado para seu locatário do Microsoft Entra.

Observação

Ao usar o esquema api://, adicione um valor de cadeia de caracteres diretamente após "api://". Por exemplo, api://<string>. Esse valor de cadeia de caracteres pode ser um GUID ou uma cadeia de caracteres arbitrária. Se você adicionar um valor de GUID, ele deverá corresponder à ID do aplicativo ou à ID do locatário. O valor do URI da ID do aplicativo deve ser exclusivo para seu locatário. Se você adicionar api://<tenantId> como o URI da ID do aplicativo, ninguém mais poderá usar esse URI em nenhum outro aplicativo. Recomenda-se usar api://<appId> ou o esquema HTTP como alternativa.

Importante

O valor do URI da ID do aplicativo não deve terminar com um caractere "/" de barra.

Configuração de propriedade do aplicativo

Os proprietários podem gerenciar todos os aspectos de um aplicativo registrado. É importante revisar regularmente a propriedade de todos os aplicativos na organização. Para obter mais informações, consulte Revisões de acesso do Microsoft Entra. Em Proprietários, no aplicativo no portal do Azure, os proprietários do aplicativo podem ser gerenciados.

Screenshot that shows where owners of the application are managed.

Considere as seguintes diretrizes relacionadas à especificação de proprietários de aplicativos:

  • A propriedade do aplicativo deve ser mantida com um conjunto mínimo de pessoas na organização.
  • Um administrador deve revisar a lista de proprietários em intervalos de alguns meses para verificar se os proprietários ainda fazem parte da organização e ainda devem ser proprietários de um aplicativo.

Assistente de integração

O Assistente de integração do portal do Azure pode ser usado para verificar se um aplicativo atende a um nível de alta qualidade e para fornecer integração segura. O assistente de integração destaca as melhores práticas e recomendações que ajudam a evitar supervisões comuns na integração à plataforma de identidade da Microsoft.

Screenshot that shows where to find the integration assistant.

Próximas etapas