Skip to content
Go back

Identificando Utilizadores Locais, Cloud e Híbridos

Published:  at  10:00 AM

Identificando Utilizadores Locais, Cloud e Híbridos

Em ambientes corporativos que utilizam soluções híbridas Microsoft, é comum encontrarmos três tipos de utilizadores: locais (on-premises), em cloud (cloud-only) e híbridos (sincronizados). Identificar corretamente estes tipos é essencial para aplicar políticas adequadas, solucionar problemas de autenticação e garantir o gerenciamento eficiente de identidades.

Os Três Tipos de Identidades

1. Utilizadores Locais (On-premises)

2. Utilizadores em Cloud (Cloud-only)

3. Utilizadores Híbridos (Sincronizados)

Identificação via Microsoft Graph API

A Microsoft Graph API oferece métodos para identificar facilmente o tipo de cada utilizador. O principal atributo que diferencia estas contas é o onPremisesSyncEnabled.

Consulta para Identificar Tipos de Utilizadores

# Conectar ao Microsoft Graph
Connect-MgGraph -Scopes "User.Read.All"

# Obter todos os utilizadores com atributos relevantes para identificação
$users = Get-MgUser -All -Property Id, DisplayName, UserPrincipalName, OnPremisesSyncEnabled, OnPremisesImmutableId, OnPremisesLastSyncDateTime

# Categorizar os utilizadores
$cloudUsers = $users | Where-Object { $null -eq $_.OnPremisesSyncEnabled }
$syncedUsers = $users | Where-Object { $_.OnPremisesSyncEnabled -eq $true }

# Exibir informações
Write-Host "Total de utilizadores: $($users.Count)"
Write-Host "Utilizadores em cloud: $($cloudUsers.Count)"
Write-Host "Utilizadores sincronizados: $($syncedUsers.Count)"

# Opcional: Exportar para CSV para análise posterior
$users | Select-Object DisplayName, UserPrincipalName, 
    @{Name="Tipo";Expression={
        if ($_.OnPremisesSyncEnabled -eq $true) {"Sincronizado"} 
        else {"Cloud"}
    }},
    OnPremisesImmutableId,
    OnPremisesLastSyncDateTime |
    Export-Csv -Path "TiposUtilizadores.csv" -NoTypeInformation -Encoding UTF8

Consulta Direta via Graph API REST

Para desenvolvedores que precisam usar a API REST diretamente:

GET https://graph.microsoft.com/v1.0/users?$select=id,displayName,userPrincipalName,onPremisesSyncEnabled,onPremisesImmutableId,onPremisesLastSyncDateTime

Atributos-Chave para Identificação

AtributoUtilizadores CloudUtilizadores Sincronizados
onPremisesSyncEnablednulltrue
onPremisesImmutableIdnullValor do objectGUID do AD convertido para Base64
onPremisesLastSyncDateTimenullData/hora da última sincronização
sourceAzure Active DirectoryWindows Server AD

Casos de Uso para Identificação

  1. Aplicação seletiva de políticas: Frequentemente, políticas de segurança diferentes são aplicadas a contas cloud vs. sincronizadas

  2. Troubleshooting de autenticação: Problemas de login têm causas e soluções diferentes dependendo do tipo de conta

  3. Gestão de licenças: Estratégias de licenciamento podem variar com base no tipo de conta

  4. Operações em massa: Automatização de tarefas diferenciadas para cada tipo de conta

  5. Auditoria e conformidade: Mapeamento de contas para relatórios regulatórios

Implementação de Política Baseada em Tipo de Conta

Com a Microsoft Graph API, você pode implementar políticas baseadas no tipo de conta. Exemplo:

# Aplicar MFA apenas para contas cloud
$cloudUsers = Get-MgUser -All -Filter "onPremisesSyncEnabled eq null" -Select "id,displayName,userPrincipalName"

foreach ($user in $cloudUsers) {
    # Aplicar política de MFA (exemplo conceitual)
    Set-MgUserAuthenticationMethodPolicy -UserId $user.Id -PolicyName "Cloud_MFA_Policy"
    Write-Host "Aplicada política de MFA para $($user.DisplayName)"
}

Identificação de Contas Locais (On-Premises Only)

Para identificar contas que existem apenas no AD local e não foram sincronizadas ao Entra ID, você precisará:

  1. Obter todos os utilizadores do AD local
  2. Obter todos os utilizadores sincronizados do Entra ID
  3. Comparar os conjuntos para identificar utilizadores locais sem representação no cloud
# Obter utilizadores AD local
$adUsers = Get-ADUser -Filter * -Properties ObjectGUID, UserPrincipalName, EmailAddress

# Obter utilizadores sincronizados do Entra ID
Connect-MgGraph -Scopes "User.Read.All"
$syncedUsers = Get-MgUser -All -Filter "onPremisesSyncEnabled eq true" -Select "onPremisesImmutableId"

# Converter imutableId para formato comparável com ObjectGUID
$syncedGuids = $syncedUsers | ForEach-Object {
    if ($_.OnPremisesImmutableId) {
        [Guid][System.Convert]::FromBase64String($_.OnPremisesImmutableId)
    }
}

# Encontrar usuários que existem apenas no AD local
$onPremOnlyUsers = $adUsers | Where-Object { $syncedGuids -notcontains $_.ObjectGUID }

Write-Host "Utilizadores apenas locais (não sincronizados): $($onPremOnlyUsers.Count)"

Considerações sobre Segurança e Gestão

  1. Políticas de senha: Contas sincronizadas geralmente seguem políticas do AD local, enquanto contas cloud seguem políticas do Entra ID

  2. Self-Service Password Reset (SSPR): Configuração difere para contas cloud vs. sincronizadas

  3. Autenticação baseada em risco: Contas cloud podem aproveitar todos os recursos do Identity Protection

  4. Ciclo de vida da conta: Contas sincronizadas dependem do AD local para gerenciamento do ciclo de vida

Melhorando o Processo de Gestão

Para ambientes híbridos complexos, considere:

  1. Etiquetagem clara: Use extensões de esquema ou campos personalizados para marcar claramente os tipos de contas

  2. Automação de relatórios: Crie relatórios periódicos sobre a distribuição de tipos de contas

  3. Monitoramento de sincronização: Alertas para falhas de sincronização que podem afetar contas híbridas

  4. Documentação de processos: Documente claramente qual sistema é autoritativo para cada tipo de atributo

Conclusão

A identificação precisa do tipo de cada utilizador em um ambiente híbrido é fundamental para a gestão eficaz de identidades. Com a Microsoft Graph API, esta tarefa pode ser facilmente automatizada, permitindo a aplicação de políticas específicas e a resolução eficiente de problemas relacionados à identidade.

A tendência de longo prazo na maioria das organizações é a migração gradual para identidades baseadas em cloud, mas a realidade atual para muitas empresas ainda é um ambiente híbrido complexo que exige um gerenciamento cuidadoso de diferentes tipos de contas de utilizador.


Suggest Changes

Previous Post
AtribuiçÀo de Acesso Granular a Sites SharePoint via Microsoft Graph API
Next Post
Mapeamento de Claims