Políticas de Serviço do Oracle Cloud Migrations

As políticas de serviço do Oracle Cloud Migrations são necessárias para usar o serviço de migração.

Uma sintaxe de política é a seguinte:

allow <subject> to <verb> <resource-type> in <location> where <conditions>

Para obter detalhes completos, consulte Sintaxe de Política. Para obter mais informações sobre como criar políticas, consulte como as políticas funcionam, Referência de Políticas e detalhes da política do serviço Object Storage.

Consulte as instruções para criar políticas usando a Console.

Criador de Política

O Oracle Cloud Migrations oferece suporte ao Policy Builder. O construtor de políticas na Console do Cloud ajuda você a criar rapidamente políticas comuns sem a necessidade de digitar manualmente as instruções de política. Para criar políticas usando o Policy Builder, consulte Criando Instruções de Política com o Policy Builder.

No Policy Builder, selecione os casos de uso de política para o Oracle Cloud Migrations. Os seguintes modelos de política predefinidos estão disponíveis para a criação de políticas de serviço:

Políticas de Migração

Grupos dinâmicos e políticas do serviço IAM para o serviço de migração.

  • Crie grupos dinâmicos para o serviço de migração. Você pode nomear o grupo dinâmico como, por exemplo, MigrationDynamicGroup, e substituir compartmentOCID pelo OCID do seu compartimento de migração:
    ALL {resource.type = 'ocmmigration', resource.compartment.id = '<migration_compartment_ocid>'}

    Para obter mais informações sobre grupos dinâmicos, incluindo as permissões necessárias para criá-los, consulte Gerenciando Grupos Dinâmicos e Criando Políticas para Grupos Dinâmicos.

  • Crie todas as seguintes políticas do serviço IAM para permitir que o serviço Migration leia ou gerencie seus recursos do OCI em compartimentos específicos ou em sua tenancy:
    Allow dynamic-group MigrationDynamicGroup to manage instance-family in compartment <migration_compartment_name>
    Allow dynamic-group MigrationDynamicGroup to manage compute-image-capability-schema in compartment <migration_compartment_name>
    Allow dynamic-group MigrationDynamicGroup to manage virtual-network-family in compartment <migration_compartment_name>
    Allow dynamic-group MigrationDynamicGroup to manage volume-family in compartment <migration_compartment_name>
    Allow dynamic-group MigrationDynamicGroup to manage object-family in compartment <migration_compartment_name>
    Allow dynamic-group MigrationDynamicGroup to read ocb-inventory in tenancy
    Allow dynamic-group MigrationDynamicGroup to read ocb-inventory-asset in compartment <migration_compartment_name>
    Allow dynamic-group MigrationDynamicGroup to {OCB_CONNECTOR_READ, OCB_CONNECTOR_DATA_READ, OCB_ASSET_SOURCE_READ, OCB_ASSET_SOURCE_CONNECTOR_DATA_UPDATE } in compartment <migration_compartment_name>
    Allow dynamic-group MigrationDynamicGroup to {INSTANCE_IMAGE_INSPECT, INSTANCE_IMAGE_READ} in tenancy
    Allow dynamic-group MigrationDynamicGroup to {INSTANCE_INSPECT} in tenancy where any {request.operation='ListShapes'}
    Allow dynamic-group MigrationDynamicGroup to {DEDICATED_VM_HOST_READ} in tenancy where any {request.operation='GetDedicatedVmHost'}
    Allow dynamic-group MigrationDynamicGroup to {CAPACITY_RESERVATION_READ} in tenancy where any {request.operation='GetComputeCapacityReservation'}
    Allow dynamic-group MigrationDynamicGroup to {ORGANIZATIONS_SUBSCRIPTION_INSPECT} in tenancy where any {request.operation='ListSubscriptions'}
    Allow dynamic-group MigrationDynamicGroup to read rate-cards in tenancy
    Allow dynamic-group MigrationDynamicGroup to read metrics in tenancy where target.metrics.namespace='ocb_asset'
    Allow dynamic-group MigrationDynamicGroup to read tag-namespaces in tenancy
    Allow dynamic-group MigrationDynamicGroup to use tag-namespaces in tenancy where target.tag-namespace.name='CloudMigrations'

Políticas de Descoberta

Grupo dinâmico e política de IAM para o serviço De Descoberta.

Criando um Grupo Dinâmico

Crie um grupo dinâmico para o serviço de descoberta. Você pode nomear o grupo dinâmico como, por exemplo, DiscoveryDynamicGroup.

ALL { resource.type = 'ocbassetsource' }

Criando uma Política do Serviço IAM

Crie a política do IAM a seguir para conceder ao serviço de descoberta as permissões necessárias para executar migrações.

Allow dynamic-group DiscoveryDynamicGroup to inspect compartments in compartment <migration_compartment_name>
Allow dynamic-group DiscoveryDynamicGroup to read ocb-environments in compartment <migration_compartment_name>
Allow dynamic-group DiscoveryDynamicGroup to read ocb-agents in compartment <migration_compartment_name>
Allow dynamic-group DiscoveryDynamicGroup to read ocb-inventory in tenancy
Allow dynamic-group DiscoveryDynamicGroup to manage ocb-inventory-asset in compartment <migration_compartment_name>
Allow dynamic-group DiscoveryDynamicGroup to {TENANCY_INSPECT} in tenancy

Para obter mais informações sobre grupos dinâmicos, incluindo as permissões necessárias para criá-los, consulte Gerenciando Grupos Dinâmicos e Criando Políticas para Grupos Dinâmicos.

Políticas de Agente Remoto

Crie os grupos dinâmicos e as políticas de IAM a seguir para o agente remoto.

  • Crie grupos dinâmicos para o agente remoto. Você pode nomear o grupo dinâmico como, por exemplo, RemoteAgentDynamicGroup:
    ALL {resource.type = 'ocbagent'}

    Para obter mais informações sobre grupos dinâmicos, incluindo as permissões necessárias para criá-los, consulte Gerenciando Grupos Dinâmicos e Criando Políticas para Grupos Dinâmicos.

  • Crie todas as seguintes políticas do serviço IAM para permitir que o agente remoto use, leia ou gerencie seus recursos do OCI em compartimentos específicos ou em sua tenancy:
    Define tenancy OCB-SERVICE as <ocb_service_tenancy_ocid_for_realm>
    Endorse dynamic-group RemoteAgentDynamicGroup to { OBJECT_CREATE } in tenancy OCB-SERVICE
    Allow dynamic-group RemoteAgentDynamicGroup to manage buckets in compartment <migration_compartment_name>
    Allow dynamic-group RemoteAgentDynamicGroup to manage object-family in compartment <migration_compartment_name>
    Allow dynamic-group RemoteAgentDynamicGroup to {OCM_REPLICATION_TASK_READ, OCM_REPLICATION_TASK_UPDATE} in compartment <migration_compartment_name>
    Allow dynamic-group RemoteAgentDynamicGroup to use ocb-asset-source-connectors in compartment <migration_compartment_name>
    Allow dynamic-group RemoteAgentDynamicGroup to use ocb-connectors in compartment <migration_compartment_name>
    Allow dynamic-group RemoteAgentDynamicGroup to manage ocb-inventory in tenancy
    Allow dynamic-group RemoteAgentDynamicGroup to manage ocb-inventory-asset in compartment <migration_compartment_name>
    Allow dynamic-group RemoteAgentDynamicGroup to read secret-family in compartment <migrationsecret_compartment_name>
    Allow dynamic-group RemoteAgentDynamicGroup to use metrics in compartment <migration_compartment_name> where target.metrics.namespace='ocb_asset'
    Allow dynamic-group RemoteAgentDynamicGroup to { OCM_CONNECTOR_INSPECT, OCM_ASSET_SOURCE_READ, OCM_ASSET_SOURCE_CONNECTION_PUSH } in compartment <migration_compartment_name>
    Allow dynamic-group RemoteAgentDynamicGroup to { OCB_AGENT_INSPECT, OCB_AGENT_SYNC, OCB_AGENT_READ, OCB_AGENT_DEPENDENCY_INSPECT, OCB_AGENT_DEPENDENCY_READ, OCB_AGENT_KEY_UPDATE, OCB_AGENT_TASK_READ, OCB_AGENT_ASSET_SOURCES_INSPECT, OCB_AGENT_TASK_UPDATE, OCB_AGENT_UPDATE_COMMAND_CREATE } in compartment <migration_compartment_name>
    Allow dynamic-group RemoteAgentDynamicGroup to { OCB_ASSET_SOURCE_INSPECT, OCB_ASSET_SOURCE_READ, OCB_ASSET_SOURCE_ASSET_HANDLES_PUSH, OCB_ASSET_SOURCE_CONNECTION_PUSH } in compartment <migration_compartment_name>
Observação

O ocb_service_tenancy_ocid_for_realm do realm OC1 tem o seguinte valor:ocid1.tenancy.oc1..aaaaaaaahr2xcduf4knzkzhkzt442t66bpqt3aazss6cy2ll6x4xj3ci7tiq.

Se sua tenancy estiver localizada em um realm diferente de OC1, entre em contato com o Suporte Técnico da Oracle para obter o OCID correto da tenancy de serviço.

Políticas de Plug-in de Descoberta

Grupos dinâmicos e políticas do serviço IAM para o plug-in de descoberta.

  • Crie grupos dinâmicos para o plug-in de descoberta. Você pode nomear o grupo dinâmico como, por exemplo, DiscoveryPluginDynamicGroup:
    ALL {resource.type = 'ocbagent'}

    Para obter mais informações sobre grupos dinâmicos, incluindo as permissões necessárias para criá-los, consulte Gerenciando Grupos Dinâmicos e Criando Políticas para Grupos Dinâmicos.

  • Crie todas as seguintes políticas do serviço IAM para permitir que o plug-in de descoberta use, leia ou gerencie recursos em compartimentos específicos ou em sua tenancy:
    Allow dynamic-group DiscoveryPluginDynamicGroup to use ocb-connectors in compartment <migration_compartment_name>
    Allow dynamic-group DiscoveryPluginDynamicGroup to use ocb-asset-source-connectors in compartment <migration_compartment_name>
    Allow dynamic-group DiscoveryPluginDynamicGroup to read ocb-inventory in tenancy
    Allow dynamic-group DiscoveryPluginDynamicGroup to manage ocb-inventory-asset in compartment <migration_compartment_name>
    Allow dynamic-group DiscoveryPluginDynamicGroup to read secret-family in compartment <migrationsecret_compartment_name>
    Allow dynamic-group DiscoveryPluginDynamicGroup to use metrics in compartment <migration_compartment_name> where target.metrics.namespace='ocb_asset'

Políticas de Plug-in de Replicação

Grupos dinâmicos e políticas do serviço IAM para o plug-in de replicação.

  • Crie grupos dinâmicos para o plug-in de replicação. Você pode nomear o grupo dinâmico como, por exemplo, ReplicationPluginDynamicGroup:
    ALL {resource.type = 'ocbagent'}

    Para obter mais informações sobre grupos dinâmicos, incluindo as permissões necessárias para criá-los, consulte Gerenciando Grupos Dinâmicos e Criando Políticas para Grupos Dinâmicos.

  • Crie as seguintes políticas do serviço IAM em compartimentos específicos ou em sua tenancy para que o plug-in de replicação publique snapshots no OCI Object Storage e chame as APIs de replicação do serviço de migração:
    Allow dynamic-group ReplicationPluginDynamicGroup to { OCM_REPLICATION_TASK_INSPECT, OCM_REPLICATION_TASK_READ, OCM_REPLICATION_TASK_UPDATE, OCM_CONNECTOR_INSPECT, OCM_ASSET_SOURCE_READ, OCM_ASSET_SOURCE_CONNECTION_PUSH } in compartment <migration_compartment_name>
    Allow dynamic-group ReplicationPluginDynamicGroup to { BUCKET_INSPECT, BUCKET_READ, OBJECTSTORAGE_NAMESPACE_READ, OBJECT_CREATE, OBJECT_DELETE, OBJECT_INSPECT, OBJECT_OVERWRITE, OBJECT_READ } in compartment <migration_compartment_name> where all {target.bucket.name='<REPLICATION_SNAPSHOTS_BUCKET>'}
    Allow dynamic-group ReplicationPluginDynamicGroup to read secret-family in compartment <migrationsecret_compartment_name>
    Allow dynamic-group ReplicationPluginDynamicGroup to use metrics in compartment <migration_compartment_name> where target.metrics.namespace='ocb_asset'
    Allow dynamic-group ReplicationPluginDynamicGroup to {OCB_AGENT_INSPECT, OCB_AGENT_SYNC, OCB_AGENT_READ, OCB_AGENT_DEPENDENCY_INSPECT, OCB_AGENT_DEPENDENCY_READ, OCB_AGENT_KEY_UPDATE, OCB_AGENT_TASK_READ, OCB_AGENT_ASSET_SOURCES_INSPECT, OCB_AGENT_TASK_UPDATE} in tenancy
    Allow dynamic-group ReplicationPluginDynamicGroup to use ocb-connectors in compartment <migration_compartment_name>
    Allow dynamic-group ReplicationPluginDynamicGroup to use ocb-asset-source-connectors in compartment <migration_compartment_name>
    Allow dynamic-group ReplicationPluginDynamicGroup to read ocb-inventory in tenancy
    Allow dynamic-group ReplicationPluginDynamicGroup to read ocb-inventory-asset in compartment <migration_compartment_name>

Políticas do Agente de Hidratação

Grupos dinâmicos e políticas de IAM para o agente de hidratação.

  • Crie grupos dinâmicos para o agente de hidratação. Você pode nomear o grupo dinâmico como, por exemplo, HydrationAgentDynamicGroup, e substituir compartmentOCID pelo OCID do seu compartimento de migração:
    ALL {instance.compartment.id = '<migration_compartment_ocid>'}

    Para obter mais informações sobre grupos dinâmicos, incluindo as permissões necessárias para criá-los, consulte Gerenciando Grupos Dinâmicos e Criando Políticas para Grupos Dinâmicos.

  • Crie as seguintes políticas do serviço IAM em compartimentos específicos ou em sua tenancy para fornecer permissões ao agente de hidratação para extrair snapshots do OCI Object Storage e chamar as APIs de hidratação do serviço de migração:
    Define tenancy OCM-SERVICE AS <ocm_service_tenancy_ocid_for_realm>     
    Endorse dynamic-group HydrationAgentDynamicGroup to { OBJECT_CREATE } in tenancy OCM-SERVICE where all { target.bucket.name = 'tenancy_ocid' }
    Allow dynamic-group HydrationAgentDynamicGroup to {OCM_HYDRATION_AGENT_TASK_INSPECT, OCM_HYDRATION_AGENT_TASK_UPDATE, OCM_HYDRATION_AGENT_REPORT_STATUS} in compartment <migration_compartment_name>
    Allow dynamic-group HydrationAgentDynamicGroup to read objects in compartment <migration_compartment_name>
Observação

O ocm_service_tenancy_ocid_for_realm do realm OC1 tem o seguinte valor: ocid1.tenancy.oc1..aaaaaaaartv6j5muce2s4djz7rvfn2vwceq3cnue33d72isntnlfmi7huv7q.

Se sua tenancy estiver localizada em um realm diferente de OC1, entre em contato com o Suporte Técnico da Oracle para obter o OCID correto da tenancy de serviço.