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.

image

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:

image

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

rbac_3

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:

image

Para uma descrição da Role, utilize o comando “Get-ManagementRole -Identity "Data Loss Prevention" | Select -Expand Description”:

image

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:

image

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:

image

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:

image

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:

image

Podemos também criar Grupos customizados com roles específicas, neste último exemplo para migração de mailboxes:

image image

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