このページでは、Sensitive Data Protection リソースへのアクセスを制御する方法について説明します。
Sensitive Data Protection は、Identity and Access Management(IAM)を使用してリソースへのアクセスを制御します。IAM は、リソースのきめ細かい認可を管理するためのツールです。 Google Cloud つまり、IAM を使用すると、どのリソースに対して誰が何を実行できるかを制御できます。
IAM を使用してユーザーにリソースへのアクセス権を付与するには、特定のロールを付与します。 IAM ロールにより、プリンシパルは Sensitive Data Protection リソースに対してタスクを実行する権限が付与されます。
IAM とその機能の詳細については、 IAM のドキュメントをご覧ください。
Sensitive Data Protection リソースへのアクセスの管理
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 パスなど、リクエストの詳細を評価する条件を作成できます。
Sensitive Data Protection でサポートされている条件属性の詳細については、 IAM Conditions の属性のリファレンスを IAM ドキュメントでご覧ください。
Sensitive Data Protection リソースに条件付きアクセス権を直接付与することはできません。ただし、プロジェクト、フォルダ、組織などのコンテナ リソースのプリンシパルにロールを付与し、これらのロール バインディングに条件を追加することで、Sensitive Data Protection リソースタイプに条件付きアクセス権を付与できます。コンテナ リソースの許可ポリシーに追加された条件は、そのコンテナ リソースに含まれるリソースによって継承されます。継承された条件の詳細については、IAM ドキュメントの継承された条件のサポートをご覧ください。
ロール バインディングに条件を追加する方法については、IAM ドキュメントの条件付きロール バインディングの管理をご覧ください。
次のステップ
- IAM によるアクセス制御の詳細については、 IAM の概要をご覧ください。
- Sensitive Data Protection で使用可能なロールと権限を確認するには、Sensitive Data Protection のロールと権限をご覧ください。
- 機密データの検出サービスがサービス エージェント コンテナとサービス エージェントを使用してデータ リソースをプロファイリングする方法について学習する。