Configuração do OCI Object Storage

Uma assinatura separada para o OCI Object Storage é necessária para utilização desse recurso. Observe que um Bucket é um contêiner lógico no OCI Object Storage para o armazenamento de objetos. No contexto do Account Reconciliation, seus anexos são considerados objetos.

As etapas de alto nível no OCI Object Storage são listadas aqui:

  1. Crie um Bucket no OCI Object Storage para armazenar anexos do Account Reconciliation. Para obter instruções, consulte Criação de um Bucket .

    Note:

    Você pode criar um bucket em um compartimento existente ou criar outro para os anexos do Account Reconciliation.

    Veja a seguir o exemplo de um Bucket configurado.


    Configuração do Object Storage

    Para que seja possível testar o acesso ao bucket e alternar facilmente de um ambiente de teste para um ambiente de produção, é recomendável criar duas pastas dentro do bucket: uma para o ambiente de teste e outra para o ambiente de produção. Por exemplo, se você criar um bucket chamado account_rec_data para armazenar seus anexos, crie as pastas test e prod dentro desse bucket. Durante a fase de implementação, use a pasta test especificando o URL do bucket como <bucket_url>/test. Ao mover para o ambiente de produção, altere a configuração do bucket para <bucket_url>/prod. A pasta test pode ser excluída depois, sem qualquer impacto no ambiente de produção.

  2. Certifique-se de que o Auto Tiering esteja desativado para o bucket. Consulte Gerenciamento de Armazenamento Automático em Camadas para um Bucket do Object Storage.
  3. Você precisa manter as Regras de Política de Ciclo de Vida como elas estão no OCI Object Storage. Não as altere.
  4. Opcional: As Regras de Retenção no OCI Object Storage seguem os requisitos de auditoria da sua empresa (por exemplo, cinco a sete anos).

  5. No Oracle Cloud Infrastructure (OCI), você precisa criar um usuário nativo para o Account Reconciliation e conceder a esse usuário, pelo menos, acesso de LEITURA e GRAVAÇÃO, mas não o acesso de EXCLUSÃO. O usuário pode ser um usuário do Identity and Access Management (IAM) ou um usuário Federado.

    É recomendável criar um usuário separado para acessar o Object Storage para o Account Reconciliation. Esse usuário precisa receber privilégios para acessar o bucket de armazenamento de anexos e para gerenciar objetos no bucket.

  6. Você precisa criar um grupo para atribuir políticas.

    O acesso ao Object Storage é gerenciado pelas políticas do Identity and Access Management (IAM). As políticas comuns de armazenamento de objetos podem ser encontradas em https://docs.oracle.com/en-us/iaas/Content/Identity/Concepts/commonpolicies.htm#write-objects-to-buckets

    Para criar políticas do IAM, consulte este guia https://docs.oracle.com/en-us/iaas/Content/Identity/Concepts/policygetstarted.htm

    Veja a seguir um exemplo de política que é necessária.

    • Permitir que o grupo ArcsAttachmentWriters leia buckets no compartimento ABC

    • Allow group ArcsAttachmentWriters to manage objects in compartment ABC where all {target.bucket.name='ArcsAttachments', any {request.permission='OBJECT_CREATE', request.permission='OBJECT_INSPECT', request.permission='OBJECT_READ'}}

  7. Um token de autenticação deve ser criado para o usuário. Para obter detalhes, consulte https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm#Working

    Note:

    O token de autenticação não será exibido depois que tiver sido criado. Portanto, anote o token, pois ele será usado posteriormente no processo de configuração.
  8. Após a criação do Bucket e de um usuário, você precisará configurar o OCI Object Storage no Account Reconciliation para que a conexão seja feita usando o URL do Bucket, bem como o Nome de usuário e a Senha. Consulte Configuração do OCI Object Storage no Account Reconciliation.

Exemplos: Configuração de Políticas

Ao criar uma política, certifique-se de selecionar o compartimento ou o tenancy no qual o bucket está armazenado. Por exemplo, se o bucket foi criado no compartimento ABC, a política deverá ser colocada no mesmo local.

Bucket no tenancy Raiz e usuário criado no Provedor de Identidades Federado

Se o bucket estiver no tenancy Raiz, se você estiver usando um grupo e se o usuário foi criado no Provedor de Identidades Federado, a política deverá ter o seguinte formato:

Allow group 'OracleIdentityCloudService'/'GROUP_NAME' to read buckets in tenancy
Allow group 'OracleIdentityCloudService'/'GROUP_NAME' to manage objects in tenancy where all {target.bucket.name='BUCKET_NAME', any {request.permission='OBJECT_CREATE', request.permission='OBJECT_INSPECT', request.permission='OBJECT_READ'}}

Por exemplo, quando o nome do grupo for arcs_attachments e o nome do bucket for arcs_bucket:

Allow group 'OracleIdentityCloudService'/'arcs_attachments' to read buckets in tenancy
Allow group 'OracleIdentityCloudService'/'arcs_attachments' to manage objects in tenancy where all {target.bucket.name='arcs_bucket', any {request.permission='OBJECT_CREATE', request.permission='OBJECT_INSPECT', request.permission='OBJECT_READ'}}

Bucket no tenancy Raiz; grupo e usuário regulares (Provedor de Identidades não federado)

Se o bucket estiver no tenancy Raiz e você estiver usando um usuário e um grupo regulares (Provedor de Identidades não federado), a política deverá ter o seguinte formato:

Allow group GROUP_NAME to read buckets in tenancy
Allow group GROUP_NAME to manage objects in tenancy where all {target.bucket.name='BUCKET_NAME', any {request.permission='OBJECT_CREATE', request.permission='OBJECT_INSPECT', request.permission='OBJECT_READ'}}

Por exemplo, quando o nome do grupo for arcs_attachments e o nome do bucket for arcs_bucket:

Allow group arcs_attachments to read buckets in tenancy
Allow group arcs_attachments to manage objects in tenancy where all {target.bucket.name='arcs_bucket', any {request.permission='OBJECT_CREATE', request.permission='OBJECT_INSPECT', request.permission='OBJECT_READ'}}

Bucket no Nível do Compartimento, grupo e usuário criados em um Provedor de Identidades Federado

Se o bucket estiver no nível do compartimento e você estiver usando um grupo e um usuário criados no Provedor de Identidades Federado, a política deverá ter o seguinte formato:

Allow group 'OracleIdentityCloudService'/'GROUP_NAME' to read buckets in compartment COMPARTMENT_NAME
Allow group 'OracleIdentityCloudService'/'GROUP_NAME' to manage objects in compartment COMPARTMENT_NAME where all {target.bucket.name='BUCKET_NAME', any {request.permission='OBJECT_CREATE', request.permission='OBJECT_INSPECT', request.permission='OBJECT_READ'}}

Por exemplo, quando o nome do grupo for arcs_attachments e o nome do compartimento for arcs_compartment:

Allow group 'OracleIdentityCloudService'/arcs_attachments' to read buckets in compartment ABC
Allow group 'OracleIdentityCloudService'/arcs_attachments' to manage objects in compartment arcs_compartment where all {target.bucket.name='arcs_bucket', any {request.permission='OBJECT_CREATE', request.permission='OBJECT_INSPECT', request.permission='OBJECT_READ'}}

Bucket no nível do Compartimento; grupo e usuário regulares (Provedor de Identidades não federado)

Se o bucket estiver no nível do comportamento e você estiver usando um usuário e um grupo regulares (Provedor de Identidades não federado), a política deverá ter o seguinte formato:

Allow group GROUP_NAME to read buckets in compartment COMPARTMENT_NAME
Allow group GROUP_NAME to manage objects in compartment COMPARTMENT_NAME where all {target.bucket.name='BUCKET_NAME', any {request.permission='OBJECT_CREATE', request.permission='OBJECT_INSPECT', request.permission='OBJECT_READ'}}

Por exemplo, quando o nome do grupo for arcs_attachments e o nome do compartimento for arcs_compartment:

Allow group arcs_attachments to read buckets in compartment arcs_compartment
Allow group arcs_attachments to manage objects in compartment arcs_compartment where all {target.bucket.name='arcs_bucket', any {request.permission='OBJECT_CREATE', request.permission='OBJECT_INSPECT', request.permission='OBJECT_READ'}}