Exemplos de Política
OS exemplos a seguir fornecem exemplos de políticas do OS Management Hub usadas para restringir o acesso de um tipo específico de usuário.
- Usuário administrador com permissões de tenancy
- Usuário administrador restrito a um compartimento
- Operador restrito a um compartimento
Para esses exemplos, a tenancy tem a seguinte estrutura de compartimento:
- root compartimento (tenancy)
- dev compartimento
- test subcompartimento de dev
- Compartimento prod
- dev compartimento
Usuário administrador com permissões de tenancy
Para este exemplo:
- O grupo dinâmico é osmh-instances. As instruções de regra incluem instâncias do OCI e Agentes de Gerenciamento (para instâncias locais ou de nuvem de terceiros) no compartimento raiz (tenancy), compartimento dev, subcompartimento test e compartimento prod.
- O usuário pertence ao grupo de usuários osmh-admins, que tem permissão para gerenciar todos OS recursos do OS Management Hub na tenancy.
- O ambiente contém instâncias da OCI e locais ou de nuvem de terceiros.
- Regras de grupo dinâmico
-
O grupo dinâmico requer uma regra para cada compartimento (e subcompartimento) que conterá instâncias gerenciadas. Este exemplo mostra regras para o compartimento raiz (tenancy), compartimento dev, subcompartimento test e compartimento prod.
ANY {instance.compartment.id='<tenancy_ocid>',instance.compartment.id='<dev_compartment_ocid>',instance.compartment.id='<test_subcompartment_ocid>',instance.compartment.id='<prod_compartment_ocid>'} ALL {resource.type='managementagent', resource.compartment.id='<tenancy_ocid>'} ALL {resource.type='managementagent', resource.compartment.id='<dev_compartment_ocid>'} ALL {resource.type='managementagent', resource.compartment.id='<test_subcompartment_ocid>'} ALL {resource.type='managementagent', resource.compartment.id='<prod_compartment_ocid>'}
- A primeira linha informa ao grupo para incluir instâncias do OCI no compartimento raiz, compartimento dev, subcompartimento test e compartimento prod. Isso é feito usando uma única instrução de regra usando ANY e incluindo cada compartimento na instrução.
- As próximas quatro linhas informam ao grupo para incluir os Management Agents no compartimento especificado. Ao incluir o recurso do Management Agent, a instrução incluirá a instância de nuvem local ou de terceiros correspondente.
- Instruções da política
-
allow dynamic-group osmh-instances to {OSMH_MANAGED_INSTANCE_ACCESS} in tenancy where request.principal.id = target.managed-instance.id allow group osmh-admins to manage osmh-family in tenancy allow group osmh-admins to manage management-agents in tenancy allow group osmh-admins to manage management-agent-install-keys in tenancy
- A primeira linha permite que o agente nas instâncias gerenciadas interaja com o OS Management Hub.
OSMH_MANAGED_INSTANCE_ACCESS
fornece acesso ao OS Management Hub. - A segunda linha permite que o grupo de usuários gerencie todos OS recursos do OS Management Hub na tenancy.
- A terceira linha permite que o grupo de usuários crie, atualize e exclua Agentes de Gerenciamento na tenancy.
- A quarta linha permite que o grupo de usuários crie, atualize e exclua chaves de instalação na tenancy.
- A primeira linha permite que o agente nas instâncias gerenciadas interaja com o OS Management Hub.
Usuário administrador restrito a um compartimento
Para este exemplo:
- O grupo dinâmico é osmh-instances. As instruções de regra incluem instâncias do OCI no compartimento dev e no subcompartimento test.
- O usuário pertence ao grupo de usuários osmh-admins-dev, que pode gerenciar todos OS recursos do OS Management Hub no compartimento dev e no subcompartimento test. O usuário pode ler perfis e origens de software na tenancy, o que é necessário para acessar origens de software do fornecedor e perfis fornecidos pelo serviço.
- O ambiente contém apenas instâncias do OCI.
- Regras de grupo dinâmico
-
O grupo dinâmico requer uma regra para cada compartimento (e subcompartimento) que conterá instâncias gerenciadas. Este exemplo mostra regras para o subcompartimento dev e test usando instruções de regra separadas para cada um.
ALL {instance.compartment.id='<dev_compartment_ocid>'} ALL {instance.compartment.id='<test_compartment_ocid>'}
- A primeira linha inclui todas as instâncias no compartimento
dev
. - A segunda linha inclui todas as instâncias no subcompartimento
test
. - Como alternativa, em vez de duas instruções de regras, você pode usar uma única instrução ANY:
ANY {instance.compartment.id='<dev_compartment_ocid>',instance.compartment.id='<test_compartment_ocid>'}
- A primeira linha inclui todas as instâncias no compartimento
- Instruções da política
-
allow dynamic-group osmh-instances to {OSMH_MANAGED_INSTANCE_ACCESS} in compartment dev where request.principal.id = target.managed-instance.id allow group osmh-admins-dev to manage osmh-family in compartment dev allow group osmh-admins-dev to read osmh-profiles in tenancy where target.profile.compartment.id = '<tenancy_ocid>' allow group osmh-admins-dev to read osmh-software-sources in tenancy where target.softwareSource.compartment.id = '<tenancy_ocid>' allow group osmh-admins-dev to manage management-agents in compartment dev allow group osmh-admins-dev to manage management-agent-install-keys in compartment dev
- A primeira linha permite que o agente de serviço nas instâncias gerenciadas interaja com o OS Management Hub.
- A segunda linha permite que o grupo de usuários gerencie todos OS recursos do OS Management Hub no compartimento dev. As políticas usam herança de compartimento; portanto, o usuário também poderá gerenciar recursos em quaisquer subcompartimentos de dev (neste exemplo, test).
- A terceira e a quarta linhas permitem que o grupo de usuários leia perfis e origens de software no compartimento raiz. Isso é necessário para replicar as origens de software do fornecedor e usar perfis fornecidos pelo serviço.
- A quinta e sexta linhas permitem que o usuário gerencie chaves e agentes do Management Agent Cloud Service (MACS).
Operador restrito a um compartimento
Para este exemplo:
- O grupo dinâmico é osmh-instances. A instrução de regra inclui recursos do Management Agent no compartimento prod.
- O usuário pertence ao grupo de usuários osmh-operators, que pode ler todos OS recursos do OS Management Hub no compartimento prod.
- O ambiente contém apenas instâncias locais ou de nuvem de terceiros.
- Regras de grupo dinâmico
-
O grupo dinâmico requer uma regra para cada compartimento que conterá instâncias gerenciadas. Este exemplo mostra uma regra para o compartimento prod.
ALL {resource.type='managementagent', resource.compartment.id='<prod_compartment_ocid>'}
- A regra instrui o grupo dinâmico a incluir recursos do Management Agent no compartimento
prod
. A inclusão do agente permitirá que o OS Management Hub gerencie a instância de nuvem de terceiros local ou correspondente.
- A regra instrui o grupo dinâmico a incluir recursos do Management Agent no compartimento
- Instruções da política
-
allow dynamic-group osmh-instances to {OSMH_MANAGED_INSTANCE_ACCESS} in compartment prod where request.principal.id = target.managed-instance.id allow group osmh-operators to read osmh-family in compartment prod
- A primeira linha permite que o agente nas instâncias gerenciadas interaja com o OS Management Hub.
- A segunda linha permite que o grupo de usuários exiba todos OS recursos do OS Management Hub no compartimento prod.
- As políticas do Management Agent Cloud Service (MACS) não são necessárias para exibir instâncias locais ou de nuvem de terceiros no OS Management Hub. Portanto, o grupo de usuários operador não precisa de acesso ao MACS, como mostrado nos exemplos anteriores.