

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

# でのパラメータ化された管理アクセス許可の使用 AWS RAM
<a name="parameterized-managed-permissions"></a>

パラメータ化された管理アクセス許可は、独自の値で入力するポリシー条件にプレースホルダーを含む管理アクセス許可です。これらのプレースホルダーはテンプレートパラメータです。新しい種類の管理アクセス許可は作成されません。既存のポリシーテンプレートに変動性を追加します。

一意の条件値ごとに個別のカスタマー管理アクセス許可を作成する代わりに、パラメータを使用して 1 つのカスタマー管理アクセス許可を作成します。リソース共有に関連付けるときは、各パラメータの値を指定します。 AWS RAM は値をポリシーテンプレートに置き換え、結果のリソースベースのポリシーを共有リソースにアタッチします。

たとえば、中央プラットフォームチームは、Parameter Store パラメータ (リソースタイプ ) に対して 1 AWS Systems Manager つのカスタマー管理アクセス許可を作成します`ssm:Parameter`。承認された`team`タグを持つプリンシパルにのみ読み取りアクセスを許可します。プラットフォームチームは、そのカスタマー管理アクセス許可を組織内のアカウントと共有します。その後、各アカウントは独自のリソース共有でそれを使用します。これには、1 つ以上の Parameter Store パラメータを含めることができます。各リソース共有で、アカウントは共有 Parameter Store パラメータを読み取ることができるプリンシパルの`team`タグ値を提供します。

**Topics**
+ [テンプレートパラメータタイプ](#template-parameter-types)
+ [ポリシーテンプレート構文ルール](#template-syntax-rules)
+ [パラメータ化された管理アクセス許可を作成する](#create-parameterized-permission)
+ [パラメータ化された管理アクセス許可のバージョニング](#parameterized-permission-versioning)
+ [レンダリングされたポリシーテンプレートをプレビューする](#preview-rendered-policy)
+ [パラメータ化された管理アクセス許可をリソース共有に関連付ける](#associate-parameterized-permission)
+ [テンプレートのパラメータと値を表示する](#view-template-parameters)
+ [アカウント間でパラメータ化された管理アクセス許可を共有する](#sharing-parameterized-permissions)
+ [IAM ポリシーでテンプレートパラメータ値を制御する](#template-iam-condition-keys)
+ [`STRING_LIST` パラメータの例](#template-stringlist-examples)

## テンプレートパラメータタイプ
<a name="template-parameter-types"></a>

AWS RAM は 2 つのパラメータタイプをサポートしています。タイプは、 AWS RAM が値をレンダリングされたポリシーに置き換える方法を決定します。 AWS RAM API と では AWS CLI、タイプは `STRING`と です`STRING_LIST`。 AWS RAM コンソールには、**String** および **StringList** として表示されます。

**`STRING`**  
1 つの文字列値のみを受け入れます。  
+ 条件キーまたは条件値で`STRING`パラメータを使用できます。
+ 他のテキストに`STRING`パラメータを埋め込むことができます。例えば、`"arn:aws:iam::@{accountId}:role/Auditor"`。
+ レンダリングされた値は常に文字列です。IAM 条件演算子は文字列を比較した型に変換するため、`STRING`パラメータは数値、ブール値、日付、IP アドレス、または ARN 値を指定できます。

**`STRING_LIST`**  
1～100 個の文字列値を受け入れます。  
+ `STRING_LIST` パラメータは、条件キーではなく、条件値でのみ使用できます。
+ 条件値が などの パラメータのみを含む単一の文字列である場合`"@{teams}"`、 は指定した値の配列を AWS RAM レンダリングします。単一の値を指定すると、 は単一の文字列 AWS RAM をレンダリングします。
+ 条件値に パラメータの前後にテキストがある場合、たとえば `"arn:aws:iam::@{accountIds}:role/ParameterReader"`は各値をそのテキストと AWS RAM 組み合わせます。
+ 各値を複数の文字列と組み合わせるには、条件値の配列の文字列を一覧表示します。 は各値の各配列エントリを AWS RAM レンダリングし、重複した結果を削除します。結果は常に配列です。
+ AWS RAM と IAM は、カンマで文字列を分割しません。カンマ区切りの文字列は 1 つの値として比較されます。
例については、[`STRING_LIST` パラメータの例](#template-stringlist-examples) を参照してください。

## ポリシーテンプレート構文ルール
<a name="template-syntax-rules"></a>

マネージドアクセス許可のポリシーテンプレートにパラメータを追加すると、次のルールが適用されます。リクエストがこれらのルールのいずれかを破ると、 は `InvalidParameterException`または `InvalidPolicyException` エラーで AWS RAM 拒否します。
+ パラメータプレースホルダーは構文 を使用します`@{parameterName}`。
+ パラメータ名には、文字 (a～z、A～Z)、数字 (0～9)、コロン (:)、ハイフン (-)、アンダースコア (\_) を使用できます。名前はマネージドアクセス許可バージョン内で一意である必要があり、比較では大文字と小文字は無視されます。
+ アクセス許可またはアクセス許可バージョンを作成するときに、各パラメータを宣言する必要があります。各宣言には、名前、タイプ、説明が必要です。説明は最大 255 文字です。
+ 宣言されたすべてのパラメータがポリシーテンプレートに表示される必要があります。
+ プレースホルダーは、大文字と小文字を含め、宣言された名前と完全に一致します。宣言された名前と完全に一致しない`@{...}`形式のテキストは、リテラルテキストとしてポリシーに残ります。たとえば、 を宣言`teams`して書き込むと`@{Teams}`、 `teams`はテキスト`@{Teams}`として AWS RAM 処理し、 が使用されないためリクエストを拒否します。
+ パラメータは、 `Condition`要素、条件キー、または条件値としてのみ表示できます。 は`Effect`、、`Action`、またはその他の要素のパラメータ AWS RAM を拒否します。
+ 条件キーには最大 1 つのパラメータを含めることができ、`STRING`パラメータである必要があります。条件値には、 など、複数のパラメータを含めることができます`"@{project}-@{stage}"`。条件値が`STRING_LIST`パラメータを組み合わせると、 は各条件値に対して最大 100 個の文字列を、それらの値の組み合わせごとに AWS RAM レンダリングします。
+ マネージドアクセス許可バージョンごとに最大 100 個のパラメータを宣言できます。
+ パラメータにはデフォルト値はありません。アクセス許可をリソース共有に関連付けるときは、宣言されたすべてのパラメータに空でない値を指定する必要があり、宣言されていない名前を指定したり、同じ名前を 2 回指定したりすることはできません。

## パラメータ化された管理アクセス許可を作成する
<a name="create-parameterized-permission"></a>

パラメータ化された管理アクセス許可は、他のカスタマー管理アクセス許可を作成するのと同じ方法で作成します。違いは、ポリシーテンプレートの条件にパラメータを宣言し`@{parameterName}`、プレースホルダーを使用することです。

------
#### [ Console ]

**パラメータ化された管理アクセス許可を作成するには**

1. **[マネージドアクセス許可ライブラリ](https://console.aws.amazon.com/ram/home#Permissions:)**を開き、**カスタマーマネージドアクセス許可の作成**を選択します。

1. **カスタマー管理のアクセス許可の詳細**で、名前を入力し、リソースタイプを選択します。

1. **ポリシーテンプレート**で、ポリシーを入力します。各リソース共有で独自の値を指定する条件で`@{parameterName}`プレースホルダーを使用します。

1. **テンプレートパラメータ**で、**ポリシーからパラメータを追加**を選択してポリシー内の各プレースホルダーに行を追加するか、**パラメータを追加**を選択して一度に 1 行を追加します。パラメータごとに、**パラメータ名**を入力し、**タイプ** (**文字列**または**StringList**) を選択し、**説明**を入力します。説明は、 パラメータの値を指定するすべてのユーザーに表示されます。

1. (オプション) タグを追加します。

1. **カスタマー管理アクセス許可の作成** を選択します。

------
#### [ AWS CLI ]

**パラメータ化された管理アクセス許可を作成するには**
+ `--policy-template` および `--permission-template-parameters`パラメータを使用して [create-permission](https://docs.aws.amazon.com/cli/latest/reference/ram/create-permission.html) コマンドを実行します。

  次の の例では、 `ssm:Parameter`リソースタイプのカスタマー管理アクセス許可を作成します。このポリシーでは、プリンシパルに値が`teams`リストにある`team`タグがある場合にのみ、プリンシパルはパラメータを読み取ることができます。

  ```
  $ aws ram create-permission \
      --name ParameterReadByTeam \
      --resource-type ssm:Parameter \
      --permission-template-parameters '[{"name":"teams","type":"STRING_LIST","description":"Values of the team principal tag that can read the shared parameters"}]' \
      --policy-template '{"Effect":"Allow","Action":["ssm:GetParameter","ssm:GetParameters"],"Condition":{"StringEquals":{"aws:PrincipalTag/team":"@{teams}"}}}'
  {
      "permission": {
          "arn": "arn:aws:ram:us-east-1:123456789012:permission/ParameterReadByTeam",
          "version": "1",
          "defaultVersion": true,
          "name": "ParameterReadByTeam",
          "resourceType": "ssm:Parameter",
          "status": "ATTACHABLE",
          "creationTime": 1763300000.000,
          "lastUpdatedTime": 1763300000.000,
          "permissionTemplateParameters": [
              {
                  "name": "teams",
                  "type": "STRING_LIST",
                  "description": "Values of the team principal tag that can read the shared parameters"
              }
          ]
      }
  }
  ```

------

## パラメータ化された管理アクセス許可のバージョニング
<a name="parameterized-permission-versioning"></a>

パラメータ化された管理アクセス許可は、他のカスタマー管理アクセス許可と同じ方法でバージョン管理されます。各バージョンはパラメータを個別に宣言するため、新しいバージョンは以前のバージョンとは異なるパラメータのセットを宣言できます。

新しいバージョンを作成するには、 `--policy-template` および `--permission-template-parameters`パラメータを使用して [create-permission-version](https://docs.aws.amazon.com/cli/latest/reference/ram/create-permission-version.html) コマンドを実行します。次の例では、 という名前の`STRING`パラメータを持つ 2 番目の条件を追加します`environment`。

```
$ aws ram create-permission-version \
    --permission-arn arn:aws:ram:us-east-1:123456789012:permission/ParameterReadByTeam \
    --permission-template-parameters '[{"name":"teams","type":"STRING_LIST","description":"Values of the team principal tag that can read the shared parameters"},{"name":"environment","type":"STRING","description":"Value of the environment principal tag that can read the shared parameters"}]' \
    --policy-template '{"Effect":"Allow","Action":["ssm:GetParameter","ssm:GetParameters"],"Condition":{"StringEquals":{"aws:PrincipalTag/team":"@{teams}","aws:PrincipalTag/environment":"@{environment}"}}}'
```

新しいバージョンは、作成後すぐにデフォルトバージョンになります。既存のリソース共有は、使用するバージョンを保持します。リソース共有の所有者が新しいバージョンに更新する場合、所有者は新しいバージョンが宣言するパラメータの値を指定する必要があります。詳細については、「[AWS マネージドアクセス許可を新しいバージョンに更新する](working-with-sharing-update-permissions.md)」を参照してください。

カスタマー管理のアクセス許可バージョンとデフォルトバージョンの仕組みの詳細については、「」を参照してください[でのカスタマー管理アクセス許可の作成と使用 AWS RAM](create-customer-managed-permissions.md)。

## レンダリングされたポリシーテンプレートをプレビューする
<a name="preview-rendered-policy"></a>

パラメータ化された管理アクセス許可をリソース共有に関連付ける前に、特定のパラメータ値からレンダリングする AWS RAM ポリシーをプレビューできます。

 AWS RAM コンソールで、リソース共有を作成または更新するときに、**テンプレートパラメータ**値の下に値を入力し、**レンダリングされたポリシーのプレビュー**を選択します。

で AWS CLI、 `--permission-template-parameters`パラメータを使用して [get-permission](https://docs.aws.amazon.com/cli/latest/reference/ram/get-permission.html) コマンドを実行します。レスポンスの `permission`フィールドには、プレースホルダーの代わりに値を含むポリシーが含まれています。

```
$ aws ram get-permission \
    --permission-arn arn:aws:ram:us-east-1:123456789012:permission/ParameterReadByTeam \
    --permission-template-parameters '[{"name":"teams","values":["payments","analytics"]},{"name":"environment","values":["prod"]}]'
{
    "permission": {
        "arn": "arn:aws:ram:us-east-1:123456789012:permission/ParameterReadByTeam",
        "version": "2",
        "defaultVersion": true,
        "name": "ParameterReadByTeam",
        "resourceType": "ssm:Parameter",
        "permission": "{\"Effect\":\"Allow\",\"Action\":[\"ssm:GetParameter\",\"ssm:GetParameters\"],\"Condition\":{\"StringEquals\":{\"aws:PrincipalTag/team\":[\"payments\",\"analytics\"],\"aws:PrincipalTag/environment\":\"prod\"}}}",
        "creationTime": 1763400000.000,
        "lastUpdatedTime": 1763400000.000,
        "isResourceTypeDefault": false,
        "permissionType": "CUSTOMER_MANAGED",
        "featureSet": "STANDARD",
        "status": "ATTACHABLE",
        "permissionTemplateParameters": [
            {
                "name": "teams",
                "type": "STRING_LIST",
                "description": "Values of the team principal tag that can read the shared parameters"
            },
            {
                "name": "environment",
                "type": "STRING",
                "description": "Value of the environment principal tag that can read the shared parameters"
            }
        ]
    }
}
```

`--permission-template-parameters` パラメータがない場合、`get-permission`コマンドは`@{parameterName}`プレースホルダーを含むポリシーテンプレートを返します。`permissionTemplateParameters` フィールドには、宣言された各パラメータの名前、タイプ、説明が一覧表示されます。

## パラメータ化された管理アクセス許可をリソース共有に関連付ける
<a name="associate-parameterized-permission"></a>

パラメータ化された管理アクセス許可をリソース共有に関連付ける場合は、バージョンが宣言するすべてのパラメータの値を指定する必要があります。 はポリシーテンプレートを値に AWS RAM レンダリングし、結果として得られるリソースベースのポリシーをそのタイプの共有リソースにアタッチします。

------
#### [ Console ]

**パラメータ化された管理アクセス許可をリソース共有に関連付けるには**

1. リソース共有を作成または更新するとき、**管理アクセス許可の関連付け**ページで、リソースタイプのパラメータ化された管理アクセス許可を選択します。

1. **テンプレートパラメータ値**に、各パラメータの値を入力します。**StringList** パラメータの場合は、各値の後に Enter キーを押すか、改行で区切られた値を貼り付けます。

1. (オプション) **レンダリングされたポリシーのプレビュー**を選択して、 AWS RAM がアタッチするポリシーを確認します。

1. ウィザードの残りの部分を完了します。レビューページには、**テンプレートパラメータ値の下に値が**一覧表示されます。

------
#### [ AWS CLI ]

**パラメータ化された管理アクセス許可をリソース共有に関連付けるには**

1. `--permission-template-parameters` パラメータを使用して [create-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) または [associate-resource-share-permission](https://docs.aws.amazon.com/cli/latest/reference/ram/associate-resource-share-permission.html) を実行します。

   の場合`create-resource-share`、 パラメータはリストです。各エントリには、 `permissionArn`とそのアクセス許可`permissionTemplateParameters`の値が含まれます。次の例では、Parameter Store パラメータを別のパラメータと共有するリソース共有を作成します AWS アカウント。`team` タグ`payments`または `analytics`と `environment` タグを持つプリンシパル`prod`は、タグを読み取ることができます。

   ```
   $ aws ram create-resource-share \
       --name PaymentsConfig \
       --resource-arns arn:aws:ssm:us-east-1:123456789012:parameter/payments/endpoint \
       --principals 111122223333 \
       --permission-arns arn:aws:ram:us-east-1:123456789012:permission/ParameterReadByTeam \
       --permission-template-parameters '[{"permissionArn":"arn:aws:ram:us-east-1:123456789012:permission/ParameterReadByTeam","permissionTemplateParameters":[{"name":"teams","values":["payments","analytics"]},{"name":"environment","values":["prod"]}]}]'
   {
       "resourceShare": {
           "resourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
           "name": "PaymentsConfig",
           "owningAccountId": "123456789012",
           "allowExternalPrincipals": true,
           "status": "ACTIVE",
           "creationTime": 1763300000.000,
           "lastUpdatedTime": 1763300000.000,
           "featureSet": "STANDARD"
       }
   }
   ```

   `create-resource-share` は常に各マネージドアクセス許可のデフォルトバージョンを使用します。リソース共有に関連付けることができるのは、マネージドアクセス許可のデフォルトバージョンのみです。

1. 既存のリソース共有のパラメータ値を変更するか、アクセス許可のデフォルトバージョンに移動するには、 `--replace`パラメータを使用して [associate-resource-share-permission](https://docs.aws.amazon.com/cli/latest/reference/ram/associate-resource-share-permission.html) を実行します。このコマンドでは、 はパラメータ値を直接`--permission-template-parameters`受け取ります。

   ```
   $ aws ram associate-resource-share-permission \
       --resource-share-arn arn:aws:ram:us-east-1:123456789012:resource-share/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \
       --permission-arn arn:aws:ram:us-east-1:123456789012:permission/ParameterReadByTeam \
       --permission-template-parameters '[{"name":"teams","values":["payments"]},{"name":"environment","values":["prod"]}]' \
       --replace
   {
       "returnValue": true
   }
   ```

------

多くのリソース共有をあるバージョンまたはアクセス許可から別のバージョンまたはアクセス許可に移動するには、 [replace-permission-associations](https://docs.aws.amazon.com/cli/latest/reference/ram/replace-permission-associations.html) を実行します。ターゲットバージョンがパラメータを宣言する場合は、 を含めます`--permission-template-parameters`。 は、コマンドが更新するすべてのリソース共有に同じ値 AWS RAM を適用します。

## テンプレートのパラメータと値を表示する
<a name="view-template-parameters"></a>

マネージドアクセス許可が宣言するパラメータと、リソース共有が提供する値を表示できます。

**マネージドアクセス許可が宣言するパラメータを表示する**  
[get-permission](https://docs.aws.amazon.com/cli/latest/reference/ram/get-permission.html) コマンドを実行します。`permissionTemplateParameters` フィールドには、各パラメータの名前、タイプ、説明が一覧表示されます。コンソールでは、アクセス許可の詳細ページに同じ情報が表示されます。

**リソース共有が提供する値を表示する**  
[list-resource-share-permissions](https://docs.aws.amazon.com/cli/latest/reference/ram/list-resource-share-permissions.html) コマンドを実行します。関連するパラメータ化された管理アクセス許可ごとに、 `permissionTemplateParameters`フィールドにはリソース共有が提供する値が含まれます。  

```
$ aws ram list-resource-share-permissions \
    --resource-share-arn arn:aws:ram:us-east-1:123456789012:resource-share/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
{
    "permissions": [
        {
            "arn": "arn:aws:ram:us-east-1:123456789012:permission/ParameterReadByTeam",
            "version": "2",
            "defaultVersion": true,
            "name": "ParameterReadByTeam",
            "resourceType": "ssm:Parameter",
            "status": "ATTACHABLE",
            "creationTime": 1763400000.000,
            "lastUpdatedTime": 1763400000.000,
            "isResourceTypeDefault": false,
            "permissionType": "CUSTOMER_MANAGED",
            "featureSet": "STANDARD",
            "permissionTemplateParameters": [
                {
                    "name": "teams",
                    "values": ["payments"]
                },
                {
                    "name": "environment",
                    "values": ["prod"]
                }
            ]
        }
    ]
}
```
[list-permission-associations](https://docs.aws.amazon.com/cli/latest/reference/ram/list-permission-associations.html) コマンドは、所有しているリソース共有の値も返します。共有 AWS アカウント したカスタマー管理アクセス許可を使用する他の のリソース共有を一覧表示する場合、レスポンスにはその値は含まれません。

## アカウント間でパラメータ化された管理アクセス許可を共有する
<a name="sharing-parameterized-permissions"></a>

パラメータ化された管理アクセス許可は、他のカスタマー管理アクセス許可 AWS アカウント と同様に、他の と共有できます。受信アカウントには各パラメータの名前、タイプ、説明が表示されるため、指定する値を示す説明を記述します。各受信アカウントは、共有マネージドアクセス許可を独自のリソース共有に関連付けるときに、独自の値を提供します。

カスタマー管理のアクセス許可を共有する手順については、「」を参照してください[のアカウント間でのカスタマー管理アクセス許可の共有と使用 AWS RAM](sharing-customer-managed-permissions.md)。

## IAM ポリシーでテンプレートパラメータ値を制御する
<a name="template-iam-condition-keys"></a>

IAM ポリシーで `ram:PermissionTemplateParameter/{{parameter-name}}`条件キーを使用して、プリンシパルがパラメータに指定できる値を制御することができます。キーは複数値で、名前付きパラメータのリクエストの値が含まれます。これは、、`ram:CreateResourceShare`、`ram:AssociateResourceSharePermission`および `ram:ReplacePermissionAssociations`アクションの アクセス許可リソースで使用できます。

次のポリシー例では、最初のステートメントは`ParameterReadByTeam`カスタマー管理のアクセス許可に対するアクションを付与します。2 番目のステートメント`teams`は、 に指定された値が `payments`または 以外の場合、それらを拒否します`analytics`。キーは複数値であるため、ポリシーは `ForAnyValue` set 演算子を使用します。 AWS RAM は宣言されたパラメータごとに値を必要とするため、このカスタマー管理アクセス許可を使用するリクエストには常にキーが含まれます。

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ram:CreateResourceShare",
                "ram:AssociateResourceSharePermission",
                "ram:ReplacePermissionAssociations"
            ],
            "Resource": "arn:aws:ram:us-east-1:123456789012:permission/ParameterReadByTeam"
        },
        {
            "Effect": "Deny",
            "Action": [
                "ram:CreateResourceShare",
                "ram:AssociateResourceSharePermission",
                "ram:ReplacePermissionAssociations"
            ],
            "Resource": "arn:aws:ram:us-east-1:123456789012:permission/ParameterReadByTeam",
            "Condition": {
                "ForAnyValue:StringNotEquals": {
                    "ram:PermissionTemplateParameter/teams": [
                        "payments",
                        "analytics"
                    ]
                }
            }
        }
    ]
}
```

これらのステートメントは、 アクセス許可リソースのみを制御します。プリンシパルには、リソース共有や共有するリソースなど、リクエスト内の他のリソースに対するアクセス許可も必要です。その他の例については、「[の IAM ポリシーの例 AWS RAM](security-iam-policies-examples.md)」を参照してください。

## `STRING_LIST` パラメータの例
<a name="template-stringlist-examples"></a>

次の例は、 が`STRING_LIST`パラメータを AWS RAM レンダリングする方法を示しています。

**Example 条件値内の`STRING_LIST`パラメータのみ**  
テンプレート:  

```
"Condition": {
    "StringEquals": {
        "aws:PrincipalTag/team": "@{teams}"
    }
}
```
値: `["payments", "analytics"]`  
レンダリングされたポリシー:  

```
"Condition": {
    "StringEquals": {
        "aws:PrincipalTag/team": ["payments", "analytics"]
    }
}
```
単一の値 の場合`["payments"]`、レンダリングされる値は文字列 です`"payments"`。

**Example 周囲のテキストを含む`STRING_LIST`パラメータ**  
AWS RAM は、各値を パラメータの前後にテキストと結合します。  
テンプレート:  

```
"Condition": {
    "ArnLike": {
        "aws:PrincipalArn": "arn:aws:iam::@{accountIds}:role/ParameterReader"
    }
}
```
値: `["111122223333", "444455556666"]`  
レンダリングされたポリシー:  

```
"Condition": {
    "ArnLike": {
        "aws:PrincipalArn": [
            "arn:aws:iam::111122223333:role/ParameterReader",
            "arn:aws:iam::444455556666:role/ParameterReader"
        ]
    }
}
```

**Example 条件値の配列の`STRING_LIST`パラメータ**  
AWS RAM は、各値の配列内の各エントリをレンダリングし、重複した結果を削除します。  
テンプレート:  

```
"Condition": {
    "ArnLike": {
        "aws:PrincipalArn": [
            "arn:aws:iam::@{accountIds}:role/Auditor",
            "arn:aws:iam::@{accountIds}:role/Reader"
        ]
    }
}
```
値: `["111122223333", "444455556666"]`  
レンダリングされたポリシー:  

```
"Condition": {
    "ArnLike": {
        "aws:PrincipalArn": [
            "arn:aws:iam::111122223333:role/Auditor",
            "arn:aws:iam::444455556666:role/Auditor",
            "arn:aws:iam::111122223333:role/Reader",
            "arn:aws:iam::444455556666:role/Reader"
        ]
    }
}
```