práticas recomendadas do Microsoft Entra PowerShell

Neste artigo, você aprenderá a implementar Microsoft Entra práticas recomendadas do PowerShell que incluem registro de aplicativo, aprimoramentos de segurança, otimizações de desempenho e estratégias de manutenção.

Entender essas práticas é crucial para minimizar os riscos de segurança, otimizar o desempenho e manter os sistemas atualizados. É essencial para proteger dados confidenciais e garantir operações suaves em qualquer organização.

Registrar um aplicativo em vez de usar um aplicativo empresarial

Você pode registrar seus próprios aplicativos personalizados para diferentes casos de uso com permissões específicas, como para equipes de marketing ou suporte técnico. Essa abordagem permite um gerenciamento de permissões mais granular e minimiza o impacto na segurança se um aplicativo estiver comprometido. Para criar um aplicativo registrado, consulte Criar um aplicativo personalizado.

Faça logon usando o aplicativo que você registrar executando:

Connect-Entra -ClientId <your-custom-app-id> -TenantId <your-tenant-id>

Você também pode usar os aliases AppId ou ApplicationId no lugar de ClientId.

Segurança

Aplique as seguintes práticas recomendadas de consentimento e autorização em seu aplicativo para aprimorar a segurança:

  • Aplicar privilégios mínimos: conceda aos usuários e aplicativos apenas a menor permissão privilegiada necessária para chamar o recurso de Microsoft Entra. Escolha as permissões menos privilegiadas. Por exemplo, se o aplicativo ler apenas o perfil do usuário conectado no momento, conceda User.Read em vez de User.ReadBasic.All. Para obter uma lista completa de permissões, consulte a referência de permissões.

  • Use Disconnect-Entra: sempre execute Disconnect-Entra para remover todas as credenciais e contextos associados a uma conta. Esse cmdlet limpa corretamente e fecha as conexões quando elas não são mais necessárias. Isso reduz o risco de acesso não autorizado se a sessão for deixada aberta ou se outra pessoa acessar seu ambiente do PowerShell.

  • Use o tipo de permissão correto com base em cenários: evite usar o aplicativo e as permissões delegadas no mesmo aplicativo. Se você estiver criando um aplicativo interativo em que um usuário conectado está presente, seu aplicativo deverá usar permissões delegadas. Se, no entanto, seu aplicativo for executado sem um usuário conectado, como um serviço em segundo plano ou daemon, seu aplicativo deverá usar permissões de aplicativo.

  • Tenha cuidado com as permissões de aplicativo: evite usar permissões de aplicativo para cenários interativos para evitar riscos de segurança e conformidade, pois isso pode elevar involuntariamente os privilégios de um usuário e ignorar as políticas de administrador.

  • Tenha cuidado ao configurar seu aplicativo: a configuração afeta as experiências de usuário final e administrador, juntamente com a adoção e a segurança do aplicativo. Por exemplo:

    • O nome, o logotipo, o domínio, o status de verificação do editor, a política de privacidade e os termos de uso do seu aplicativo aparecem nas experiências de consentimento e em outras experiências. Defina essas configurações com cuidado para que os usuários finais as entendam.
    • Considere quem consente com seu aplicativo - usuários finais ou administradores - e configure seu aplicativo para solicitar permissões adequadamente.
    • Verifique se você entende a diferença entre o consentimento estático, dinâmico e incremental.
  • Cuidado com o acúmulo gradual de permissões - fique de olho nas permissões do aplicativo registrado que se acumulam ao longo do tempo.

  • Utilize os Padrões de segurança e o Acesso Condicional - proteja os usuários com a autenticação multifator do Microsoft Entra usando o Acesso Condicional (para organizações licenciadas) e os Padrões de segurança (para organizações não licenciadas).

  • Aproveite as recomendações do Microsoft Entra - O recurso Recomendações do Microsoft Entra monitora diligentemente o status do seu locatário, garantindo que ele permaneça seguro e saudável. Você tem visibilidade de aplicativos usados, credenciais expiradas, aplicativos com privilégios excessivos, entre outros.

  • Limitar a entrada do aplicativo a apenas identidades atribuídas – a Assignment Required propriedade ajuda a gerenciar o acesso aos aplicativos, garantindo que somente usuários atribuídos possam entrar.

Connect-Entra -Scopes 'Application.ReadWrite.All'
Get-EntraServicePrincipal -Filter "DisplayName eq 'Contoso Demo App'" | Set-EntraServicePrincipal -AppRoleAssignmentRequired $true

Otimizações de desempenho

As práticas a seguir podem ajudá-lo a otimizar o desempenho ao trabalhar com Microsoft Entra PowerShell:

Use um filtro

A filtragem é feita no lado do servidor limitando sua seleção para recuperar um subconjunto de uma coleção, o que ajuda a reduzir o tráfego de rede desnecessário e o processamento de dados.

Get-EntraUser -Filter "startsWith(DisplayName,'Ada')"

Selecionar somente as propriedades necessárias

Selecionando as propriedades necessárias usando o -Property parâmetro para obter apenas as propriedades necessárias.

Definir o tamanho da página

Para solicitações que retornam muitos objetos, aumente o tamanho da página para seu valor máximo de 999 usando -top parâmetro.

Get-EntraUser -All -Top 999

Maintenance

Aplique as seguintes práticas recomendadas de manutenção para garantir que seu módulo e scripts do PowerShell Microsoft Entra estejam atualizados e funcionando de forma ideal:

Manter o módulo do PowerShell do Microsoft Entra atualizado

Manter seu módulo atualizado é crucial por vários motivos. Em primeiro lugar, ele permite que você se beneficie dos recursos e aprimoramentos mais recentes, garantindo que você tenha acesso aos cmdlets e funcionalidades mais atuais. Mais importante, as atualizações regulares melhoram sua postura de segurança. Nossa equipe implementa consistentemente correções de segurança e patches, ajudando a proteger seus sistemas contra vulnerabilidades.

Dica

Se você usar o Microsoft Entra PowerShell com Automação do Azure, atualize os módulos do PowerShell em suas contas de Automação do Azure também.

Update-Module -Name Microsoft.Entra

Depois de atualizar o módulo, remova as versões mais antigas.

Usar Get-Help

Get-Help fornece uma documentação abrangente diretamente na linha de comando. Ele oferece informações detalhadas sobre cmdlets, funções, scripts e conceitos do Microsoft Entra PowerShell, incluindo exemplos de uso, parâmetros aceitos e dados de saída. Get-Help promove scripts eficientes e ajuda a evitar erros comuns.

Get-Help Get-EntraUser -Detailed

Usar a opção de depuração

-Debugajuda você na solução de problemas fornecendo informações detalhadas de diagnóstico à medida que interage com Microsoft Entra PowerShell. Ele pode ajudá-lo a entender exatamente como seus scripts estão funcionando e onde quaisquer problemas podem surgir durante a fase de desenvolvimento e teste.

Get-EntraUser -Top 1 -Debug

Para enviar o fluxo de saída de depuração para um arquivo de log, use:

Get-EntraUser -Top 1 -Debug 5>> <your-log-filepath>
  • 5- representa o número do fluxo. Debug Stream Para obter mais informações sobre fluxos, consulte Fluxos de Saída.
  • >> – representa o operador de redirecionamento. Para obter mais informações sobre operadores de redirecionamento, consulte Operadores de Redirecionamento.