ビジョン・ポリシーについて

API権限を含むVisionのリソース・ポリシーについて説明します。

Visionにアクセスできるユーザー、およびユーザー・グループごとのアクセスのタイプを管理するには、ポリシーを作成する必要があります。デフォルトでは、管理者グループのユーザーのみがすべてのVisionリソースにアクセスできます。サービスを使用する他のすべてのユーザーについて、Visionリソースに対する適切な権限を割り当てるポリシーを作成する必要があります。Oracle Cloud Infrastructureポリシーの完全なリストは、アイデンティティ・ドメインのあるIAMのポリシー・リファレンスまたはアイデンティティ・ドメインのあるIAMのドキュメンテーションを参照してください。

重要

すべてのポリシーをルート・コンパートメント・レベル(テナンシ・レベル)で作成します。テナンシ・コンソールで、「アイデンティティとセキュリティ」をクリックします。「ポリシー」をクリックし、ルート・コンパートメントを選択します。

ユーザーにVision APIへのアクセス権を付与するポリシー

Visionユーザーに必要なルート・コンパートメント・レベルのポリシー。

テナンシでVisionの事前トレーニング済モデルのみを使用する場合、Vision APIにUSE権限を付与するポリシーで十分です。
allow group <group_in_tenancy> to use ai-service-vision-family in tenancy
テナンシにプロジェクトまたはモデルを作成する必要がある場合は、Vision APIにMANAGE権限を付与するポリシーが必要です:
allow group <group_in_tenancy> to manage ai-service-vision-family in tenancy

オブジェクト・ストレージの入力イメージ・ファイルにアクセスするポリシー

同じテナンシまたはクロステナンシのVisionからオブジェクト・ストレージのイメージ・ファイルにアクセスするために必要なポリシー。

同一テナンシのオブジェクト・ストレージ・アクセス
入力イメージがテナンシのオブジェクト・ストレージにある場合は、テナンシにグループを作成し、そこでオブジェクト・ストレージにアクセスできるユーザーを認可します。ルート・コンパートメント・レベルでテナンシに次のポリシーを追加して、オブジェクト・ストレージUSE権限をグループに付与します:
allow group <group_in_tenancy> to use object-family in tenancy
オブジェクト・ストレージへのクロステナンシ・アクセス
入力イメージがtenancy_Bオブジェクト・ストレージにあり、ユーザー・グループがtenancy_Aにある場合は、テナンシAのユーザー・グループに対してENDORSE READポリシーを定義する必要があります:
define tenancy <tenancy_B> as <tenancy_B_ocid>
endorse group <group_in_tenancy_A> to read object in tenancy <tenancy_B>
また、tenancy_Aのユーザー・グループに対して、tenancy_BでADMIN READポリシーを定義する必要があります。
define tenancy <tenancy_A> as <tenancy_A_ocid>
define group <group_in_tenancy_A> as <group_in_tenancy_A_ocid>
admit group <group_in_tenancy_A> of tenancy <tenancy_A> to read object in tenancy

オブジェクト・ストレージのトレーニング・データセットにアクセスするためのポリシー

同じテナンシまたはクロステナンシのVisionからオブジェクト・ストレージのトレーニング・データセットにアクセスするために必要なポリシー。

同じテナンシ・トレーニング・データセット・アクセス
カスタマイズされたトレーニング・データセットがテナンシのオブジェクト・ストレージにある場合は、テナンシにグループを作成して、そこでオブジェクト・ストレージにアクセスできるユーザーを認可します。ルート・コンパートメント・レベルのテナンシに次のポリシーを追加して、オブジェクト・ストレージにグループへのUSE権限を付与します:
allow group <group_in_tenancy> to use object-family in compartment <training-dataset-located-object-storage-compartment>
クロステナンシ・トレーニング・データセット・アクセス
カスタマイズされたトレーニング・データセットがtenancy_Bオブジェクト・ストアにあり、ユーザー・グループがtenancy_Aにある場合は、テナンシAのユーザー・グループに対してENDORSE READポリシーを定義する必要があります:
define tenancy <tenancy_B> as <tenancy_B_ocid>
endorse group <group_in_tenancy_A> to read object in tenancy <tenancy_B>
また、tenancy_Aのユーザー・グループに対して、tenancy_BでADMIN READポリシーを定義する必要があります。
define tenancy <tenancy_A> as <tenancy_A_ocid>
define group <group_in_tenancy_A> as <group_in_tenancy_A_ocid>
admit group <group_in_tenancy_A> of tenancy <tenancy_A> to read object in compartment <training-dataset-located-object-storage-compartment>

バッチ処理結果をオブジェクト・ストレージに格納するポリシー

バッチ処理結果をVisionのオブジェクト・ストレージに格納するために必要なポリシー。

ルート・コンパートメント・レベルのテナンシに次のポリシーを追加して、バッチ処理イメージまたはドキュメントであるグループにオブジェクト・ストレージ・アクセス権限を付与します:
allow group <group_in_tenancy> to manage object-family in compartment <batch_processing_results_located_object_storage_compartment>

POST /actions/analyzeImage

権限use ai-service-vision-analyze-imageは、リクエストにmodelIdが指定されていない機能が含まれている場合に必要です。つまり、事前トレーニング済モデルを参照しています。

リクエストにmodelIdが指定されている機能(カスタム・モデルを参照している機能)が含まれている場合、use ai-service-vision-modelをユーザーに付与する必要があります。use ai-service-vision-analyze-imageリソースは、ai-service-vision-familyリソース・ファミリの一部です。

同じコールによって、異なる機能で事前トレーニング済モデルとカスタム・モデルが混在する場合があります。たとえば、次の/actions/analyzeImageリクエストは、オブジェクト検出のための事前トレーニング済モデルを参照し、イメージ分類のためのカスタム・モデルを参照します。
{
  "features" : [
    { "featureType" : "OBJECT_DETECTION", "modelId" : "ocid1.aivisionmodel.etc..." },
    { "featureType": "IMAGE_CLASSIFICATION" }
  ],
  "image" : { ... }
}
このリクエストには、use ai-service-vision-modelおよびuse ai-service-vision-analyze-image権限が必要です。

ポリシーの例

次のポリシーでは、グループ内のユーザーのみが事前トレーニング済モデルを使用できます。
allow group <group_name> to use ai-service-vision-analyze-image in tenancy
カスタム・モデルを使用するには、次の権限をユーザーのグループに付与する必要があります。
allow group <group_name> to use ai-service-vision-model in tenancy
ポリシーを特定のコンパートメントにリストアできます。次に例を示します:
allow group <group_name> to use ai-service-vision-model in compartment <my_compartment>
個々のリソースIDのかわりに、ファミリ・リソースに対する権限を設定できます。たとえば:
allow group <group_name> to use ai-service-vision-family in tenancy

投稿/imageJobs

イメージ関連のジョブをスケジュールするには、/actions/ImageJobsをコールして、use ai-service-vision-image-job権限が必要です。

ジョブにカスタムmodelIdを参照する機能が含まれている場合は、use ai-service-vision-modelもユーザーに付与する必要があります。ai-service-vision-image-jobリソースは、ai-service-vision-familyリソース・ファミリの一部です。

ポリシーの例

事前トレーニング済モデルを使用してイメージ関連ジョブを実行するには、次のポリシーが必要です:
allow group <group_name> to use ai-service-vision-analyze-image in tenancy
カスタム・モデルでイメージ・ジョブを実行するには、次のポリシーも必要です:
allow group <group_name> to use ai-service-vision-model in tenancy
権限はコンパートメントに制限できます。次に例を示します。
allow group <group_name> to use ai-service-vision-model in compartment <compartment_name>
個々のリソースIDのかわりに、ファミリ・リソースに対する権限を設定できます。次に例を示します。
allow group <group_name> to use ai-service-vision-family in compartment <compartment_name>