タグの作成と管理

次のタイプの Google Cloud Load Balancing リソースにタグを適用できます。

  • バックエンド バケット
  • バックエンド サービス
  • 転送ルール
  • ヘルスチェック
  • ネットワーク エンドポイント グループ
  • SSL 証明書
  • ターゲット HTTP(S) プロキシ
  • ターゲット インスタンス
  • ターゲット プール
  • ターゲット SSL プロキシ
  • ターゲット TCP プロキシ
  • URL マップ
  • タグについて

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

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

    自動化と課金のためにロード バランシング リソースをグループ化するには、ラベルを使用します。タグとラベルは互いに独立しているので、リソースにタグとラベルの両方を使用できます。

    必要な権限

    必要な権限は、実行する必要があるアクションによって異なります。

    これらの権限を取得するには、リソース階層の適切なレベルで推奨されているロールの付与を管理者に依頼してください。

    タグを表示する

    タグの定義とリソースに適用されているタグを確認するには、タグ閲覧者のロール(roles/resourcemanager.tagViewer)、または次の権限を含む別のロールが必要です。

    必要な権限

    • resourcemanager.tagKeys.get
    • resourcemanager.tagKeys.list
    • resourcemanager.tagValues.list
    • resourcemanager.tagValues.get
    • 該当するリソースタイプに対する listTagBindings。たとえば、Compute Engine インスタンスに適用されているタグを表示する場合は compute.instances.listTagBindings
    • listEffectiveTags
    • (該当するリソースタイプに対する)。たとえば、compute.instances.listEffectiveTags は、Compute Engine インスタンスに付加されたすべてのタグを表示するか、そのインスタンスに継承されたすべてのタグを表示します。

    組織レベルでタグを表示するには、組織リソースに対する組織閲覧者のロール(roles/resourcemanager.organizationViewer)が必要です。

    タグを管理する

    タグの定義を作成、更新、削除するには、タグ管理者ロール(roles/resourcemanager.tagAdmin)か、次の権限を持つ別のロールが必要です。

    必要な権限

    • resourcemanager.tagKeys.create
    • resourcemanager.tagKeys.update
    • resourcemanager.tagKeys.delete
    • resourcemanager.tagKeys.list
    • resourcemanager.tagKeys.get
    • resourcemanager.tagKeys.getIamPolicy
    • resourcemanager.tagKeys.setIamPolicy
    • resourcemanager.tagValues.create
    • resourcemanager.tagValues.update
    • resourcemanager.tagValues.delete
    • resourcemanager.tagValues.list
    • resourcemanager.tagValues.get
    • resourcemanager.tagValues.getIamPolicy
    • resourcemanager.tagValues.setIamPolicy

    組織レベルでタグを管理するには、組織リソースに対する組織閲覧者のロール(roles/resourcemanager.organizationViewer)が必要です。

    リソースのタグを管理する

    リソースに適用されたタグを追加または削除するには、タグユーザー ロール(roles/resourcemanager.tagUser)か、タグ値とタグ値が適用されているリソースに対して同等の権限を持つ別のロールが必要です。タグユーザー ロールには次の権限が含まれます。

    必要な権限

    • タグ値を適用するリソースに対して必要な権限
      • リソース固有の createTagBinding 権限(Compute Engine インスタンスの compute.instances.createTagBinding など)。
      • リソース固有の deleteTagBinding 権限(Compute Engine インスタンスの compute.instances.deleteTagBinding など)。
    • タグ値に対して必要な権限:
      • resourcemanager.tagValueBindings.create
      • resourcemanager.tagValueBindings.delete
    • プロジェクトとタグの定義を閲覧できる権限:
      • resourcemanager.tagValues.get
      • resourcemanager.tagValues.list
      • resourcemanager.tagKeys.get
      • resourcemanager.tagKeys.list
      • resourcemanager.projects.get

    ロード バランシング リソースにタグを添付するには、Compute ネットワーク管理者のロールroles/compute.networkAdmin)と Compute セキュリティ管理者のロールが必要です(roles/compute.securityAdmin)。

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

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

    ロード バランシング リソースにタグを適用する

    タグを作成したら、ロード バランシング リソースに適用する必要があります。

    gcloud

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

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

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

    • TAGVALUE_NAME: 適用されるタグ値の永続 ID または名前空間名(例: tagValues/567890123456)。
    • RESOURCE_ID: リソースの完全な ID。リソースのタイプ(//compute.googleapis.com/)を識別するための API ドメイン名が含まれます。

      次に例を示します。

      • projects/7890123456 のターゲット HTTP プロキシなど、グローバル リソースのリソース ID は次のとおりです。 //compute.googleapis.com/projects/7890123456/global/targetHttpProxies/{resource-id}
      • projects/7890123456 のリージョン バックエンド サービスなど、リージョン リソースのリソース ID は次のとおりです。 //compute.googleapis.com/projects/7890123456/regions/REGION/backendServices/{resource-id}
      • projects/7890123456 のネットワーク エンドポイント グループなど、ゾーンリソースのリソース ID は次のとおりです。 //compute.googleapis.com/projects/7890123456/zones/ZONE/networkEndpointGroups/{resource-id}
    • LOCATION: リソースのロケーション。フォルダやプロジェクトなどのグローバル リソースにタグを適用する場合は、このフラグを省略する必要があります。リージョン リソースまたはゾーンリソースにタグを適用する場合は、us-central1(リージョン)や us-central1-a(ゾーン)などのロケーションを指定する必要があります。

    ロード バランシング リソースに適用されたタグを一覧表示する

    ロード バランシング リソースに直接適用されているか、またはロード バランシング リソースによって継承されたタグ バインディングのリストを表示できます。

    gcloud

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

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

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

    • RESOURCE_ID: リソースの完全な ID。リソースのタイプ(//compute.googleapis.com/)を識別するための API ドメイン名が含まれます。

      次に例を示します。

      • projects/7890123456 のターゲット HTTP プロキシなど、グローバル リソースのリソース ID は次のとおりです。 //compute.googleapis.com/projects/7890123456/global/targetHttpProxies/{resource-id}
      • projects/7890123456 のリージョン バックエンド サービスなど、リージョン リソースのリソース ID は次のとおりです。 //compute.googleapis.com/projects/7890123456/regions/REGION/backendServices/{resource-id}
      • projects/7890123456 のネットワーク エンドポイント グループなど、ゾーンリソースのリソース ID は次のとおりです。 //compute.googleapis.com/projects/7890123456/zones/ZONE/networkEndpointGroups/{resource-id}
    • LOCATION: リソースのロケーション。フォルダやプロジェクトなどのグローバル リソースに適用されたタグを表示している場合は、このフラグを省略する必要があります。リージョン リソースまたはゾーンリソースに適用されているタグを表示する場合は、us-central1(リージョン)や us-central1-a(ゾーン) などのロケーションを指定する必要があります。

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

    name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
              tagValue: tagValues/567890123456
              resource: 
    //compute.googleapis.com/projects/7890123456/regions/REGION/targetHttpProxies/{resource-id}
    
          

    ロード バランシング リソースからタグの適用を解除する

    ロード バランシング リソースに直接適用されたタグを解除できます。継承されたタグは、同じキーと別の値を持つタグを適用することでオーバーライドできますが、解除することはできません。タグを削除する前に、タグが適用されているすべてのリソースからキーと値を切り離す必要があります。

    gcloud

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

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

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

    • TAGVALUE_NAME: 適用されるタグ値の永続 ID または名前空間名(例: tagValues/567890123456)。
    • RESOURCE_ID: リソースの完全な ID。リソースのタイプ(//compute.googleapis.com/)を識別するための API ドメイン名が含まれます。

      次に例を示します。

      • projects/7890123456 のターゲット HTTP プロキシなど、グローバル リソースのリソース ID は次のとおりです。 //compute.googleapis.com/projects/7890123456/global/targetHttpProxies/{resource-id}
      • projects/7890123456 のリージョン バックエンド サービスなど、リージョン リソースのリソース ID は次のとおりです。 //compute.googleapis.com/projects/7890123456/regions/REGION/backendServices/{resource-id}
      • projects/7890123456 のネットワーク エンドポイント グループなど、ゾーンリソースのリソース ID は次のとおりです。 //compute.googleapis.com/projects/7890123456/zones/ZONE/networkEndpointGroups/{resource-id}
    • LOCATION: リソースのロケーション。フォルダやプロジェクトなどのグローバル リソースにタグを適用する場合は、このフラグを省略する必要があります。リージョン リソースまたはゾーンリソースにタグを適用する場合は、us-central1(リージョン)や us-central1-a(ゾーン)などのロケーションを指定する必要があります。

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

    タグキーまたは値の定義を削除する場合は、ロード バランシング リソースからタグの適用を解除します。タグ定義自体を削除する前に、既存のタグの適用(タグ バインディング)を削除する必要があります。タグキーとタグ値を削除するには、タグの削除をご覧ください。

    Identity and Access Management の条件とタグ

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

    次のステップ