OCIオブジェクト・ストレージの設定

この機能を使用するには、OCIオブジェクト・ストレージのサブスクリプションが別途必要です。バケットは、オブジェクトを格納するためのOCIオブジェクト・ストレージ内の論理コンテナであることに注意してください。Account Reconciliationのコンテキストでは、添付はオブジェクトと見なされます。

OCIオブジェクト・ストレージの概要レベルのステップを次にリストしています:

  1. OCIオブジェクト・ストレージで、Account Reconciliationの添付を保存するためのバケットを作成します。手順は、バケットの作成 を参照してください。

    Note:

    既存のコンパートメントにバケットを作成することも、Account Reconciliationの添付に対して新しいコンパートメントを作成することもできます。

    バケットの設定の例を次に示します。


    オブジェクト・ストレージ構成

    バケットへのアクセスをテストして、テスト環境から本番環境にシームレスに切り替えられるようにするには、バケット内に2つのフォルダ(テスト環境用に1つのフォルダ、本番環境用にもう1つのフォルダ)を作成することをお薦めします。たとえば、account_rec_dataという名前のバケットを作成して添付を保存する場合、このバケット内にフォルダtestおよびprodを作成します。実装フェーズ中に、<bucket_url>/testとしてバケットURLを指定してtestフォルダを使用します。本番環境に移動するときは、バケット構成を<bucket_url>/prodに切り替えます。その後、本番環境に影響を与えずにフォルダtestを削除できます。

  2. バケットの自動階層制御が無効になっていることを確認してください。オブジェクト・ストレージ・バケットの自動階層制御の管理を参照してください。
  3. OCIオブジェクト・ストレージライフサイクル・ポリシー・ルールをそのまま保持する必要があります。これは変更しないでください。
  4. オプション: OCIオブジェクト・ストレージ保持ルールは、会社の監査要件(5-7年など)に従います。

  5. Oracle Cloud Infrastructure (OCI)では、Account Reconciliationのユーザーを作成し、少なくともREADおよびWRITEアクセス権をそのユーザーに付与する必要がありますが、DELETEアクセス権は付与しないでください。ユーザーは、Identity and Access Management (IAM)ユーザーまたはフェデレーテッド・ユーザーにできます。

    Account Reconciliationのオブジェクト・ストレージにアクセスするために、個別のユーザーを作成することをお薦めします。このユーザーには、添付ストレージ・バケットにアクセスする権限およびバケットのオブジェクトを管理する権限を付与する必要があります。

  6. ポリシーを割り当てるには、グループを作成する必要があります。

    オブジェクト・ストレージへのアクセスは、Identity and Access Management (IAM)ポリシーによって管理されます。一般的なオブジェクト・ストレージ・ポリシーは、https://docs.oracle.com/en-us/iaas/Content/Identity/Concepts/commonpolicies.htm#write-objects-to-bucketsに記載されています

    IAMポリシーを作成するには、このガイドhttps://docs.oracle.com/en-us/iaas/Content/Identity/Concepts/policygetstarted.htmを参照してください

    次に、必要なポリシーの例を示します。

    • 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. ユーザーの認証トークンを作成しておく必要があります。詳細は、https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm#Workingを参照してください

    Note:

    認証トークンは構成プロセスの後半で使用しますが、作成した後は表示されないため、トークンをノートにとります。
  8. バケットを作成してユーザーを作成したら、バケットURL「ユーザー名」および「パスワード」を使用して接続が行われるように、Account ReconciliationOCIオブジェクト・ストレージを設定する必要があります。Account ReconciliationにおけるOCIオブジェクト・ストレージの設定を参照してください。

例: ポリシーの構成

ポリシーを作成するときは、バケットが格納されているコンパートメントまたはテナンシを選択してください。たとえば、バケットがコンパートメントABCに作成されている場合は、ポリシーもコンパートメントABCに配置する必要があります。

ルート・テナンシにあるバケット、およびフェデレーテッド・アイデンティティ・プロバイダで作成されたユーザー

バケットがルート・テナンシにあり、グループを使用しており、ユーザーがフェデレーテッド・アイデンティティ・プロバイダで作成されている場合、ポリシー・フォーマットは次のようになります:

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

たとえば、グループ名がarcs_attachments、バケット名が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'}}

ルート・テナンシにあるバケット、通常(非フェデレーテッド・アイデンティティ・プロバイダ)のグループとユーザー

バケットがルート・テナンシにあり、通常(非フェデレーテッド・アイデンティティ・プロバイダ)のグループとユーザーを使用している場合、ポリシー・フォーマットは次のようになります:

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

たとえば、グループ名がarcs_attachments、バケット名が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'}}

コンパートメント・レベルにあるバケット、およびフェデレーテッド・アイデンティティ・プロバイダで作成されたグループとユーザー

バケットがコンパートメント・レベルにあり、フェデレーテッド・アイデンティティ・プロバイダで作成されたグループとユーザーを使用している場合、ポリシー・フォーマットは次のようになります:

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

たとえば、グループ名がarcs_attachments、コンパートメント名が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'}}

コンパートメント・レベルにあるバケット、および通常(非フェデレーテッド・アイデンティティ・プロバイダ)のグループとユーザー

バケットがコンパートメント・レベルにあり、通常(非フェデレーテッド・アイデンティティ・プロバイダ)のグループとユーザーを使用している場合、ポリシー・フォーマットは次のようになります:

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

たとえば、グループ名がarcs_attachments、コンパートメント名が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'}}