アイデンティティ・ポリシーの設定

データ・ラベル付けでは、データセットおよびラベル・レコードを管理するためのリソースにアクセスするには、IAMにポリシーを設定する必要があります。

IAMポリシーの仕組みの詳細は、アイデンティティ・ドメインを使用しないIAMまたはアイデンティティ・ドメインを使用するIAMのドキュメントを参照してください。

ポリシーに追加するタグおよびタグ・ネームスペースの詳細は、タグおよびタグ・ネームスペースの管理を参照してください。

ユーザー・ポリシーの設定

サービスが正しく機能するように、データ・ラベリング・ユーザーのIAMにポリシーを作成します。

  1. ユーザーのグループを作成します。
  2. このグループにユーザーを追加します。
  3. 次のルールを使用して動的グループを作成します:
    ALL { resource.type = 'datalabelingdataset'}
  4. 管理者以外のユーザーのルート・コンパートメントにポリシーを作成します:
    allow group <group-name> to read buckets in compartment <compartment-name>
    allow group <group-name> to manage objects in compartment <compartment-name>
    allow group <group-name> to read objectstorage-namespaces in compartment <compartment-name>
    allow group <group-name> to manage data-labeling-family in compartment <compartment-name>
  5. 動的グループのルート・コンパートメントにポリシーを作成します:
    allow dynamic-group <dynamic-group-name> to read buckets in compartment <compartment-name>
    allow dynamic-group <dynamic-group-name> to read objects in compartment <compartment-name>
    allow dynamic-group <dynamic-group-name> to manage objects in compartment <compartment-name> where any {request.permission='OBJECT_CREATE', request.permission='OBJECT_OVERWRITE'}
  6. (オプション)必要に応じてテナンシを管理します(特定のコンパートメントへのアクセスの制限を含む)。
  7. (オプション)必要に応じてコンパートメントを管理します。

クロス・テナンシ・ポリシーの設定

データ・ラベリングでクロス・テナンシ・ポリシーを設定するには、このステップに従います。

クロス・テナンシ・ポリシーを使用すると、リソースを別のテナンシのユーザーと共有できます。たとえば、ソース・テナント内のIAMグループのユーザーが宛先テナンシのデータセットに対して操作を実行できるようにするクロス・テナント・ポリシーを作成できます。クロス・テナンシ・ポリシーの詳細は、「テナンシをまたがったオブジェクト・ストレージ・リソースへのアクセス」を参照してください。

次の例では、テナンシsource-tenancy内のグループgroup-nameのユーザーは、destination-tenancyという別のテナンシでデータ・ラベリング機能を使用します。

  1. source-tenancyにグループを作成し、そのグループにユーザーを追加します。
  2. group-nameが承認され、destination-tenancy内のデータセットを管理できるように、source-tenancyに次のポリシーを追加します。
    DEFINE tenancy destination-tenancy AS <destination-tenancy-ocid>
    ENDORSE group group-name TO manage data-labeling-family IN tenancy destination-tenancy
  3. destination-tenancyで、group-nameがデータセットを操作できるようにするポリシー・ステートメントを追加します:
    DEFINE tenancy source-tenancy AS <source-tenancy-ocid>
    DEFINE group group-name AS <source-tenancy-group-ocid>
    ADMIT group group-name OF tenancy source-tenancy TO manage data-labeling-family IN tenancy
  4. (オプション)ポリシーを追加して、destination-tenancy内の特定のコンパートメントにアクセスを制限できます。この例では、コンパートメントはdataset-compartmentと呼ばれます:
    DEFINE tenancy source-tenancy AS <source-tenancy-ocid>
    DEFINE group group-name AS <source-tenancy-group-ocid>
    ADMIT group group-name OF tenancy source-tenancy TO manage data-labeling-family IN compartment dataset-compartment
  5. (オプション)バケットがdestination-tenancyに存在する場合は、オブジェクト・ストレージ・リソースにもクロステナンシ・ポリシーを追加する必要があります。次のポリシー・ステートメントを追加して、グループgroup-namedestination-tenancy内のオブジェクト・ストレージ・リソースにアクセスできるようにします:
    source-tenancyで、次を追加します:
    ENDORSE group group-name to read buckets in tenancy destination-tenancy
    ENDORSE group group-name to manage objects in tenancy destination-tenancy
    ENDORSE group group-name to read objectstorage-namespaces in tenancy destination-tenancy
    destination-tenancyで、次を追加します:
    ADMIT group group-name of tenancy source-tenancy to read buckets in tenancy
    ADMIT group group-name of tenancy source-tenancy to manage objects in tenancy
    ADMIT group group-name of tenancy source-tenancy to read objectstorage-namespaces in tenancy
    クロステナンシ・ポリシーの記述の詳細は、「テナンシをまたがったオブジェクト・ストレージ・リソースへのアクセス」を参照してください。

データセットをオブジェクト・ストレージ・バケットに関連付けるクロス・テナンシ・ポリシーの設定

データ・ラベリング・データセットがオブジェクト・ストレージ・バケットに対して別のテナンシで作成されている場合は、データセットおよびバケットを関連付けるポリシーが必要です。

クロス・テナンシ・アクセスの場合、アソシエーション・ポリシーが必要な次の3つのシナリオのいずれかがある可能性があります。

  1. ユーザーおよびオブジェクト・ストレージ・バケットは同じテナンシ(この例ではテナンシA)にあり、データセットは別のテナンシ(この例ではテナンシB)にあります。
    1. テナンシAに次のポリシーを追加します:
      define tenancy B as <tenancy-B-ocid> 
      endorse group Group-A associate buckets in tenancy with data-labeling-datasets in tenancy B
    2. テナンシBに次のポリシーを追加します:
      define tenancy A as <tenancy-A-ocid>
      define group Group-A as <Group-A-ocid>
      Admit group Group-B of tenancy A associate buckets in tenancy A with data-labeling-datasets in tenancy
  2. ユーザーおよびデータセットは同じテナンシ(この例ではテナンシA)にあり、バケットは別のテナンシ(この例ではテナンシB)にあります。
    1. テナンシAに次のポリシーを追加します:
      define tenancy B as <tenancy-B-ocid> 
      endorse group Group-A associate buckets in tenancy B with data-labeling-datasets in tenancy
    2. テナンシBに次のポリシーを追加します:
      define tenancy A as <tenancy-A-ocid>
      define group Group-A as <Group-A-ocid>
      Admit group Group-A of tenancy A associate buckets in tenancy with data-labeling-datasets in tenancy A
  3. ユーザーは1つのテナンシ(この例のテナンシA)にあり、データセットは別のテナンシ(この例のテナンシB)にあり、バケットは3番目のテナンシ(この例のテナントC)にあります。
    1. テナンシAに次のポリシーを追加します:
      define tenancy B as <tenancy-B-ocid> 
      define tenancy C as <tenancy-C-ocid> 
      endorse group Group-A associate buckets in tenancy C with data-labeling-datasets in tenancy B
    2. テナンシBに次のポリシーを追加します:
      define tenancy A as <tenancy-A-ocid>
      define tenancy C as <tenancy-C-ocid>
      define group Group-A as <Group-A-ocid>
      Admit group Group-A of tenancy A associate buckets in tenancy C with data-labeling-datasets in tenancy
    3. テナンシCに次のポリシーを追加します:
      define tenancy A as <tenancy-A-ocid>
      define tenancy B as <tenancy-B-ocid>
      define group Group-A as <Group-A-ocid>
      Admit group Group-A of tenancy A associate buckets in tenancy with data-labeling-datasets in tenancy B