リソース階層は、リソースをツリー構造に整理する方法です。 Cloud de Confiance by S3NSこの階層は大規模なリソース管理に役立ちますが、組織構造、リージョン、ワークロード タイプ、コストセンターなど、一部のビジネス ディメンションをモデル化しているだけです。階層では複数のビジネス ディメンションを一緒にレイヤ化することはできません。
タグを使用すると、リソースのアノテーションを作成できます。場合によっては、リソースに特定のタグが付加されているかどうかに基づいて、条件付きでポリシーの許可や拒否を行えます。リソース階層全体にわたるきめ細かい管理のために、タグとポリシーの条件付き適用を使用できます。
タグとラベル
ラベルは、リソースのアノテーションを作成する別個の方法です。次の表に、タグとラベルの違いをいくつか示します。
| タグ | ラベル | |
|---|---|---|
| リソース構造 | タグキー、タグ値、タグ バインディングはすべて個別のリソース | リソース自体ではなく、リソースのメタデータ |
| 定義 | 組織レベルまたはプロジェクト レベルで定義する | 各リソースによって定義される |
| アクセス制御 | タグの管理と取り付けには、Identity and Access Management(IAM)ロールが必要 | ラベルの取り付けには、サービス リソースに応じて異なる IAM のロールが必要 |
| 取り付けの前提条件 | タグがリソースに取り付け可能になる前にタグキーとタグ値を定義する必要があります | 取り付けの前提条件なし |
| 継承 | タグ バインディングは、 Cloud de Confiance by S3NS 階層内のリソースの子に継承される | リソースの子には継承されない |
| 削除の要件 | タグのタグ バインディングが存在しない場合にのみ、タグを削除できる | リソースからいつでも削除できる |
| 命名の要件 | タグ値とタグキーの要件 | ラベルの要件 |
| Key-Value 名の長さ | 最大 256 文字 | 最大 63 文字 |
| 許可ポリシーと拒否ポリシーのサポート | タグは、許可ポリシーの条件と拒否ポリシーの条件で参照できる | 許可ポリシーと拒否ポリシーはサポートされていない |
| 組織のポリシーのサポート | 一部のリソースのタグは、組織のポリシーの条件付き制約で参照できる | 組織のポリシーはサポートされていない |
| Cloud Billing の統合 | チャージバック、監査、その他の費用割り当て分析を実行し、Cloud Billing の費用データを BigQuery にエクスポートする | Cloud Billing でラベルごとにリソースをフィルタリングし、Cloud Billing データを BigQuery にエクスポートする |
ラベルの詳細については、 ラベルの作成と管理をご覧ください。
タグの作成
タグは Key-Value ペアとして構成されます。タグキー リソースは、組織リソースまたはプロジェクト リソースの下に作成できます。タグ値は、キーに関連付けられるリソースです。たとえば、production と development の値を持つタグキー environment などです。
タグの管理
管理者は、タグを作成、更新、削除、およびリソースに添付する権限を持つユーザーを制限することにより、タグの使用を制御できます。個々のタグを選択して、編集(値の追加や削除など)や説明の更新を行うことができます。これにより、タグをきめ細かく制御できます。
タグには、説明を付けることができます。これは、タグに関する情報を取得するときに表示されます。説明は、リソースにタグを付加するユーザーがタグの目的を理解するのに役立ちます。
親プロジェクトまたは組織では、各タグキーが一意である必要があります。これにより、タグ値がリソースにバインドされるときに、タグキーとの一意のペアが作成されます。
ポリシーとタグ
タグと IAM の条件を組み合わせて使用すると、次のことができます。
タグ値を作成したら、タグ値をリソースにバインドできます。次に、タグキーがリソースにバインドされているかどうかに基づいてリソースを識別する条件を使用して、IAM ポリシーを作成できます。タグと IAM の条件の使用方法については、 タグと条件付きアクセスをご覧ください。
組織のポリシーを使用した必須タグの適用
カスタムの組織のポリシーを使用すると、リソースに必須タグを適用できます。必須タグを適用すると、組織のタグ付けポリシーに準拠するリソースのみを作成できます。つまり、リソースは、ポリシーで指定された必須タグキーのタグ値にバインドされます。 詳細については、 タグを適用するためのカスタム制約を設定するをご覧ください。
必須タグの適用は、次のリソースタイプでサポートされています。
- Resource Manager のプロジェクトとフォルダ
- Filestore インスタンス
- AlloyDB for PostgreSQL のクラスタ リソースとバックアップ リソース
- Workflows ワークフロー
- Compute Engine リソース:
- インスタンス
- ディスク
- 外部 VPN ゲートウェイ
- VPN ゲートウェイ
- ターゲット VPN ゲートウェイ
- VPN トンネル
- 相互接続
- 相互接続のアタッチメント
- バックエンド サービス
- リージョン バックエンド サービス
- バックエンド バケット
- VPC リソース:
- ネットワーク
- サブネットワーク
- ファイアウォール ルール
- ルート
タグの継承
タグ値がリソースに付加されると、デフォルトでは、そのリソースのすべての子孫が同じタグ値を継承します。子孫リソースで継承されたタグ値をオーバーライドできます。継承されたタグ値をオーバーライドするには、異なるタグ値を子孫リソースにバインドします。異なるタグ値は、継承されたタグ値と同じタグキーを使用する必要があります。
たとえば、environment: development タグを適用したフォルダに team-a と team-b という名前の 2 つの子フォルダがあるとします。
別のタグ environment: test を team-b フォルダに適用することもできます。その結果、team-a フォルダのプロジェクトと他のリソースは environment: development タグを継承しますが、team-b フォルダのプロジェクトと他のリソースは environment: test タグを継承します。
team-b フォルダから environment: test タグを削除すると、そのフォルダとリソースはタグ environment: development を継承します。
リソースによって添付され、継承されるすべてのタグは、集合的に効果的なタグと呼ばれます。 リソースで有効なタグは、直接接続されているタグと、階層全体でリソースの祖先のすべてに添付されているすべてのタグを組み合わせたものです。
IAM の条件でタグを使用する場合は、IAM の条件で使用するタグキーごとに安全なデフォルト タグ値を作成することをおすすめします。組織内のすべてのリソースに継承されるように、そのタグ値を組織にバインドして、安全なデフォルト タグ値を適用します。タグ値を変更するには、関連するリソースで継承されたバインディングを明示的にオーバーライドします。
たとえば、enforcement タグキーのタグ値 on に依存する IAM の条件があり、タグキーに off タグ値もあるとします。タグ値 enforcement: off を組織にバインドして、組織内のすべてのリソースに継承される安全なデフォルトを作成します。
タグ値 enforcement: on は、組織内の選択したリソースにのみバインドします。
次に、enforcement タグキーに対応するポリシーを、
enforcement: on または
enforcement: off の場合はリソースの、enforcement: default の場合はセーフケースの効果を持つ条件で記述します。enforcement タグキーがリソースから削除された場合、リソースは親リソースから enforcement のタグ値を継承できます。`enforcement` タグキーを持つ親リソース
がない場合、リソースは組織のリソースから enforcement: default
を継承します。
セーフ デフォルトタグを使用すると便利ですが、リソースの移動や、タグの削除を行う場合は、意図しない動作を回避するために事前にタグや条件付きポリシーを確認することをおすすめします。
タグのキーと値の削除
タグ値を削除する前に、そのタグ値を使用するすべてのリソース バインディングを削除する必要があります。
タグ値を削除から保護する
タグ値にタグホールドを付加することで、タグ値の保護レイヤを追加できます。タグ バインディングと同様に、タグホールドによりユーザーがタグ値を削除できなくなります。
一部のリソースでは、リソースに接続されたタグ値ごとにタグホールドが自動的に作成されます。タグ値を削除するには、このタグホールドを削除する必要があります。
次のステップ
- タグの使用方法の詳細については、タグの作成と管理ページをご覧ください。
- Compute Engine でタグを使用する方法については、 リソースのタグの管理をご覧ください。
- ファイアウォール ポリシーにセキュアタグを使用する方法については、 セキュアタグの作成と管理をご覧ください。