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:
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.

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.
Opcional: As Regras de Retenção no OCI Object Storage seguem os requisitos de auditoria da sua empresa (por exemplo, cinco a sete anos).
É 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.
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 Políticas Comuns
Para criar políticas do IAM, consulte este guia Introdução às Políticas
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'}}
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.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'}}