Práticas recomendadas de segurança para propriedades de aplicativos no Microsoft Entra ID

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

Como os aplicativos seguros são essenciais para a organização, qualquer tempo de inatividade devido a problemas de segurança pode afetar os negócios ou algum serviço crítico do qual os negócios dependam. Por isso, é importante alocar tempo e recursos para garantir que os aplicativos permaneçam sempre em um estado saudável e seguro. Realize uma avaliação periódica de segurança e integridade de aplicativos, de forma muito semelhante a uma avaliação de Modelo de Ameaça de Segurança para código. Para obter uma perspetiva mais ampla sobre segurança para organizações, consulte o ciclo de vida de desenvolvimento de segurança (SDL).

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

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

Redirecionar URL

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

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

Considere as seguintes orientações para redirecionar URIs:

  • Mantenha a propriedade de todos os URIs. Um lapso na propriedade de um dos URIs de redirecionamento pode levar ao comprometimento do aplicativo.
  • Certifique-se de que todos os registos DNS são atualizados e monitorizados periodicamente em busca de alterações.
  • Não use URLs de resposta curinga ou esquemas de URI inseguros, como http ou URN.
  • Mantenha a lista pequena. Corte todos os URIs desnecessários. Se possível, atualize URLs de Http para Https.

Tokens de acesso (usados para fluxos implícitos)

Os cenários que exigiam fluxo implícito agora 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 para o aplicativo no portal do Azure, uma plataforma deve ser selecionada para o aplicativo e, em seguida, a propriedade Tokens de acesso (usados para fluxos implícitos) pode ser definida.

Screenshot that shows where the implicit flow property is located.

Considere as seguintes orientações relacionadas ao fluxo implícito:

  • Entenda se o fluxo implícito é necessário. Não use fluxo implícito, a menos que explicitamente necessário.
  • Se o aplicativo foi configurado para receber tokens de acesso usando fluxo implícito, mas não os usa ativamente, desative a configuração para proteger 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 para o aplicativo no portal do Azure, os certificados e segredos podem ser adicionados ou removidos.

Screenshot that shows where the certificates and secrets are located.

Considere as seguintes orientações relacionadas a certificados e segredos:

  • Sempre use credenciais de certificado sempre que possível 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.
    • Configure políticas de método de autenticação de aplicativo para controlar o uso de segredos, limitando sua vida útil ou bloqueando seu uso completamente.
  • Use o Cofre de Chaves com identidades gerenciadas para gerenciar credenciais de um aplicativo.
  • Se um aplicativo for usado apenas como um Aplicativo Cliente Público (permite que os usuários entrem usando um ponto de extremidade público), verifique se não há credenciais especificadas no objeto do aplicativo.
  • Analise as credenciais usadas em aplicativos para verificar se há atualização de uso e sua validade. Uma credencial não utilizada em um aplicativo pode resultar em uma violação de segurança. Sobreponha credenciais com frequência e não compartilhe credenciais entre aplicativos. Não tenha muitas credenciais em um aplicativo.
  • Monitore seus pipelines de produção para evitar que credenciais de qualquer tipo sejam confirmadas em repositórios de código.
  • O Credential Scanner é uma ferramenta de análise estática que pode ser usada para detetar credenciais (e outros conteúdos confidenciais) no código-fonte e na saída da compilação.

URI da ID do aplicativo

A propriedade URI da ID do aplicativo especifica o URI globalmente exclusivo usado para identificar a API da Web. É o prefixo para escopos e em tokens de acesso, também é o valor da declaração de audiência e deve usar um domínio de propriedade do cliente verificado. Para aplicativos multilocatário, o valor também deve ser globalmente exclusivo. Também é conhecido como um URI de identificador. Em Expor uma API para o 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 orientações relacionadas à definição do URI da ID do aplicativo:

  • Os esquemas de URI api ou https são recomendados. Defina a propriedade nos formatos suportados para evitar colisões de URI em sua organização. Não use curingas.
  • Use um domínio verificado em aplicativos de Linha de Negócios (LoB).
  • Mantenha um inventário dos URIs em sua organização para ajudar a manter a segurança.
  • Use o URI da ID do Aplicativo para expor a WebApi na organização. Não use o URI da ID do Aplicativo para identificar o aplicativo e, em vez disso, use a propriedade ID do Aplicativo (cliente).

Os seguintes formatos de URI de ID de aplicativo baseados em esquema API e HTTP são suportados. Substitua os valores de espaço reservado conforme descrito na lista a seguir à tabela.

ID do aplicativo suportado
Formatos de URI
Exemplo de URIs de ID de aplicativo
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>.<verificadoCustomDomain> https://product.contoso.com
https://< string>.<verifiedCustomDomain>/<string> https://product.contoso.com/productsapi
  • <appId> - A propriedade application identifier (appId) do objeto do aplicativo.
  • <string> - O valor da cadeia de caracteres para o host ou o segmento do caminho da api.
  • <tenantId> - Um GUID gerado pelo Azure para representar o locatário no Azure.
  • <tenantInitialDomain> - <tenantInitialDomain.onmicrosoft.com>, onde< 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 configurado para seu locatário do Microsoft Entra.

Nota

Se você usar o esquema api:// , adicionará um valor de cadeia de caracteres diretamente após o "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 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 de ID do aplicativo, ninguém mais poderá usar esse URI em nenhum outro aplicativo. A recomendação é usar api://< appId>, em vez disso, ou o esquema HTTP.

Importante

O valor de URI do 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 aspetos de um aplicativo registrado. É importante rever 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 do 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 orientações relacionadas à especificação de proprietários de aplicativos:

  • A propriedade do aplicativo deve ser mantida para um conjunto mínimo de pessoas dentro da organização.
  • Um administrador deve revisar a lista de proprietários uma vez a cada poucos meses para garantir que os proprietários ainda façam parte da organização e ainda devam possuir um aplicativo.

Assistente de integração

O Assistente de integração no portal do Azure pode ser usado para garantir que um aplicativo atenda a uma barra de alta qualidade e para fornecer integração segura. O assistente de integração destaca as práticas recomendadas e as recomendações que ajudam a evitar descuidos comuns ao integrar com a plataforma de identidade da Microsoft.

Screenshot that shows where to find the integration assistant.

Próximos passos