Boas práticas do PowerShell para o Microsoft Entra

Neste artigo, aprende como implementar as melhores práticas do Microsoft Entra PowerShell, que incluem registo de aplicações, melhorias de segurança, otimizações de desempenho e estratégias de manutenção.

Compreender estas práticas é crucial para minimizar riscos de segurança, otimizar o desempenho e manter sistemas up-todata. É essencial para proteger dados sensíveis e garantir operações fluidas em qualquer organização.

Registe uma aplicação em vez de usar uma aplicação empresarial

Pode registar as suas próprias aplicações adaptadas a diferentes casos de uso com permissões específicas, como para equipas de marketing ou help desk. Esta abordagem permite uma gestão de permissões mais detalhada e minimiza o impacto de segurança caso uma aplicação seja comprometida. Para criar uma aplicação registada, consulte Criar uma aplicação personalizada.

Inicie sessão com a aplicação que registou executando:

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

Também pode usar os pseudónimos AppId ou ApplicationId em vez de ClientId.

Segurança

Aplique as seguintes melhores práticas de consentimento e autorização na sua aplicação para aumentar a segurança:

  • Aplicar o privilégio mínimo: Conceder aos utilizadores e aplicações apenas a permissão com privilégios mais baixos de que necessitem para contactar o recurso Microsoft Entra. Escolhe as permissões menos privilegiadas. Por exemplo, se a aplicação ler apenas o perfil do utilizador com sessão iniciada, conceda User.Read em vez de User.ReadBasic.All. Para uma lista completa de permissões, consulte referência de permissões.

  • Use Disconnect-Entra: Execute sempre o Disconnect-Entra para remover todas as credenciais e contextos associados a uma conta. Este cmdlet limpa e fecha as ligações corretamente quando já não são necessárias. Reduz o risco de acesso não autorizado se a sessão ficar aberta ou se outra pessoa aceder ao seu ambiente PowerShell.

  • Use o tipo de permissão correto com base nos cenários: Evite usar permissões de aplicação e permissões delegadas na mesma aplicação. Se estiveres a construir uma aplicação interativa onde um utilizador iniciado está presente, a tua aplicação deve usar permissões delegadas. Se, no entanto, a sua aplicação for executada sem um utilizador com sessão iniciada, como um serviço em segundo plano ou daemon, a sua aplicação deve usar permissões da aplicação.

  • Seja cuidadoso com as permissões da aplicação: Evite usar permissões de aplicação para cenários interativos para evitar riscos de segurança e conformidade, pois isso pode elevar involuntariamente os privilégios do utilizador e contornar as políticas do administrador.

  • Seja ponderado ao configurar a sua aplicação: A configuração afeta as experiências dos utilizadores finais e administradores, bem como a adoção e segurança da aplicação. Por exemplo:

    • O nome, o logótipo, o domínio, o estado de verificação do editor, a declaração de privacidade e os termos de utilização da sua aplicação são apresentados no consentimento e noutras experiências. Configure estas definições cuidadosamente para que os seus utilizadores finais as compreendam.
    • Considere quem consente com a sua aplicação – sejam utilizadores finais ou administradores – e configure a sua aplicação para pedir permissões adequadamente.
    • Certifique-se de que compreende a diferença entre consentimento estático, dinâmico e incremental.
  • Cuidado com o aumento de permissões - Esteja atento às permissões que se acumulam para a aplicação registada ao longo do tempo.

  • Tire partido das predefinições de segurança e do Acesso Condicional - proteja os utilizadores com autenticação multifator do Microsoft Entra através do Acesso Condicional (para organizações licenciadas) e das predefinições de segurança (para organizações não licenciadas).

  • Tire partido das recomendações do Microsoft Entra - funcionalidade de recomendações do Microsoft Entra monitoriza diligentemente o estado do seu locatário, garantindo que este se mantém seguro e em bom estado de funcionamento. Tem acesso a aplicações usadas, credenciais a expirar, aplicações demasiado privilegiadas, entre outras.

  • Limitar o início de sessão de aplicações apenas a identidades atribuídas – A Assignment Required propriedade ajuda a gerir o acesso às aplicações, garantindo que apenas os utilizadores atribuídos possam iniciar sessão.

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

Otimizações de desempenho

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

Use um filtro

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

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

Selecione apenas propriedades obrigatórias

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

Defina o tamanho da página

Para pedidos que devolvam muitos objetos, aumente o tamanho da página até ao seu valor máximo de 999 usando -top parâmetro.

Get-EntraUser -All -Top 999

Maintenance

Aplique as seguintes melhores práticas de manutenção para garantir que o seu módulo e scripts PowerShell Microsoft Entra estão atualizados e funcionam de forma ótima:

Mantenha o módulo PowerShell Microsoft Entra atualizado

Manter o seu módulo atualizado é crucial por várias razões. Em primeiro lugar, permite-lhe beneficiar das funcionalidades e melhorias mais recentes, garantindo acesso aos cmdlets e funcionalidades mais recentes. Mais importante ainda, atualizações regulares melhoram a sua postura de segurança. A nossa equipa implementa consistentemente correções e correções de segurança, ajudando a proteger os seus sistemas contra vulnerabilidades.

Dica

Se usares o Microsoft Entra PowerShell com Automatização do Azure, atualiza também os módulos PowerShell nas tuas contas Automatização do Azure.

Update-Module -Name Microsoft.Entra

Depois de atualizar o teu módulo, remove as versões antigas.

Utilize o Get-Help

Get-Help fornece documentação abrangente diretamente na linha de comandos. Oferece informações detalhadas sobre cmdlets PowerShell do Microsoft Entra, funções, scripts e conceitos, incluindo exemplos de utilização, parâmetros aceites e 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-o na resolução de problemas fornecendo informações diagnósticas detalhadas enquanto interage com o Microsoft Entra PowerShell. Pode ajudar-te a perceber exatamente como funcionam os teus scripts e onde podem surgir problemas durante a fase de desenvolvimento e testes.

Get-EntraUser -Top 1 -Debug

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

Get-EntraUser -Top 1 -Debug 5>> <your-log-filepath>
  • 5 - representa o número do fluxo, Debug Stream. Para mais informações sobre streams, consulte Output Streams.
  • >> - representa o operador de redirecionamento. Para mais informações sobre operadores de redirecionamento, consulte Operadores de Redirecionamento.