このページでは、Model Armor リソースへのアクセスを制御する方法について説明します。
Model Armor は、Identity and Access Management(IAM)を使用して リソースへのアクセスを制御します。IAM は、リソースのきめ細かい認可を管理するためのツールです。 Google Cloud つまり、どのリソースで誰が何をできるかを制御できます。
IAM を使用してリソースへのアクセス権をユーザーに付与するには、特定のロールを付与します。 IAM ロールにより、プリンシパルは Model Armor リソースでタスクを実行する権限を取得します。
IAM とその機能の詳細については、 IAM のドキュメントをご覧ください。
Model Armor リソースへのアクセスを管理する
IAM でアクセスを管理する最も一般的な方法は、許可ポリシーを使用することです。許可ポリシーには、リソースにアクセスできるプリンシパルと、そのプリンシパルがリソースに対して実行できるアクションが記述されています。
以降のセクションでは、許可ポリシーで単一のロールを付与および取り消す方法について説明します。 Google Cloud コンソールと Google Cloud CLI を使用します。複数のロールを同時に付与および取り消すこともできます。詳細については、IAM のドキュメントのプロジェクト、フォルダ、 組織へのアクセス権の管理をご覧ください。
これらのセクションでは、プロジェクト レベルでのアクセス権の付与と取り消しに焦点を当てています。これにより、プロジェクトとプロジェクト内のすべてのリソースに対する ユーザーのアクセスを制御できます。
さまざまな リソースに適用される許可ポリシーを使用して、リソース階層の他のレベルでアクセスを管理することもできます。 Google Cloud 詳細については、IAM のドキュメントのリソース階層を使用したアクセス 制御をご覧ください。
すべてのリソースが許可ポリシーをサポートしているわけではありません。許可ポリシーを適用できるリソースについては、IAM のドキュメントの許可ポリシーをサポートするリソースをご覧ください。
拒否ポリシーなど、IAM でアクセスを制御するために使用できる他のポリシーについては、IAM ポリシーの種類を IAM のドキュメントでご覧ください。
単一の IAM ロールを付与する
プリンシパルに 1 つのロールを付与する方法は次のとおりです。
コンソール
- コンソールで、[IAM] ページに移動します。 Google Cloud
- プロジェクト、フォルダ、または組織を選択します。
- ロールを付与するプリンシパルを選択します。
- リソースに対する追加のロールをプリンシパルに付与するには、プリンシパルを含む行を見つけて、その行で [プリンシパルを編集] をクリックし、[別のロールを追加] をクリックします。
サービス エージェントにロールを付与するには、[提供のロール付与を含みます] チェックボックスをオンにして、メールアドレスを表示します。 Google
- リソースに対する既存のロールを持たないプリンシパルにロールを付与するには、[アクセスを許可] をクリックし、プリンシパル ID(
my-user@example.comや//iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.comなど)を入力します。
- リソースに対する追加のロールをプリンシパルに付与するには、プリンシパルを含む行を見つけて、その行で [プリンシパルを編集] をクリックし、[別のロールを追加] をクリックします。
- プルダウン リストで、付与するロールを選択します。セキュリティのベスト プラクティスに沿って、プリンシパルが必要とする権限のみを含むロールを選択してください。
- (省略可)ロールに条件を追加します。
- [保存] をクリックします。リソースのロールがプリンシパルに付与されます。
gcloud
-
コンソールで Cloud Shell をアクティブにします。 Google Cloud
コンソールの下部にある Google Cloud Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です 。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています 。セッションが初期化されるまで数秒かかることがあります。
-
add-iam-policy-bindingコマンドを使用すると、プリンシパルにロールをすばやく付与できます。後述のコマンドデータを使用する前に、次のように置き換えます。
-
RESOURCE_TYPE: アクセスを管理するリソースタイプ。projects、resource-manager folders、またはorganizationsを使用します。 -
RESOURCE_ID: Google Cloud プロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字です(例:my-project)。フォルダ ID と組織 ID は数値です(例:123456789012)。 -
PRINCIPAL: プリンシパルまたはメンバーの識別子。通常、PRINCIPAL_TYPE:IDの形式で指定します。 例:user:my-user@example.comまたはprincipalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.com。PRINCIPALに使用できる値の一覧については、プリンシパル ID をご覧ください。プリンシパル タイプが
userの場合、識別子に含まれるドメイン名は Google Workspace ドメインまたは Cloud Identity ドメインである必要があります。Cloud Identity ドメインの設定方法については、Cloud Identity の概要をご覧ください。 -
ROLE_NAME: 付与するロールの名前。次のいずれかの形式で指定してください。- 事前定義ロール:
roles/SERVICE.IDENTIFIER - プロジェクト レベルのカスタムロール:
projects/PROJECT_ID/roles/IDENTIFIER - 組織レベルのカスタムロール:
organizations/ORG_ID/roles/IDENTIFIER
事前定義ロールのリストについては、ロールについてをご覧ください。
- 事前定義ロール:
-
CONDITION: ロール バインディングに追加する条件。条件を追加しない場合は、値Noneを使用します。条件の詳細については、条件の概要をご覧ください。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID \ --member=PRINCIPAL --role=ROLE_NAME \ --condition=CONDITION
Windows(PowerShell)
gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID ` --member=PRINCIPAL --role=ROLE_NAME ` --condition=CONDITION
Windows(cmd.exe)
gcloud RESOURCE_TYPE add-iam-policy-binding RESOURCE_ID ^ --member=PRINCIPAL --role=ROLE_NAME ^ --condition=CONDITION
レスポンスには、更新された IAM 許可ポリシーが含まれます。
-
単一の IAM ロールを取り消す
プリンシパルの 1 つのロールを取り消すには、次の手順を行います。
コンソール
- コンソールで、[IAM] ページに移動します。 Google Cloud
- プロジェクト、フォルダ、または組織を選択します。
- アクセス権を取り消すプリンシパルを含む行を探します。次に、その行の [**プリンシパルを編集**]をクリックします。
- 取り消すロールの [Delete] button をクリックし、[Save] をクリックします。
gcloud
-
コンソールで Cloud Shell をアクティブにします。 Google Cloud
コンソールの下部にある Google Cloud Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です 。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています 。セッションが初期化されるまで数秒かかることがあります。
-
ユーザーからロールを取り消すには、
remove-iam-policy-bindingコマンドを実行します。gcloud RESOURCE_TYPE remove-iam-policy-binding RESOURCE_ID \ --member=PRINCIPAL --role=ROLE_NAME
次の値を指定します。
-
RESOURCE_TYPE: アクセスを管理するリソースタイプ。projects、resource-manager folders、またはorganizationsを使用します。 -
RESOURCE_ID: Google Cloud プロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字です(例:my-project)。フォルダ ID と組織 ID は数値です(例:123456789012)。 -
PRINCIPAL: プリンシパルまたはメンバーの識別子。通常、PRINCIPAL_TYPE:IDの形式で指定します。 たとえば、user:my-user@example.comやprincipalSet://iam.googleapis.com/locations/global/workforcePools/example-pool/group/example-group@example.comです。プリンシパル タイプが
userの場合、識別子に含まれるドメイン名は Google Workspace ドメインまたは Cloud Identity ドメインである必要があります。Cloud Identity ドメインの設定方法については、Cloud Identity の概要をご覧ください。 -
ROLE_NAME: 取り消すロールの名前。次のいずれかの形式で指定してください。- 事前定義ロール:
roles/SERVICE.IDENTIFIER - プロジェクト レベルのカスタムロール:
projects/PROJECT_ID/roles/IDENTIFIER - 組織レベルのカスタムロール:
organizations/ORG_ID/roles/IDENTIFIER
事前定義ロールのリストについては、ロールについてをご覧ください。
- 事前定義ロール:
たとえば、プロジェクト
example-projectのサービス アカウントexample-service-account@example-project.iam.gserviceaccount.comのプロジェクト作成者のロールを取り消すには、次のコマンドを使用します。gcloud projects remove-iam-policy-binding example-project \ --member=serviceAccount:example-service-account@example-project.iam.gserviceaccount.com \ --role=roles/resourcemanager.projectCreator
-
必要なロールを取り消さないように、 変更リスク の推奨事項を有効にできます。変更リスクの推奨事項により、 Google Cloud で 重要とされているプロジェクト レベルのロールを取り消そうとすると、警告が生成されます。
条件付きアクセス
IAM Conditions を使用すると、指定された条件が満たされた場合にのみプリンシパルに アクセス権を付与することで、ポリシーをより細かく設定できます。条件は、 プリンシパル、リソース、リクエストに関連する属性に基づいています。たとえば、プリンシパルが特定のリソースから、または特定の時間にリソースにアクセスする場合にのみ、アクセス権を付与できます。
許可ポリシーの条件は、次のタイプの属性に基づいています。
- リソース属性: リソースのサービス、タイプ、名前が含まれます。これらの属性は通常、ロール バインディングによって付与されるアクセスのスコープを変更するために使用されます。
- リクエスト属性: リクエストを行ったプリンシパルの時間やアクセスレベルなど、リクエストの詳細が含まれます。これらの 属性を使用すると、アクセスレベル、日時、宛先 IP アドレスとポート、想定 URL パスなど、リクエストの詳細情報を評価する条件を作成できます。
Model Armor でサポートされている条件属性の詳細については、IAM ドキュメントの IAM Conditions の属性のリファレンスをご覧ください。
Model Armor リソースで条件付きアクセスを直接付与することはできません。ただし、プロジェクト、フォルダ、組織などのコンテナ リソースのプリンシパルにロールを付与し、これらのロール バインディングに条件を追加することで、Model Armor リソースタイプに条件付きアクセス権を付与できます。コンテナ リソースの許可ポリシーに追加された条件は、そのコンテナ リソースに含まれるリソースによって継承されます。継承された条件の詳細については、IAM ドキュメントの継承された条件のサポートをご覧ください。
ロール バインディングに条件を追加する方法については、IAM ドキュメントの条件付きロール バインディングの管理をご覧ください。
次のステップ
- IAM によるアクセス制御の詳細については、 IAM の概要をご覧ください。
- Model Armor で使用可能なロールと権限を確認するには、Model Armor のロールと権限をご覧ください。
- Model Armor のサービス アカウントの詳細を確認する。