Exchange Online e Role Based Access Control
By: Caio Ribeiro Cesar, Rodolfo Lima
Neste artigo iremos discutir como funciona o RBAC (Role Based Access Control) para os planos de Exchange Online (O365).
No dia a dia de suporte, diversos casos são criados com a seguinte dúvida: “Qual o motivo de um comando existir no Exchange 2010/2013 porém não estar disponível no Powershell do O365?”
O modelo de permissões da nuvem é diferente do modelo de permissões OnPremises. Isso significa que nem todos os comandos disponíveis no Exchange On Premises estão disponíveis para o Exchange Online.
Isso é uma limitação? Não - a Microsoft gerencia diversas funcionalidades de Exchange no ambiente backend, fazendo com que os comandos de gerência não fiquem disponíveis para o administrador do O365.
Neste modelo, conseguimos efetuar tarefas administrativas (como gerenciar stores, DAGs) e fazer com que a manutenção do administrador do O365 seja menor quando comparamos com o ambiente onpremises. Conseguimos então criar uma estrutura de permissionamento totalmente customizada para os clientes da nuvem em um dos maior Datacenter do mundo com a feature de RBAC.
Isto significa também que existem políticas e roles customizáveis na nuvem para que o global administrator consiga gerenciar permissões vs. funções de cada admin. Vamos então para as demonstrações do que pode ser feito na nuvem com esta tecnologia!
Inicialmente, entramos no Exchange Admin Center > Admin > Exhange. Ao lado esquerdo, selecionamos a opção permissions>admin roles. Temos então uma lista dos grupos e roles pré-criados no Exchange Online.
Neste exemplo, o grupo Compliance Management possui as roles de “Data Loss Prevention, Information Rights Management, Retention Management, View-Only Audit Logs, View Only Configuration, View-Only Recipients”.
Quando abrimos a propriedade do grupo “Compliance Management”, podemos validar as roles e membros do grupo:
Até agora, sabemos somente que existe um grupo pré criado de Compliance que possui algumas roles atribuídas.
Como conseguimos confirmar o que significa cada role? Executando o comando PowerShell abaixo, conseguimos obter cada Role Pre Criada para este grupo:
Get-RoleGroup "Compliance Management" | Select-Object -ExpandProperty Roles
Então podemos confirmar o que cada role possui de permissão atribuída pelo Built-in Management Roles ou pelo comando “Get-ManagementRoleAssignment” seguindo o exemplo abaixo:
Para uma descrição da Role, utilize o comando “Get-ManagementRole -Identity "Data Loss Prevention" | Select -Expand Description”:
Um outro exemplo seria o grupo de admistração do O365, o Organization Management:
Get-RoleGroup "Organization Management" | Select -Expand Roles
View-Only Audit Logs
MyContactInformation
Mail Tips
UserApplication
Journaling
Transport Hygiene
My Custom Apps
Message Tracking
Unified Messaging
Team Mailboxes
Transport Rules
UM Prompts
Legal Hold
Org Marketplace Apps
MyDistributionGroupMembership
Reset Password
Mailbox Search
Information Rights Management
ArchiveApplication
Migration
UM Mailboxes
Recipient Policies
Federated Sharing
MyTeamMailboxes
Role Management
Audit Logs
Distribution Groups
View-Only Configuration
Mail Recipients
Mail Enabled Public Folders
Mailbox Import Export
Security Group Creation and Membership
Organization Client Access
Mail Recipient Creation
My Marketplace Apps
MyMailSubscriptions
User Options
Organization Configuration
Organization Transport Settings
View-Only Recipients
MyVoiceMail
MyProfileInformation
OfficeExtensionApplication
Retention Management
Org Custom Apps
MyDistributionGroups
MyBaseOptions
Public Folders
LegalHoldApplication
MailboxSearchApplication
MyTextMessaging
Remote and Accepted Domains
Move Mailboxes
Data Loss Prevention
MyRetentionPolicies
TeamMailboxLifecycleApplication
ApplicationImpersonation
Address Lists
Assim que confirmamos que este grupo possui basicamente todas as roles de administração disponíveis no O365, validamos os membros do grupo:
Isto significa que membros do Organization Management possuem acessos como gerenciamento ao DLP, aplicação de Archiving tags, Search em mailboxes entre outras permissões.
Montamos então um cenário específico – um novo funcionário “Steve Silva” foi recentemente contratado pela equipe de compliance para efetuar a auditoria de mailboxes.
Assim que criamos o usuário, esta informação não foi dada pelo time de RH e ele foi criado sem permissões específicas:
Devemos então atribuir o permissionamento específico para que este usuário possa trabalhar com a função de auditor de emails.
Uma das opções é adicionar em um grupo pré-criado chamado “Records Management”, onde a função de Audit Logs está atribuída:
Porém este usuário não deve possuir permissões de Transport,Journaling,Message Tracking ou Retention Management. Ele foi contratado para a única função de auditoria de emails.
A melhor solução seria atribuir a role específica de Audit Logs para o usuário e não adicioná-lo no grupo de Records Management:
Podemos também criar Grupos customizados com roles específicas, neste último exemplo para migração de mailboxes:
Links úteis
Permissions https://technet.microsoft.com/en-us/library/exchange-online-permissions.aspx
Understanding Role Based Access Control https://technet.microsoft.com/pt-pt/library/dd298183.aspx
Understanding Management Roles https://technet.microsoft.com/pt-pt/library/dd298116.aspx