このトピックでは、タグポリシーの構文と、サポートされている継承演算子について説明します。

構文

タグポリシーでは JSON 形式がサポートされ、標準的な JSON 構文に従います。 この例では、シンプルなタグポリシーを使用して、タグポリシーの構文を記述します。 以下のコードは、タグポリシーのドキュメントを示します。

{
    "tags": {
        "CostCenter": {
            "tag_key": {
                "@@assign": "CostCenter"
            },
            "tag_value": {
                "@@assign": [
                    "*"
                ]
            },
            "enforced_for": {
                "@@assign": [
                    "ecs:instance"
                ]
            }
        },
        "owner": {
            "tag_key": {
                "@@assign": "owner"
            },
            "tag_value": {
                "@@assign": [
                    "*"
                ]
            },
            "enforced_for": {
                "@@assign": [
                    "ecs:instance"
                ]
            }
        }
    }
}

上記のタグポリシーでは、タグキーが CostCenter のコストセンターのタグと、タグキーが owner のリソース所有者タグが、すべての Elastic Compute Service (ECS) インスタンスに追加される必要があることが定義されています。 下表に、タグポリシーに含まれる要素を示します。

要素説明必須/任意
タグ次で始まるタグポリシーのドキュメント: tags. 必須
ポリシーキーポリシーキーは、タグポリシー内のステートメントの一意の識別子です。 ポリシーキーは大文字と小文字を区別します。 タグポリシーでは、複数のポリシーキーを指定できます。 ポリシーキーは、タグキーと同じです。

この例では、ポリシーキーは CostCenter および owner.

必須
タグキータグキーは、 tag_key で指定され、大文字と小文字が区別されます。

この例では、タグキーは CostCenter および owner.

必須
タグ値タグ値は、 tag_value. で指定されます。 tag_value が設定されていない場合、リソースに追加されたタグに任意のタグ値を設定することも、タグ値を設定しないことも可能です。 tag_value には、任意のタグ値を示すアスタリスク (*) も設定できます。

この例では、 tag_value は次に設定されます: *. これは、タグキーが CostCenter のコストセンターのタグと、タグキーが owner のリソース所有者のタグを、すべての ECS インスタンスに追加したときに、任意のタグ値を使用できることを示しています。

任意
強制タグポリシーを強制するために、 enforced_for を設定できます。 タグポリシーの強制は、非準拠のタグがリソースに追加されることを防止できます。

この例では、ECS インスタンスの作成時にタグポリシーが適用されます。 タグキーが CostCenter および owner のタグは、ECS インスタンスの作成時に ECS インスタンスに追加される必要があります。 追加されない場合、ECS インスタンスの作成に失敗します。

任意
継承演算子継承演算子は、オブジェクトにアタッチされたタグポリシーと、オブジェクトに継承されたタグポリシーを集約して、オブジェクトの有効なポリシーを取得するために使用されます。 継承演算子の詳細については、「継承演算子」をご参照ください。

この例では、継承演算子 @@assign が、次に対して使用されます: tag_key, tag_valueおよび enforced_for.

必須

継承演算子

継承演算子は、オブジェクトにアタッチされたタグポリシーと、オブジェクトに継承されたタグポリシーを集約して、オブジェクトの有効なポリシーを取得するために使用されます。 継承演算子は、値設定の演算子と子制御の演算子に分類されます。

説明 Resource Management コンソールの [クイックモード] タブでタグポリシーを設定する場合は、 @@assign 演算子のみ使用できます。 この演算子は基本演算子です。 Resource Management コンソールの [JSON] タブでタグポリシーを設定する場合は、このセクションで説明するすべての演算子を使用できます。 @@assign 以外の演算子は、高度な演算子です。
  • 値を設定する演算子
    演算子説明
    @@assignこの演算子は、上書き操作を示します。 オブジェクトにアタッチされたタグポリシーの設定にこの演算子を指定し、その設定がオブジェクトに継承されるタグポリシーの関連設定と矛盾する場合、継承されたタグポリシーの関連設定は、アタッチされたタグポリシーの設定で上書きされます。
    @@appendこの演算子は追加操作を示しています。 オブジェクトにアタッチされたタグポリシーの設定にこの演算子を指定した場合、その設定はオブジェクトに継承されたタグポリシーに追加されます。 オブジェクトにアタッチされたタグポリシーで、タグキーに複数のタグ値を指定する場合にのみ、この演算子を使用できます。
    @@removeこの演算子は、削除操作を示しています。 オブジェクトにアタッチされたタグポリシーの設定にこの演算子を指定した場合、関連する設定はオブジェクトに継承されたタグポリシーから削除されます。 オブジェクトにアタッチされたタグポリシーで、タグキーに複数のタグ値を指定する場合にのみ、この演算子を使用できます。
  • 子制御演算子

    子制御演算子は、高度な演算子です。 子制御演算子は、子ポリシーで使用できる値設定の演算子を制御する場合に使用できます。 子ポリシーでは、値を設定する演算子はデフォルトですべて許可されています。

    演算子説明
    "@@operators_allowed_for_child_policies":["@@all"]フォルダーにアタッチされたタグポリシーでこの演算子を指定すると、フォルダーのサブフォルダーおよびフォルダー内のメンバーにアタッチされたポリシーで、任意の値設定の演算子を使用できます。 デフォルトでは、親ポリシーで子制御演算子が指定されていない場合、子ポリシーでは、すべての値設定の演算子が許可されます。
    "@@operators_allowed_for_child_policies":["@@assign"フォルダーにアタッチされたタグポリシーでこの演算子を指定すると、フォルダーのサブフォルダーおよびフォルダー内のメンバーにアタッチされたポリシーで、@@assign の値設定の演算子を使用できます。 この演算子では、1 つまたは複数の値設定の演算子を指定できます。
    "@@operators_allowed_for_child_policies":["@@none"]フォルダーにアタッチされたタグポリシーでこの演算子を指定した場合、フォルダーのサブフォルダーおよびフォルダー内のメンバーにアタッチされたポリシーで、値設定の演算子を使用することはできません。 この演算子を使用して、親ポリシーで定義されている設定をロックできます。 この方法では、有効なポリシーの計算時に子ポリシーは適用されず、有効なポリシーとして親ポリシーが使用されます。