カスタムロールのタグの作成と管理

このガイドでは、カスタムロールのタグを作成して管理する方法について説明します。

タグについて

タグは、Google Cloud内のリソースに適用できる Key-Value ペアです。タグを使用すると、リソースに特定のタグが付加されているかどうかに基づいて、条件付きでポリシーの許可や拒否を行うことができます。たとえば、リソースに特定のタグがあるかどうかに基づいて、Identity and Access Management(IAM)のロールを条件付きで付与できます。タグの詳細については、タグの概要をご覧ください。

タグは、タグと Google Cloud リソースを結びつけるタグ バインディング リソースを作成することによって、リソースに適用されます。

必要な権限

タグの管理に必要な権限を取得するため、次の IAM ロールを付与するように管理者に依頼してください。

  • タグが適用されているリソースに対する タグ閲覧者roles/resourcemanager.tagViewer
  • 組織レベルでタグを表示および管理する: 組織に対する組織閲覧者roles/resourcemanager.organizationViewer
  • タグの定義を作成、更新、削除する: タグの作成、更新、削除を行うリソースに対する Tag Administratorroles/resourcemanager.tagAdmin
  • リソースにタグを適用する、リソースからタグを削除する: タグの値、タグの値を適用または削除するリソースに対する Tag Userroles/resourcemanager.tagUser

ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

カスタムロールにタグを付加するために必要な権限を取得するには、ロールが配置されているプロジェクトまたは組織に対するロール管理者 roles/iam.roleAdmin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

タグキーとタグ値を作成する

タグを適用する前に、タグを作成してその値を構成する必要があります。タグキーとタグ値を作成する方法については、タグの作成タグ値の追加をご覧ください。

既存のリソースにタグを追加する

既存のカスタムロールにタグを追加する手順は次のとおりです。

gcloud

タグをカスタムロールに適用するには、gcloud resource-manager tags bindings create コマンドを使用してタグ バインディング リソースを作成する必要があります。

      gcloud resource-manager tags bindings create \
          --tag-value=TAGVALUE_NAME \
          --parent=RESOURCE_ID
      

次のように置き換えます。

  • TAGVALUE_NAME: 適用されるタグ値の永続 ID または名前空間名(例: tagValues/567890123456)。
  • RESOURCE_ID: projects または organizations の接頭辞と API ドメイン名(//iam.googleapis.com/)を含む完全なロール名。たとえば、プロジェクト example-project のプロジェクト レベルのカスタムロール example-role のリソース ID は //iam.googleapis.com/projects/example-project/roles/example-role です。

リソースに適用されたタグを一覧表示する

カスタムロールに直接適用または継承されたタグ バインディングのリストを表示できます。

gcloud

リソースに適用されたタグ バインディングのリストを取得するには、gcloud resource-manager tags bindings list コマンドを使用します。

      gcloud resource-manager tags bindings list \
          --parent=RESOURCE_ID
      

次のように置き換えます。

  • RESOURCE_ID: projects または organizations の接頭辞と API ドメイン名(//iam.googleapis.com/)を含む完全なロール名。たとえば、プロジェクト example-project のプロジェクト レベルのカスタムロール example-role のリソース ID は //iam.googleapis.com/projects/example-project/roles/example-role です。

次のようなレスポンスが返されます。

name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
          tagValue: tagValues/567890123456
          resource: //iam.googleapis.com/projects/example-project/roles/example-role
      

リソースからタグを削除する

カスタムロールに直接適用されたタグを解除できます。継承されたタグは、同じキーと別の値を持つタグを適用することでオーバーライドできますが、削除することはできません。

gcloud

タグ バインディングを削除するには、gcloud resource-manager tags bindings delete コマンドを使用します。

      gcloud resource-manager tags bindings delete \
          --tag-value=TAGVALUE_NAME \
          --parent=RESOURCE_ID
      

次のように置き換えます。

  • TAGVALUE_NAME: 適用されるタグ値の永続 ID または名前空間名(例: tagValues/567890123456)。
  • RESOURCE_ID: projects または organizations の接頭辞と API ドメイン名(//iam.googleapis.com/)を含む完全なロール名。たとえば、プロジェクト example-project のプロジェクト レベルのカスタムロール example-role のリソース ID は //iam.googleapis.com/projects/example-project/roles/example-role です。

タグキーとタグ値を削除する

タグキーまたは値の定義を削除する場合は、タグがカスタムロールから切り離されていることを確認します。タグ定義自体を削除する前に、既存のタグの適用(タグ バインディング)を削除する必要があります。タグキーとタグ値を削除するには、タグの削除をご覧ください。

Identity and Access Management の条件とタグ

タグと IAM Conditions を使用すると、階層内のユーザーに条件付きでロール バインディングを付与できます。条件付きロール バインディングを含む IAM ポリシーが適用されている場合、リソースに適用されたタグを変更または削除すると、そのリソースへのユーザー アクセスを削除できます。詳細については、Identity and Access Management の条件とタグをご覧ください。

次のステップ