アクセス制御

AI Platform は、Identity and Access Management(IAM)を使用してリソースへのアクセスを管理します。リソースへのアクセス権を付与するには、ユーザー、グループ、またはサービス アカウントに 1 つ以上の役割を割り当てます。

AI Platform で使用できる IAM 役割は次の 3 種類です。

  • 基本の役割(オーナー、閲覧者、編集者)。すべての GCP サービスに共通の役割です。

  • 事前定義の AI Platform の役割。AI Platform のリソースに対するアクセス権をプロジェクト レベルまたはモデルレベルできめ細かく設定できます。

  • カスタムの役割。特定の権限セットを選択し、それらの権限を持つ独自の役割を作成して、組織内のユーザーに付与できます。

このガイドでは、事前定義の AI Platform の役割を中心に説明します。役割の一般的な使い方や関連する権限について解説します。

基本の役割

従来の AI Platform の IAM 役割は、すべての GCP サービスに共通の基本の役割(オーナー、閲覧者、編集者)に基づいています。

従来のプロジェクト編集者の役割は、AI Platform 管理者の役割と同等です。

従来のプロジェクト閲覧者の役割には、AI Platform 閲覧者の役割と同じ権限だけでなく、オンライン予測リクエストの送信権限も割り当てられています。AI Platform 閲覧者の役割を使用すると、AI Platform のリソースに対する読み取り専用権限をユーザーに付与できます。

事前定義の役割

事前定義の役割には、関連する権限セットが割り当てられています。AI Platform の事前定義の役割を使用すると、プロジェクト、個々のモデル、ジョブ、オペレーションに対する権限を付与できます。

役割に割り当てられている権限の一覧を表示するには、役割の名前をクリックします。

プロジェクトの役割

AI Platform の管理者、デベロッパー、閲覧者の役割を使用すると、リソースに対するさまざまな権限をプロジェクト レベルで付与できます。

AI Platform のプロジェクトで、これらの役割を追加、更新または削除する方法については、チームメンバーへのアクセス権の付与、変更、取り消しに関するドキュメントをご覧ください。

役割のタイトル 役割名 機能
AI Platform 管理者

roles/ml.admin

AI Platform のプロジェクト、ジョブ、オペレーション、モデル バージョンに対してフルアクセスが許可されます。

注: 基本のプロジェクト編集者の役割は roles/ml.admin と同等です。

AI Platform デベロッパー

roles/ml.developer

トレーニング ジョブと予測ジョブ、モデルとバージョンを作成し、オンライン予測リクエストを送信できます。

AI Platform 閲覧者

roles/ml.viewer

AI Platform のリソースに対する読み取り専用権限が付与されます。

モデルの役割

AI Platform のモデルオーナーとモデルユーザーの役割を使用すると、特定のモデルリソースに対してさまざまな権限を付与できます。

個人やサービスにモデルユーザーの役割を付与することで、個人やサービスとモデルを共有できます。

役割のタイトル 役割名 機能
AI Platform モデルオーナー

roles/ml.modelOwner

モデルとそのバージョンに対するフルアクセスが許可されます。この役割は、モデルを作成するユーザーに自動的に付与されます。

AI Platform モデルユーザー

roles/ml.modelUser

モデルとそのバージョンを読み取り、予測に使用する権限が付与されます。この役割を付与することで、特定のモデルを簡単に共有することができます。

ジョブとオペレーションの役割

モデルオーナーの役割と同様に、ジョブまたはオペレーションを作成するユーザーに自動的に割り当てられるジョブおよびオペレーション リソースレベルのオーナーの役割があります。これらの役割により、ユーザーは自分が作成したジョブやオペレーションのすべてを管理できます。詳細については、ジョブとオペレーションの役割の権限をご覧ください。

権限と役割

このセクションでは、AI Platform に事前定義されている役割で付与される権限について説明します。これらの事前定義の役割がニーズを満たしていない場合は、このセクションの情報を参考にして、独自のカスタムの役割を作成してください。

管理者の役割

役割名 説明 権限
roles/ml.admin AI Platform 管理者

AI Platform のプロジェクト、ジョブ、オペレーション、モデル、バージョンに対するフルアクセスが許可されます。

注: 基本のプロジェクト編集者の役割からこの役割への移行は非常に簡単です。以前にプロジェクト レベルで割り当てられた基本の編集者の役割を使用していた場合は、この roles/ml.admin の役割を使用して、まったく同じ権限セットをユーザーに付与できます。

  • resourcemanager.projects.get
  • ml.projects.getConfig
  • ml.jobs.create
  • ml.jobs.list
  • ml.jobs.get
  • ml.jobs.getIamPolicy
  • ml.jobs.setIamPolicy
  • ml.jobs.cancel
  • ml.operations.list
  • ml.operations.get
  • ml.operations.cancel
  • ml.models.create
  • ml.models.list
  • ml.models.get
  • ml.models.setIamPolicy
  • ml.models.getIamPolicy
  • ml.models.predict
  • ml.models.delete
  • ml.models.update
  • ml.versions.create
  • ml.versions.list
  • ml.versions.get
  • ml.versions.predict
  • ml.versions.delete

デベロッパーの役割

役割名 説明 権限
roles/ml.developer

トレーニング ジョブと予測ジョブ、モデルとバージョンを作成し、オンライン予測リクエストを送信できます。

注: ジョブを作成すると、ジョブのデベロッパーに AI Platform ジョブオーナーの役割が自動的に付与されます。このため、デベロッパーには自分が作成したすべてのジョブに対する ml.jobs.cancel 権限と ml.jobs.update 権限が付与されます。

推奨事項: トラブルシューティング用に、デベロッパーに AI Platform ログに対する読み取り専用権限を付与します。

  • resourcemanager.projects.get
  • ml.projects.getConfig
  • ml.jobs.create
  • ml.jobs.list
  • ml.jobs.get
  • ml.jobs.getIamPolicy
  • ml.operations.list
  • ml.operations.get
  • ml.models.create
  • ml.models.list
  • ml.models.get
  • ml.models.getIamPolicy
  • ml.models.predict
  • ml.versions.list
  • ml.versions.get
  • ml.versions.predict

閲覧者の役割

役割名 説明 権限
roles/ml.viewer

特定のプロジェクトの AI Platform のリソースに対する読み取り専用権限が付与されます。

注: 以前のプロジェクト閲覧者の役割を使用すると、roles/ml.viewer の役割と同じ権限に加えて、オンライン予測リクエストを送信する権限をユーザーに付与できます。

  • resourcemanager.projects.get
  • ml.projects.getConfig
  • ml.jobs.list
  • ml.jobs.get
  • ml.operations.list
  • ml.operations.get
  • ml.models.list
  • ml.models.get
  • ml.versions.list
  • ml.versions.get

モデルオーナーの役割

役割名 説明 権限
roles/ml.modelOwner モデルとそのバージョンへのフルアクセス。この役割は、モデルを作成するユーザーに自動的に付与されます。
  • ml.models.get
  • ml.models.setIamPolicy
  • ml.models.getIamPolicy
  • ml.models.predict
  • ml.models.delete
  • ml.models.update
  • ml.versions.create
  • ml.versions.list
  • ml.versions.get
  • ml.versions.predict
  • ml.versions.delete

モデルユーザーの役割

役割名 説明 権限
roles/ml.modelUser モデルとそのバージョンを読み取り、予測に使用するための権限。
  • ml.models.get
  • ml.models.predict
  • ml.versions.list
  • ml.versions.get
  • ml.versions.predict

ジョブオーナーの役割

役割名 説明 権限
roles/ml.jobOwner

特定のジョブリソースに対するすべての権限へのフルアクセス。ジョブオーナーの役割はそのジョブを作成したユーザーに自動的に付与されます。

たとえば、プロジェクトに対して AI Platform のデベロッパーの役割を持っているユーザーは、ジョブの作成、一覧表示、特定のプロジェクトのジョブの一覧表示を行うことができます。デベロッパーは、自分が作成したジョブのみをキャンセルできます。

  • ml.jobs.get
  • ml.jobs.getIamPolicy
  • ml.jobs.cancel

オペレーション オーナーの役割

役割名 説明 権限
roles/ml.operationOwner

特定のオペレーション リソースに対するすべての権限へのフルアクセス。オペレーション オーナーの役割は、バージョンまたはモデルの作成時にユーザーが間接的に作成するすべてのオペレーションに対して、ユーザーに自動的に付与されるため、ユーザーはいつでも自分のオペレーションを取得してキャンセルすることができます。

  • ml.operations.get
  • ml.operations.cancel

トレーニングと予測に必要な権限

便宜上、この表にトレーニングと予測に具体的に必要な権限をまとめています。

タスク 必要な権限
トレーニング
  • ml.jobs.create
バッチ予測
  • ml.jobs.create
  • ml.models.predict*
  • ml.versions.predict*

注: Google Cloud Storage に保存されたモデルの場所を指定することで、デプロイされたバージョンがなくても、バッチ予測ジョブを作成できます。このタイプのバッチ予測ジョブには、ml.jobs.create 権限のみが必要です。

デプロイされたバージョンを使用するバッチ予測ジョブを作成するには、さらに ml.models.predict または ml.versions.predict のいずれかが必要ですが、両方は必要ありません。

オンライン予測
  • ml.models.predict
  • ml.versions.predict

メソッドに必要な権限

このセクションでは、AI Platform でメソッド呼び出しに必要な権限について説明します。

メソッド 必要な権限
projects.getConfig ml.projects.getConfig
projects.jobs.cancel ml.jobs.cancel
projects.jobs.create ml.jobs.create

注: デプロイされたバージョンを使用するバッチ予測ジョブを作成するには、さらに ml.models.predict または ml.versions.predict のいずれかが必要です(両方は必要ありません)。

projects.jobs.get ml.jobs.get
projects.jobs.list ml.jobs.list
projects.models.create ml.models.create
projects.models.delete ml.models.delete
projects.models.get ml.models.get
projects.models.list ml.models.list
projects.models.versions.create ml.versions.create
projects.models.versions.delete ml.versions.delete
projects.models.versions.get ml.versions.get
projects.models.versions.list ml.versions.list
projects.models.versions.setDefault ml.models.update
projects.operations.cancel ml.operations.cancel
projects.operations.get ml.operations.get
projects.operations.list ml.operations.list

ストレージに必要な権限

トレーニング済みのモデルを AI Platform にデプロイして予測を取得するときに、保存したモデルファイルを Cloud Storage にアップロードします。Cloud Storage バケット内では、モデルファイルはオブジェクトです。AI Platform のサービス アカウントが Cloud Storage バケットに保存されているトレーニング済みモデルのファイルにアクセスできることを確認する必要があります。

AI Platform のサービス アカウントには、少なくとも次の権限を含む Cloud Storage IAM 役割を付与します。

タスク 必要な権限 説明
予測 storage.buckets.list AI Platform のプロジェクトに、Cloud Storage バケットに格納されているモデルファイルの検索を許可します。
予測 storage.objects.get AI Platform のプロジェクトに、Cloud Storage バケットに格納されたモデルファイルの読み取りを許可します。

AI Platform に Cloud Storage の権限を構成する方法をご覧ください。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

TensorFlow 用 AI Platform