タグの作成と管理

このガイドでは、Workflows でワークフロー タグを作成して管理する方法について説明します。タグを使用すると、Google Cloud 組織内のレポート、監査、アクセス制御のために、 Google Cloud 全体のワークフローやその他のリソースをグループ化できます。

タグについて

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

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

自動化と課金のために Workflows 内でワークフローをグループ化するには、ラベルを使用します。タグとラベルは互いに独立して機能するため、両方を同じワークフローに適用できます。タグとラベルの違いについて詳しくは、タグとラベルをご覧ください。

必要な権限

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

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

タグを表示する

タグの定義とリソースに適用されているタグを確認するには、タグ閲覧者のロール(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

Workflows ワークフローにタグを適用するには、Workflows 編集者ロール(roles/workflows.editor)が必要です。

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

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

ワークフローにタグを適用する

タグを作成したら、ワークフローに適用する必要があります。

Console

  1. Google Cloud コンソールの [Workflows] ページに移動します。
  2. [ワークフロー] に移動

  3. タグを適用するワークフローを選択します。
  4. [タグ] をクリックします。
  5. 組織が [タグ] パネルに表示されない場合は、[スコープの選択] をクリックします。組織を選択して [開く] をクリックします。
  6. [タグを追加] をクリックします。
  7. リストから適用するタグのキーを選択します。リストは、キーワードを入力してフィルタできます。
  8. リストから適用するタグの値を選択します。リストは、キーワードを入力してフィルタできます。
  9. [保存] をクリックします。
  10. [確認] ダイアログで、[確認] をクリックしてタグを適用します。
  11. タグが更新されたことは、通知によって確認します。

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 です。リソースのタイプ(//workflows.googleapis.com/)を識別するために API ドメイン名が含まれています。たとえば、us-central1 リージョンの projects/workflows-test-project にあるワークフロー myWorkflow にタグを適用する場合、完全な ID は //workflows.googleapis.com/projects/workflows-test-project/locations/us-central1/workflows/myWorkflow です。
  • LOCATION: リソースのロケーション。フォルダやプロジェクトなどのグローバル リソースにタグを適用する場合は、このフラグを省略します。リージョン リソースまたはゾーンリソースにタグを適用する場合は、us-central1(リージョン)や us-central1-a(ゾーン)などのロケーションを指定する必要があります。

ワークフローに適用されているタグを一覧表示する

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

Console

  1. Google Cloud コンソールの [Workflows] ページに移動します。
  2. [ワークフロー] に移動

  3. タグは、ワークフローの [タグ] 列に表示されます。

gcloud

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

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

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

  • RESOURCE_ID はリソースの完全な ID です。リソースのタイプ(//workflows.googleapis.com/)を識別するために API ドメイン名が含まれています。たとえば、us-central1 リージョンの projects/workflows-test-project にあるワークフロー myWorkflow にタグを適用する場合、完全な ID は //workflows.googleapis.com/projects/workflows-test-project/locations/us-central1/workflows/myWorkflow です。
  • LOCATION: リソースのロケーション。フォルダやプロジェクトなどのグローバル リソースに適用されているタグを表示する場合は、このフラグを省略します。リージョン リソースまたはゾーンリソースに適用されているタグを表示する場合は、us-central1(リージョン)や us-central1-a(ゾーン) などのロケーションを指定する必要があります。

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

name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
          tagValue: tagValues/567890123456
          resource: //workflows.googleapis.com/projects/PROJECT_ID/locations/REGION/WORKFLOW_ID
      

ワークフローとタグの関連付けを解除する

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

Console

  1. Google Cloud コンソールの [Workflows] ページに移動します。
  2. [ワークフロー] に移動

  3. タグを削除するワークフローを選択します。
  4. [タグ] をクリックします。
  5. [タグ] パネルで、切断するタグの横にある [項目を削除します] をクリックします。
  6. [保存] をクリックします。
  7. [確認] ダイアログで、[確認] をクリックしてタグを切断します。
  8. タグが更新されたことは、通知によって確認します。

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 です。リソースのタイプ(//workflows.googleapis.com/)を識別するために API ドメイン名が含まれています。たとえば、us-central1 リージョンの projects/workflows-test-project にあるワークフロー myWorkflow にタグを適用する場合、完全な ID は //workflows.googleapis.com/projects/workflows-test-project/locations/us-central1/workflows/myWorkflow です。
  • LOCATION: リソースのロケーション。フォルダやプロジェクトなどのグローバル リソースにタグを適用する場合は、このフラグを省略します。リージョン リソースまたはゾーンリソースにタグを適用する場合は、us-central1(リージョン)や us-central1-a(ゾーン)などのロケーションを指定する必要があります。

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

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

Identity and Access Management の条件とタグ

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

次のステップ