Configuration d'OCI Object Storage

Un abonnement distinct à OCI Object Storage est requis pour pouvoir utiliser cette fonctionnalité. Un bucket est un conteneur logique dans OCI Object Storage qui permet de stocker des objets. Dans le contexte d'Account Reconciliation, vos pièces jointes sont considérées comme des objets.

Voici les étapes de haut niveau dans OCI Object Storage :

  1. Créez un bucket dans OCI Object Storage pour stocker les pièces jointes Account Reconciliation. Pour obtenir des instructions, reportez-vous à la section Création d'un bucket .

    Note:

    Vous pouvez créer un bucket dans un compartiment existant ou créer un compartiment pour les pièces jointes Account Reconciliation.

    Voici un exemple de bucket configuré.


    Configuration dans Object Storage

    Pour vous permettre de tester l'accès au bucket et de passer rapidement d'un environnement de test à un environnement de production, il est recommandé de créer deux dossiers dans le bucket : un dossier pour l'environnement de test et un autre pour l'environnement de production. Par exemple, si vous créez un bucket nommé account_rec_data pour stocker vos pièces jointes, créez-y les dossiers test et prod. Pendant la phase d'implémentation, utilisez le dossier test en indiquant l'URL du bucket comme suit : <url_bucket>/test. Lorsque vous passez à l'environnement de production, définissez la configuration de bucket sur <url_bucket>/prod. Le dossier test peut être supprimé par la suite sans aucune incidence sur l'environnement de production.

  2. Assurez-vous que la gestion des niveaux automatique est activée pour le bucket. Reportez-vous à Administration de la gestion des niveaux automatique d'un bucket Object Storage.
  3. Vous devez laisser les règles de stratégie de cycle de vie telles quelles dans OCI Object Storage. Ne les modifiez pas.
  4. Facultatif : les règles de conservation dans OCI Object Storage respectent les exigences d'audit de votre entreprise (par exemple, de 5 à 7 ans).

  5. Dans Oracle Cloud Infrastructure (OCI), vous devez créer un utilisateur pour Account Reconciliation et lui octroyer au moins les accès READ et WRITE, mais pas l'accès DELETE. L'utilisateur peut être un utilisateur Identity and Access Management (IAM) ou un utilisateur fédéré.

    Nous recommandons de créer un utilisateur distinct pour l'accès à Object Storage pour Account Reconciliation. Cet utilisateur doit disposer de privilèges lui permettant d'accéder au bucket de stockage de pièces jointes et de gérer les objets qui s'y trouvent.

  6. Vous devez créer un groupe pour affecter des stratégies.

    L'accès à Object Storage est géré par des stratégies Identity and Access Management (IAM). Vous trouverez des stratégies de stockage d'objet courantes sur la page https://docs.oracle.com/en-us/iaas/Content/Identity/Concepts/commonpolicies.htm#write-objects-to-buckets.

    Pour créer des stratégies IAM, reportez-vous au guide sur la page https://docs.oracle.com/en-us/iaas/Content/Identity/Concepts/policygetstarted.htm.

    Voici un exemple de stratégie requise.

    • Allow group ArcsAttachmentWriters to read buckets in compartment 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. Un jeton d'authentification doit être créé pour l'utilisateur. Pour plus d'informations, reportez-vous à la page https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm#Working.

    Note:

    Prenez note du jeton d'authentification car il ne sera plus affiché après avoir été créé et sera nécessaire plus tard dans le processus de configuration.
  8. Après avoir créé le bucket et un utilisateur, vous devez configurer OCI Object Storage dans Account Reconciliation afin d'établir la connexion à l'aide de l'URL de bucket, du nom d'utilisateur et du mot de passe. Reportez-vous à Configuration d'OCI Object Storage dans Account Reconciliation.

Exemples : configuration de stratégies

Lors de la création d'une stratégie, veillez à sélectionner la location ou le compartiment dans lequel est stockée votre catégorie. Par exemple, si la catégorie est créée dans le compartiment ABC, la stratégie doit également être placée dans ce compartiment.

Catégorie dans la location racine et utilisateur créé dans un fournisseur d'identités fédéré

Si votre catégorie se trouve dans la location racine, que vous utilisez un groupe et que l'utilisateur est créé dans un fournisseur d'identités fédéré, le format de la stratégie doit être le suivant :

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

Par exemple, si le nom du groupe est arcs_attachments et celui de la catégorie 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'}}

Catégorie dans la location racine, et groupe et utilisateur standard (non créés dans un fournisseur d'identités fédéré)

Si votre catégorie se trouve dans la location racine, et que vous utilisez un groupe et un utilisateur standard (non créés dans un fournisseur d'identités fédéré), le format de la stratégie doit être le suivant :

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

Par exemple, si le nom du groupe est arcs_attachments et celui de la catégorie 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'}}

Catégorie dans le niveau de compartiment, et groupe et utilisateur créés dans un fournisseur d'identités fédéré

Si votre catégorie se trouve dans le niveau de compartiment, et que vous utilisez un groupe et un utilisateur créés dans le fournisseur d'identités fédéré, le format de la stratégie doit être le suivant :

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

Par exemple, si le nom du groupe est arcs_attachments et celui du compartiment 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'}}

Catégorie dans le niveau de compartiment, et groupe et utilisateur standard (non créés dans un fournisseur d'identités fédéré)

Si votre catégorie se trouve dans le niveau de compartiment, et que vous utilisez un groupe et un utilisateur standard (non créés dans un fournisseur d'identités fédéré), le format de la stratégie doit être le suivant :

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

Par exemple, si le nom du groupe est arcs_attachments et celui du compartiment 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'}}