Exemplos de Política de Segurança
Saiba como usar políticas para criar administradores de nível de serviço para privilégio mínimo, restringir a capacidade dos administradores de alterar a associação do grupo de administradores da tenancy e impedir que os administradores excluam ou atualizem políticas de segurança, bem como impedi-los de acessar ou alterar credenciais do usuário.
Há exemplos de políticas comuns de segurança do IAM disponíveis em Políticas Comuns. Em todos os exemplos a seguir, as políticas têm uma tenancy como escopo. Porém, ao determinar um nome de compartimento, você pode reduzir o escopo das políticas a compartimentos específicos em uma tenancy.
Criar Administradores em Nível de Serviço com Privilégios Mínimos
Para implementar um princípio de segurança de privilégio mínimo, você pode criar administradores em nível de serviço na tenancy para restringir ainda mais o acesso administrativo. Isso significa que os administradores em nível de serviço só podem gerenciar recursos de um serviço específico. Por exemplo, os administradores de rede precisam de acesso administrativo (manage
) somente em relação a recursos da VCN e não precisam acessar outros recursos. O exemplo a seguir mostra como criar grupos de administradores para armazenamento em blocos (VolumeAdmins
), VCN (NetworkAdmins
), bancos de dados (DBAdmins
) e armazenamento de objetos (StorageAdmins
).
Allow group TenancyAdmins to manage all-resources in tenancy
Allow group VolumeAdmins to manage volume-family in tenancy
Allow group NetworkAdmins to manage virtual-network-family in tenancy
Allow group StorageAdmins to manage object-family in tenancy
Allow group DBAdmins to manage database-family in tenancy
É possível restringir ainda mais as políticas de segurança a um compartimento específico. Por exemplo, o departamento de RH de uma empresa pode criar o grupo HRAdmins
para gerenciar recursos dentro do compartimento HR-compartment
. O grupo HRNetworkAdmins
tem acesso administrativo somente aos recursos da VCN dentro do compartimento HR-compartment
.
Allow group HRAdmins to manage all-resources in compartment HR-compartment
Allow group HRNetworkAdmins to manage virtual-network-family in compartment HR-compartment
Os auditores de conformidade têm a tarefa de examinar recursos de nuvem e verificar violações de política. A política a seguir permite que o grupo InternalAuditors
inspecione (list
) todos os recursos de uma tenancy.
Allow group InternalAuditors to inspect all-resources in tenancy
Se você quiser limitar os auditores apenas a inspecionar usuários e grupos em uma tenancy, poderá criar um grupo UserAuditors
com a seguinte política:
Allow group UserAuditors to inspect users in tenancy
Allow group UserAuditors to inspect groups in tenancy
Se você quiser criar um grupo de auditores que só pode inspecionar firewalls da VCN na tenancy, use a seguinte política:
Allow group FirewallAuditors to inspect security-lists in tenancy
Em todos os exemplos de política, você pode restringir as políticas a um compartimento especificando Compartment <name>
(em que <name> é o nome do compartimento) na política.
Restringir a Capacidade de Alterar Membros do Grupo de Administradores da Tenancy
Os membros do grupo Administrators
podem gerenciar todos os recursos de uma tenancy. Os membros do grupo Administrators
são controlados pelos usuários do grupo. Normalmente, é conveniente ter um grupo para criar e adicionar usuários na tenancy, mas devemos restringir o grupo em relação a alterações nos membros do grupo Administrators
. O exemplo a seguir cria um grupo UserAdmins
para isso.
Allow group UserAdmins to inspect users in tenancy
Allow group UserAdmins to inspect groups in tenancy
Allow group UserAdmins to use users in tenancy
where target.group.name!='Administrators'
Allow group UserAdmins to use groups in tenancy
where target.group.name!='Administrators'
O uso de verbos com condições (terceira e quarta instruções da política) permite que UserAdmins
adicione usuários e grupos usando APIs (UpdateUser
, UpdateGroup
) para todos os grupos na tenancy, exceto o grupo Administrators
. No entanto, como o código target.group.name!='Administrators
' não está relacionado às APIs list
e get
(ListUsers
, GetUser
, ListGroups
e GetGroup
), essas APIs falharão. Portanto, você deve adicionar explicitamente o verbo inspect
(primeiro e segunda instruções da política) para permitir que UserAdmins
obtenha informações sobre membros usuários e grupos.
Impedir a Exclusão ou a Atualização de Políticas de Segurança
O exemplo a seguir cria um grupo PolicyAdmins
que permite criar e listar políticas de segurança criadas por administradores da tenancy, mas não é possível excluí-las ou atualizá-las.
Allow group PolicyAdmins to use policies in tenancy
Allow group PolicyAdmins to manage policies in tenancy
where request.permission='POLICY_CREATE'
Essa instrução de política de segurança concede somente a permissão POLICY_CREATE
, e não as permissões POLICY_DELETE
e POLICY_UPDATE
.
Impedir que Administradores Acessem ou Alterem Credenciais do Usuário
Alguns requisitos de conformidade precisam da separação de responsabilidades, especialmente onde a funcionalidade de gerenciamento de credenciais do usuário é separada do gerenciamento da tenancy. Nesse caso, você pode criar dois grupos de administração, TenancyAdmins
e CredentialAdmins
em que TenancyAdmins
pode executar todas as funções de gerenciamento da tenancy, exceto o gerenciamento de credenciais do usuário, e CredentialAdmins
pode gerenciar as credenciais do usuário. TenancyAdmins
pode acessar todas as APIs, exceto aquelas que listam, atualizam ou excluem credenciais do usuário. CredentialAdmins
só pode gerenciar as credenciais do usuário.
Allow group TenancyAdmins to manage all resources in tenancy
where all {request.operation!='ListApiKeys',
request.operation!='ListAuthTokens',
request.operation!='ListCustomerSecretKeys',
request.operation!='UploadApiKey',
request.operation!='DeleteApiKey',
request.operation!='UpdateAuthToken',
request.operation!='CreateAuthToken',
request.operation!='DeleteAuthToken',
request.operation!='CreateSecretKey',
request.operation!='UpdateCustomerSecretKey',
request.operation!='DeleteCustomerSecretKey'}
Allow group CredentialAdmins to manage users in tenancy
where any {request.operation='ListApiKeys',
request.operation='ListAuthTokens',
request.operation='ListCustomerSecretKeys',
request.operation='UploadApiKey',
request.operation='DeleteApiKey',
request.operation='UpdateAuthToken',
request.operation='CreateAuthToken',
request.operation='DeleteAuthToken',
request.operation='CreateSecretKey',
request.operation='UpdateCustomerSecretKey',
request.operation='DeleteCustomerSecretKey'}