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.

Para esses exemplos, a tenancy tem a seguinte estrutura de compartimento:

  • root compartimento (tenancy)
    • dev compartimento
      • test subcompartimento de dev
    • Compartimento prod

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.

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>'}
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.
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.