Lista de verificação de integração da plataforma Microsoft IdentityMicrosoft identity platform integration checklist

A lista de verificação de integração da plataforma Microsoft Identity destina-se a orientá-lo a uma integração segura e de alta qualidade.The Microsoft identity platform integration checklist is intended to guide you to a high-quality and secure integration. Ele realça práticas recomendadas e supervisões comuns ao integrar com a plataforma Microsoft Identity, portanto, examine a lista regularmente para garantir que você mantenha a qualidade e a segurança da integração do seu aplicativo com a plataforma de identidade.It highlights best practices and common oversights when integrating with the Microsoft identity platform so review the list on a regular basis to make sure you maintain the quality and security of your app’s integration with the identity platform. A lista de verificação não se destina a examinar todo o aplicativo.The checklist isn't intended to review your entire application. O conteúdo da lista de verificação está sujeito a alterações à medida que fizermos melhorias na plataforma.The contents of the checklist are subject to change as we make improvements to the platform.

Se você estiver apenas começando, confira a documentação para saber mais sobre noções básicas de autenticação, cenários de aplicativos na plataforma de identidade da Microsoft e muito mais.If you’re just getting started, check out the documentation to learn about authentication basics, application scenarios in Microsoft identity platform, and more.

Testando sua integraçãoTesting your integration

Use a seguinte lista de verificação para garantir que seu aplicativo seja efetivamente integrado à plataforma de identidade da Microsoft.Use the following checklist to ensure that your application is effectively integrated with the Microsoft identity platform.

Noções BásicasBasics

verificação Leia e entenda as políticas da plataforma Microsoft.Read and understand the Microsoft Platform Policies. Verifique se seu aplicativo segue os termos descritos como foram projetados para proteger os usuários e a plataforma.Ensure that your application adheres to the terms outlined as they're designed to protect users and the platform.

PropriedadeOwnership

verificação Verifique se as informações associadas à conta que você usou para registrar e gerenciar aplicativos estão atualizadas.Make sure the information associated with the account you used to register and manage apps is up-to-date.

Identidade visualBranding

verificação Siga as diretrizes de identidade visual para aplicativos.Adhere to the Branding guidelines for applications.
verificação Forneça um nome e um logotipo significativos para seu aplicativo.Provide a meaningful name and logo for your application. Essas informações são exibidas no prompt de consentimento do seu aplicativo.This information appears on your application’s consent prompt. Certifique-se de que seu nome e logotipo sejam representativos da sua empresa/produto para que os usuários possam tomar decisões informadas.Make sure your name and logo are representative of your company/product so that users can make informed decisions. Certifique-se de que você não está violando marcas comerciais.Ensure that you're not violating any trademarks.

PrivacidadePrivacy

verificação Forneça links para os termos de serviço e a política de privacidade do seu aplicativo.Provide links to your app's terms of service and privacy statement.

SegurançaSecurity

verificação Mantenha a propriedade de todos os URIs de redirecionamento e mantenha os registros DNS para eles atualizados.Maintain ownership of all your redirect URIs and keep the DNS records for them up-to-date. Não use caracteres curinga (*) em seus URIs.Don't use wildcards (*) in your URIs. Para aplicativos Web, verifique se todos os URIs estão seguros e criptografados (por exemplo, usando esquemas HTTPS).For web apps, make sure all URIs are secure and encrypted (for example, using https schemes). Para clientes públicos, use URIs de redirecionamento específicos da plataforma, se aplicável (principalmente para iOS e Android).For public clients, use platform-specific redirect URIs if applicable (mainly for iOS and Android). Caso contrário, use URIs de redirecionamento com uma grande quantidade de aleatoriedade para evitar colisões ao chamar de volta para seu aplicativo.Otherwise, use redirect URIs with a high amount of randomness to prevent collisions when calling back to your app. Se seu aplicativo estiver sendo usado de um agente Web isolado, você poderá usar https://login.microsoftonline.com/nativeclient o.If your app is being used from an isolated web agent, you may use https://login.microsoftonline.com/nativeclient. Revise e corte todos os URIs de redirecionamento não utilizados ou desnecessários regularmente.Review and trim all unused or unnecessary redirect URIs on a regular basis.
verificação Se seu aplicativo estiver registrado em um diretório, minimize e monitore manualmente a lista de proprietários de registro de aplicativo.If your app is registered in a directory, minimize and manually monitor the list of app registration owners.
verificação Não habilite o suporte para o fluxo de concessão implícita OAuth2 , a menos que seja explicitamente necessário.Don't enable support for the OAuth2 implicit grant flow unless explicitly required. Saiba mais sobre o cenário válido aqui.Learn about the valid scenario here.
verificação Não use o ROPC (fluxo de credenciais de senha) do proprietário do recurso, que lida diretamente com as senhas dos usuários.Don't use resource owner password credential flow (ROPC), which directly handles users’ passwords. Esse fluxo requer um alto grau de confiança e exposição do usuário e deve ser usado somente quando outros fluxos mais seguros não podem ser usados.This flow requires a high degree of trust and user exposure and should only be used when other, more secure, flows can't be used.
verificação Proteja e gerencie suas credenciais de aplicativo.Protect and manage your app credentials. Use credenciais de certificado, não credenciais de senha (segredos de cliente).Use certificate credentials, not password credentials (client secrets). Se você precisar usar uma credencial de senha, não a defina manualmente.If you must use a password credential, don't set it manually. Não armazene credenciais no código ou na configuração e nunca permita que elas sejam manipuladas por seres humanos.Don't store credentials in code or config, and never allow them to be handled by humans. Se possível, use identidades gerenciadas para recursos do Azure ou Azure Key Vault para armazenar e girar suas credenciais regularmente.If possible, use managed identities for Azure resources or Azure Key Vault to store and regularly rotate your credentials.
verificação Verifique se seu aplicativo solicita as permissões de privilégios mínimos.Make sure your application requests the least privilege permissions. Solicite apenas permissões que seu aplicativo precisa, e somente quando você precisar deles.Only ask for permissions that your application absolutely needs, and only when you need them. Entenda os diferentes tipos de permissões.Understand the different types of permissions. Usar permissões de aplicativo somente se necessário; Use permissões delegadas sempre que possível.Only use application permissions if required; use delegated permissions where possible. Para obter uma lista completa de permissões de Microsoft Graph, consulte esta referência de permissões.For a full list of Microsoft Graph permissions, see this permissions reference.
verificação Se você estiver protegendo uma API usando a plataforma de identidade da Microsoft, pense cuidadosamente nas permissões que ele deve expor.If you're securing an API using the Microsoft identity platform, carefully think through the permissions it should expose. Considere qual é a granularidade certa para sua solução e quais permissões exigem o consentimento do administrador.Consider what's the right granularity for your solution and which permission(s) require admin consent. Verifique as permissões esperadas nos tokens de entrada antes de tomar decisões de autorização.Check for expected permissions in the incoming tokens before making any authorization decisions.

ImplementaçãoImplementation

verificação Use as soluções de autenticação modernas (OAuth 2,0, OpenID Connect) para conectar usuários com segurança.Use modern authentication solutions (OAuth 2.0, OpenID Connect) to securely sign in users.
verificação Não implemente os protocolos por conta própria – use bibliotecas de autenticação com suporte da Microsoft (MSAL, middleware do servidor).Don’t implement the protocols yourself – use Microsoft-supported authentication libraries (MSAL, server middleware). Verifique se você está usando a versão mais recente da biblioteca de autenticação que você integrou com o.Make sure you're using the latest version of the authentication library that you've integrated with.
verificação Se os dados necessários para o seu aplicativo estiverem disponíveis por meio de Microsoft Graph, solicite permissões para esses dados usando o ponto de extremidade Microsoft Graph em vez da API individual.If the data your app requires is available through Microsoft Graph, request permissions for this data using the Microsoft Graph endpoint rather than the individual API.

Experiência do usuário finalEnd-user experience

verificação Entenda a experiência de consentimento e configure as partes do prompt de consentimento do seu aplicativo para que os usuários finais e administradores tenham informações suficientes para determinar se eles confiam no seu aplicativo.Understand the consent experience and configure the pieces of your app’s consent prompt so that end users and admins have enough information to determine if they trust your app.
verificação Minimize o número de vezes que um usuário precisa inserir credenciais de logon ao usar seu aplicativo tentando a autenticação silenciosa (aquisição de token silenciosa) antes dos fluxos interativos.Minimize the number of times a user needs to enter login credentials while using your app by attempting silent authentication (silent token acquisition) before interactive flows.
verificação Não use "prompt = consentimento" para cada entrada.Don't use “prompt=consent” for every sign-in. Use avisar = consentimento somente se você tiver determinado que precisa pedir permissões adicionais (por exemplo, se tiver alterado as permissões necessárias do aplicativo).Only use prompt=consent if you’ve determined that you need to ask for consent for additional permissions (for example, if you’ve changed your app’s required permissions).
verificação Quando aplicável, enriquecer seu aplicativo com os dados do usuário.Where applicable, enrich your application with user data. Use a API Microsoft Graph é uma maneira fácil de fazer isso.Use the Microsoft Graph API is an easy way to do this. A ferramenta Graph Explorer que pode ajudá-lo a começar.The Graph explorer tool that can help you get started.
verificação Registre o conjunto completo de permissões que seu aplicativo requer para que os administradores possam conceder o consentimento facilmente ao seu locatário.Register the full set of permissions that your app requires so admins can grant consent easily to their tenant. Use o consentimento incremental em tempo de execução para ajudar os usuários a entender por que seu aplicativo está solicitando permissões que podem se preocupar ou confundir os usuários quando solicitado na primeira inicialização.Use incremental consent at run time to help users understand why your app is requesting permissions that may concern or confuse users when requested on first start.
verificação Implemente uma experiência de logoff único limpa.Implement a clean single sign-out experience. Trata-se de uma privacidade e um requisito de segurança, e possibilita uma boa experiência do usuário.It’s a privacy and a security requirement, and makes for a good user experience.

TestesTesting

verificação Teste para políticas de acesso condicional que podem afetar a capacidade dos usuários de usar seu aplicativo.Test for Conditional Access policies that may affect your users’ ability to use your application.
verificação Teste seu aplicativo com todas as contas possíveis às quais você planeja dar suporte (por exemplo, contas corporativas ou de estudante, contas pessoais da Microsoft, contas filho e contas soberanas).Test your application with all possible accounts that you plan to support (for example, work or school accounts, personal Microsoft accounts, child accounts, and sovereign accounts).

Recursos adicionaisAdditional resources

Explore informações detalhadas sobre a v2.0:Explore in-depth information about v2.0: