タグポリシーの構文と例 - AWS Organizations

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

タグポリシーの構文と例

このページでは、タグポリシーの構文について説明し、例を示します。

タグポリシー構文

タグポリシーは、JSON のルールに従って構造化されたプレーンテキストファイルです。タグポリシーの構文は、すべての管理ポリシータイプの構文に従います。この構文の詳しい説明については、「管理ポリシーの継承を理解する」を参照してください。このトピックは、一般的な構文をタグアップポリシータイプの特定の要件に適用することに焦点を当てています。

次のタグポリシーは、基本的なタグポリシーの構文を示しています。

{ "tags": { "costcenter": { "tag_key": { "@@assign": "CostCenter" }, "tag_value": { "@@assign": [ "100", "200" ] }, "enforced_for": { "@@assign": [ "secretsmanager:*" ] } } } }

タグポリシー構文には、次の要素が含まれます。

  • tags フィールドキーの名前。タグポリシーは、常にこの固定キー名で始まります。上記のポリシーの例では一番上の行です。

  • ポリシーステートメントを一意に識別するポリシーキー。大文字小文字の処理を除き、タグキーの値と一致する必要があります。タグキー (次に説明します) とは異なり、ポリシー値では大文字と小文字が区別されません

    この例では、costcenter がポリシーキーです。

  • リソースを準拠させる大文字小文字表記を持つ許容タグキーを指定するタグキーを 1 つ以上指定します。大文字小文字の処理が定義されていない場合、タグキーのデフォルトは小文字です。タグキーの値は、ポリシーキーの値と一致する必要があります。ただし、ポリシーのキーバリューでは大文字と小文字が区別されないため、大文字と小文字が異なる可能性があります。

    この例では、CostCenter がタグキーです。これは、タグポリシーに準拠するために必要な大文字と小文字の処理です。このタグキーに対して大文字と小文字の処理が異なるリソースは、タグポリシーに準拠していません。

    タグポリシーでは、複数のタグキーを定義できます。

  • (オプション) タグキーに対して受け入れ可能な 1 つ以上のタグ値のリスト。タグポリシーがタグキーのタグ値を指定しない場合、すべての値 (値なしの場合を含む) が準拠していると見なされます。

    この例では、CostCenter タグキーの許容値は 100200 です。

  • (オプション) 指定されたサービスおよびリソースに対する非準拠のタグ付け操作を防止するかどうかを示す enforced_for オプション。コンソールでは、タグポリシーを作成するためのビジュアルエディタの [Prevent noncompliant operations for this tag (このタグに対する非準拠操作を防止する)] オプションです。このオプションのデフォルト設定は null です。

    タグポリシーの例では、すべての AWS Secrets Manager リソースに渡されるCostCenterタグがこのポリシーに準拠している必要があることを指定します。

    警告

    タグポリシーの使用経験がある場合にのみ、このオプションをデフォルトから変更してください。そうしないと、組織のアカウントのユーザーが必要なリソースを作成できなくなる可能性があります。

  • タグポリシーを組織ツリーの他のタグポリシーとマージして、アカウントの有効なタグポリシーを作成する方法を指定する演算子。この例では、@@assign を使用して、tag_keytag_value、および enforced_for に文字列を割り当てます。演算子の詳細については、「継承演算子」を参照してください。

  • - タグ値と [*] フィールドには、ワイルドカード enforced_forを使用できます。

    • タグ値ごとに、ワイルドカードを 1 つのみ使用できます。例えば、*@example.com は許可されますが、*@*.com は許可されません。

    • enforced_for では、一部のサービスで <service>:* を使用して、該当するサービスのすべてのリソースに対して強制を適用できます。enforced_for がサポートするサービスとリソースタイプのリストについては、「強制をサポートするサービスとリソースタイプ」を参照してください。

      ワイルドカードを使用してすべてのサービスを指定したり、すべてのサービスのリソースを指定したりすることはできません。

タグポリシーの例

次のタグポリシーの例は、情報提供のみを目的としています。

注記

組織でこれらのタグポリシーの例を使用する前に、次の点に注意してください。

  • タグポリシーの使用を開始するための推奨ワークフローを実行したことを確認します。

  • 固有の要件に合わせて、これらのタグポリシーを慎重に確認し、カスタマイズする必要があります。

  • タグポリシーのすべての文字には、上限サイズが適用されます。このガイドの例では、読みやすさを向上させるため、空白文字を追加してフォーマットされたタグポリシーを示しています。ただし、ポリシーのサイズが上限サイズに近づいたら、スペースを節約するために空白を削除できます。空白の例としては、空白文字や引用符の外側の改行などがあります。

  • タグ付けされていないリソースは、結果で非準拠と表示されません。

例 1: 組織全体のタグキーの大文字小文字取り扱いの定義

次の例は、組織内のアカウントに標準化させる 2 つのタグキーと大文字小文字のみを定義するタグポリシーを示しています。

ポリシー A - 組織ルートのタグポリシー

{ "tags": { "CostCenter": { "tag_key": { "@@assign": "CostCenter", "@@operators_allowed_for_child_policies": ["@@none"] } }, "Project": { "tag_key": { "@@assign": "Project", "@@operators_allowed_for_child_policies": ["@@none"] } } } }

このタグポリシーは、CostCenterProject という 2 つのタグキーを定義します。このタグポリシーを組織のルートにアタッチすると、次の効果があります。

  • 組織内のすべてのアカウントは、このタグポリシーを継承します。

  • 組織内のすべてのアカウントは、準拠のために、定義された大文字と小文字の処理を使用する必要があります。CostCenter タグと Project とタグの付いたリソースは準拠しています。タグキーに対して大文字小文字の処理が異なるリソース (costcenterCostcenterCOSTCENTER など) は準拠していません。

  • @@operators_allowed_for_child_policies": ["@@none"] 行はタグキーをロックダウンします。組織ツリーの下位にアタッチされたタグポリシー (子ポリシー) は、大文字と小文字の処理を含め、値設定演算子を使用してタグキーを変更することはできません。

  • すべてのタグポリシーと同じように、タグなしリソースまたはタグポリシーで定義されていないタグは、タグポリシーに準拠しているかどうか評価されません。

AWS では、使用するタグキーの同様のタグポリシーを作成する際のガイドとして、この例を使用することをお勧めします。組織のルートにアタッチします。次に、下の例のようなタグポリシーを作成します。この例では、定義されたタグキーの許容値のみを定義します。

次のステップ: 値の定義

組織ルートに先ほどのタグポリシーをアタッチしたと仮定します。次に、次のようなタグポリシーを作成し、アカウントにアタッチできます。このポリシーは、CostCenter および Project タグキーの許容値を定義します。

ポリシー B - アカウントのタグポリシー

{ "tags": { "CostCenter": { "tag_value": { "@@assign": [ "Production", "Test" ] } }, "Project": { "tag_value": { "@@assign": [ "A", "B" ] } } } }

ポリシー A を組織ルートにアタッチし、ポリシー B をアカウントにアタッチすると、ポリシーが結合され、次の有効なタグポリシーがアカウントに対して作成されます。

ポリシー A + ポリシー B = アカウントの有効なタグポリシー

{ "tags": { "Project": { "tag_value": [ "A", "B" ], "tag_key": "Project" }, "CostCenter": { "tag_value": [ "Production", "Test" ], "tag_key": "CostCenter" } } }

継承演算子の動作例や有効なタグポリシーの例など、ポリシー継承の詳細については、「管理ポリシーの継承を理解する」を参照してください。

例 2: タグキーの使用を禁止する

タグキーの使用を禁止するには、次のようなタグポリシーを組織エンティティにアタッチします。

このサンプルポリシーは、Color タグキーに対して使用できる値がないことを指定します。また、子タグポリシーで演算子を使用できないことも指定します。したがって、影響を受けるアカウントのリソース上の Color タグは、非準拠と見なされます。ただし enforced_for オプションは、実際には、影響を受けるアカウントが Color タグを使用して Amazon DynamoDB テーブルのみにタグ付けできないようにします。

{ "tags": { "Color": { "tag_key": { "@@operators_allowed_for_child_policies": [ "@@none" ], "@@assign": "Color" }, "tag_value": { "@@operators_allowed_for_child_policies": [ "@@none" ], "@@assign": [] }, "enforced_for": { "@@assign": [ "dynamodb:table" ] } } } }