このページでは、Model Armor に関連するサービス アカウントについて説明します。
ユーザー管理サービス アカウント
サービス アカウントは、Compute Engine で実行されているアプリケーション、仮想マシン、コンテナ化されたアプリ、その他の自動化されたサービスなど、人間以外のワークロードに ID を提供するように設計された特別なタイプのアカウントです。これらのアカウントを使用すると、人間以外のワークロードがプログラムで認証を行い、 Google Cloud サービスに対して承認済みの API 呼び出しを行うことができます。
ユーザー管理のサービス アカウントは通常、ユーザーが作成して管理しますが、 Google Cloud サービスを有効にすると、デフォルトで作成されるものもあります。デフォルトのサービス アカウントは引き続き直接管理します。
サービス アカウントは、プリンシパルとリソースの両方として機能します。プリンシパルとして、サービス アカウントに Google Cloud リソースへのアクセス権を付与できます。リソースとして、サービス アカウントにアクセスする権限を他のプリンシパルに付与できます。
Model Armor を操作する権限
Model Armor API を呼び出すアプリケーションまたはサービスは、サービス アカウントを使用する必要があります。このサービス アカウントには、テンプレートを使用してプロンプトとレスポンスをサニタイズするなどのアクションを実行するために必要な modelarmor.* 権限を含む IAM ロールが付与されている必要があります。
- 事前定義ロール
roles/modelarmor.userは、既存の Model Armor テンプレートをサニタイズにのみ使用する必要があるサービス アカウントに適しています。これには、modelarmor.templates.useToSanitizeUserPromptやmodelarmor.templates.useToSanitizeModelResponseなどの権限が含まれます。 roles/modelarmor.adminやroles/modelarmor.editorなどの他のロールは、Model Armor リソース(テンプレートとフロア設定)の管理に対するより広範な権限を付与します。通常、これらのロールはアプリケーション サービス アカウントではなく、人間のユーザーまたは自動化ツールに付与されます。
サービス エージェント
サービス エージェントは、Google によって作成および管理されるサービス アカウントです。サービス エージェントは、 Google Cloud サービスがユーザーに代わってプロジェクト内のリソースにアクセスするための ID として機能します。
サービス エージェントは、 Google Cloud API を有効にして使用した後に作成されます。作成時に、Google はプロジェクトのサービス エージェントに特定の事前定義 IAM ロールを付与することがよくあります。これらのロールには、サービス エージェントが正しく機能するために必要な最小限の権限が含まれています。ロールが付与されているサービス エージェントの一覧については、IAM ドキュメントのサービス エージェントをご覧ください。
Service Extensions サービス エージェント
Cloud Load Balancing で Model Armor をサービス拡張機能として使用する場合は、Service Extensions サービス エージェントが関与します。
Service Extensions サービス エージェントのメール形式は service-SERVICE_EXTENSION_PROJECT_NUMBER@gcp-sa-dep.iam.gserviceaccount.com のようになります。
サービス拡張機能が Model Armor を呼び出せるように、プロジェクトで Service Extensions サービス エージェントに次のロールを付与します。
roles/modelarmor.calloutUserroles/modelarmor.userroles/serviceusage.serviceUsageConsumer
これらのロールを付与するコマンドの例:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=serviceAccount:service-SERVICE_EXTENSION_PROJECT_NUMBER@gcp-sa-dep.iam.gserviceaccount.com \
--role=roles/modelarmor.calloutUser
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=serviceAccount:service-SERVICE_EXTENSION_PROJECT_NUMBER@gcp-sa-dep.iam.gserviceaccount.com \
--role=roles/modelarmor.user
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=serviceAccount:service-SERVICE_EXTENSION_PROJECT_NUMBER@gcp-sa-dep.iam.gserviceaccount.com \
--role=roles/serviceusage.serviceUsageConsumer
次のように置き換えます。
PROJECT_ID: プロジェクトの ID。SERVICE_EXTENSION_PROJECT_NUMBER: サービス拡張機能のプロジェクト番号。
次のステップ
- サービス アカウントの詳細については、IAM ドキュメントのサービス アカウントの概要をご覧ください。
- サービス エージェントの詳細については、IAM のドキュメントのサービス エージェントをご覧ください。
- サービス アカウントを安全に使用する方法については、IAM ドキュメントのサービス アカウントを安全に使用するためのベスト プラクティスをご覧ください。
- Model Armor のロールと権限について確認する。