Olá pessoal. No artigo de hoje vou explicar como configurar o JEA (Just enough administration) no serviço AD FS. Essa funcionalidade permite administradores do serviço AD FS delegarem acessos limitados a outros usuários sem a necessidade de conceder acesso administrativo aos servidores. Um exemplo é delegar acesso aos técnicos de atendimento aos usuários a permissão de desbloqueio de contas bloqueadas pelo AD FS Smart lockout.
O que é o JEA (Just Enough Administration)?
O JEA permite que administradores deleguem acesso limitado em um determinado serviço a outros usuários sem permitir o acesso adminitrativo aos servidores, evitando o acesso desnecessário e controlando as atividades administrativas executadas nos servidores. Mais informações sobre essa funcionalidade podem ser encontradas através deste link.
Vamos executar as seguintes atividades neste artigo:
- Criar a conta de serviço gMSA para uso no laboratório.
- Configurar o JEA nos servidores AD FS.
- Instalar a conta gMSA nos servidores AD FS.
- Criar o grupo de acesso delegado.
- Criar a pasta RoleCapabilities.
- Criar os arquivos de configuração de função do PowerShell.
- Registrar a sessão remota utilizando os arquivos de configuração.
- Efetuar o teste de acesso remoto usando o PowerShell com um usuário de teste.
Criando a conta de serviço (gMSA)
Os passos abaixo devem ser executados em um servidor controlador de domínio.
Execute o comando abaixo se é a primeira conta gMSA do domínio:
Add-KdsRootKey -EffectiveTime ((get-date).addhours(-10))
No nosso caso, como não é a primeira conta, vamos executar o comando abaixo:
Get-KdsRootKey

Com o KeyID em mãos, podemos prosseguir com a configuração do serviço.
Configurando JEA nos servidores AD FS
Vamos agora executar os comandos abaixo nos servidores AD FS:
$adfsServer = Get-ADComputer -Identity "AD FS server hostname"
Se possuir mais de um servidor AD FS, execute em todos os servidores.

Rode o comando abaixo em um servidor controlador de domínio para criar e dar permissão para a nova conta de serviço nos servidores AD FS.
$ServiceAccount = New-ADServiceAccount "nome da conta de serviço" -DNSHostName "FQDN do domínio que contém o KeyID" -PrincipalsAllowedToRetrieveManagedPassword $adfsServer –passthru

Vamos agora rodar o comando abaixo nos servidores AD FS:
Add-ADComputerServiceAccount -Identity "servidor AD FS" -ServiceAccount $ServiceAccount

Instalando a conta gMSA no servidor ADFS
Install-ADServiceAccount "conta de serviço criada anteriormente"

Vamos dar permissão de administrador local no servidor AD FS incluindo a conta gMSA no grupo “Administrators”

Vamos agora criar o grupo de segurança que nos permitirá dar aos seus membros privilégios controlados no serviço AD FS.
Vamos criar o grupo de segurança no AD e incluir pelo menos um usuário para nosso teste.
Criando um grupo de administradores delegados
Em nosso exemplo, vou criar o grupo de segurança ADFSAdmins e incluir o usuário otto@ulyneves.com.

Criando a pasta “RoleCapabilities”
No servidor AD FS, vamos criar a pasta que irá armazenar as funções executando os comandos abaixo:
$modulePath = Join-Path $env:ProgramFiles "WindowsPowerShell\Modules\ADFSActivity" New-Item -ItemType Directory -Path $modulePath New-Item -ItemType File -Path (Join-Path $modulePath "ADFSActivityFunctions.psm1") New-ModuleManifest -Path (Join-Path $modulePath "ADFSActivity.psd1") -RootModule "ADFSActivityFunctions.psm1" $rcFolder = Join-Path $modulePath "RoleCapabilities" New-Item -ItemType Directory $rcFolder
Para facilitar, executamos os comandos acima utilizando o PowerShell ISE.

Criando os arquivos de configuração de função do PowerShell
Vamos agora criar os arquivos de configuração de função e armazenar na pasta do servidor AD FS através da variável $rcFolder criada no passo anterior.
@{
GUID = '752d9f89-5dc8-4720-9baf-a9ea2749ab5b'
ModulesToImport = 'ADFS'
VisibleCmdlets = 'Reset-AdfsAccountLockout', 'Get-ADFSAccountActivity', 'Set-ADFSAccountActivity', 'Get-AdfsProperties'
}
Salve o arquivo no servidor AD FS como: C:\Program Files\WindowsPowerShell\Modules\ADFSActivity\RoleCapabilities\ADFSActivity.psrc

Vamos criar um outro arquivo do tipo .pssc para integrar o grupo de segurança criado no AD ao módulo “ADFSActivity”.
Abra o notepad, cole as informações abaixo e altere somente o grupo de segurança e a conta gMSA criados no início deste artigo.
@{
SchemaVersion = '2.0.0.0'
GUID = 'ffb4c0b2-f161-4ddc-a769-d2419b489170'
SessionType = 'RestrictedRemoteServer'
ModulesToImport = 'ADFSActivity'
GroupManagedServiceAccount = 'Conta gMSA criada'
RoleDefinitions = @{ 'domínio\grupo de segurança' = @{ RoleCapabilities = 'ADFSActivity' } }
}
Salve o arquivo como ADFSActivity.pssc no mesmo diretório que o arquivo ADFSActivity.psrc do passo anterior.

Registrando a sessão remota utilizando os arquivos de configuração
Com os arquivos criados, vamos agora registrar a configuração de sessão no AD FS utilizando os arquivos criados. Para isso, execute o comando abaixo:
Register-PSSessionConfiguration -Name 'ADFSActivity' -Path "C:\Program Files\WindowsPowerShell\Modules\ADFSActivity\RoleCapabilities\ADFSActivity.pssc" -Force

Testando as permissões no serviço AD FS usando o powershell
Com a configuração concluída nos servidores AD FS, vamos agora testar os acessos do usuário Otto@ulyneves.com ao servidor AD FS via sessão remota utilizando powershell.
Vamos acessar um desktop com a conta otto@ulyneves.com e abrir o powershell. Vamos executar o seguinte comando para acessar remotamente o servidor AD FS:
Enter-PSSession -ComputerName 'ADFSServerName' -ConfigurationName ADFSActivity

Vamos agora executar o comando get-command para confirmar quais comandos podem ser executados pelo usuário Otto no servidor AD FS.
Percebemos que o usuário Otto não possui os mesmos acessos que um administrador no servidor AD FS.

Resumo
No artigo de hoje, demonstramos como integrar o JEA (Just enough administration) ao serviço AD FS. No próximo artigo, vamos falar sobre o AD FS Smart lockout e como utilizar esta função do AD FS na proteção de acesso indevido e bloqueios indesejados nas contas dos usuários.
Espero que este conteúdo tenha contribuído com o enriquecimento do conhecimento de vocês em AD FS.
Gostaram do post? Curtam e compartilhem. 🙂
Tem alguma sugestão ou observação, comente.
[ ]’s
Ulysses Neves
