

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

# ロールの信頼関係のオプションの条件
<a name="conditions-for-role-trust"></a>

AWS Control Tower 環境に追加のセキュリティレイヤーを追加するには、AWS Control Tower の特定のロールとやり取りするアカウントとリソースを制限するために、ロールの信頼ポリシーに条件を課すことができます。例えば、広範なアクセス許可を許可するために、`AWSControlTowerAdmin` ロールへのアクセスをさらに制限できます。

脅威アクターがリソースにアクセスできないようにするには、AWS Control Tower の信頼ポリシーを手動で編集して、ポリシーステートメントに `aws:SourceArn` 条件または `aws:SourceAccount` 条件を少なくとも 1 つ追加します。追加のセキュリティのベストプラクティスとして、`aws:SourceArn` 条件を追加することができます。これは `aws:SourceAccount` より具体的であり、特定のアカウントと特定のリソースへのアクセスを制限するためです。

リソースの完全な ARN が不明な場合や、複数のリソースを指定する場合は、`aws:SourceArn` 条件を使用し、ARN の未知の部分にワイルドカード (\$1) を使用できます。例えば、`arn:aws:controltower:*:123456789012:*` は、リージョンを指定しない場合に機能します。

以下の例では、IAM ロールの信頼ポリシーと共に `aws:SourceArn` IAM 条件を使用しています。**AWSControlTowerAdmin** ロールの信頼関係に条件を追加します。これは、AWS Control Tower サービスプリンシパルがこのロールとやり取りするためです。

例に示すように、ソース ARN の形式は次のとおりです。`arn:aws:controltower:${HOME_REGION}:${CUSTOMER_AWSACCOUNT_id}:*`

文字列 `${HOME_REGION}` および `${CUSTOMER_AWSACCOUNT_id}` を、自身のホームリージョンと呼び出しアカウントのアカウント ID で置き換えます。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "controltower.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "ArnEquals": {
          "aws:SourceArn": "arn:aws:controltower:us-west-2:012345678901:*"
        }
      }
    }
  ]
}
```

------

この例では、`arn:aws:controltower:us-west-2:012345678901:*` と指定されているソース ARN が、`sts:AssumeRole` アクションの実行を許可される唯一の ARN となります。つまり、`us-west-2` リージョンで、アカウント ID `012345678901` にサインインできるユーザーのみが、`controltower.amazonaws.com` と指定された AWS Control Tower サービスのこの特定のロールと信頼関係を必要とするアクションの実行を許可されます。

次の例は、ロールの信頼ポリシーに適用される `aws:SourceAccount` 条件と `aws:SourceArn` 条件を示しています。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "controltower.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "StringEquals": {
          "aws:SourceAccount": "012345678901"
        },
        "ArnLike": {
          "aws:SourceArn": "arn:aws:controltower:us-west-2:012345678901:*"
        }
      }
    }
  ]
}
```

------

この例は、`aws:SourceAccount` 条件ステートメントが追加された、`aws:SourceArn` 条件ステートメントを示しています。詳細については、「[クロスサービス偽装の防止](prevent-confused-deputy.md)」を参照してください。

 AWS Control Tower のアクセス許可ポリシーの一般的な情報については、「[リソースへのアクセスの管理](access-control-manage-access-intro.md)」を参照してください。

**推奨事項:**

AWS Control Tower が作成するロールに条件を追加することをお勧めします。このロールは他の AWS のサービスによって直接引き受けられるためです。詳細については、このセクションで前に示した **AWSControlTowerAdmin** の例を参照してください。 AWS Config レコーダーロールについては、`aws:SourceArn` 条件を追加し、許可されたソース ARN として Config レコーダー ARN を指定することをお勧めします。

すべての管理アカウントの **AWSControlTowerExecution** などのロール、または AWS Control Tower 監査アカウントが[引き受け可能なその他のプログラムによるロール](https://docs.aws.amazon.com/controltower/latest/userguide/roles-how.html)については、これらのロールの信頼ポリシーに `aws:PrincipalOrgID` 条件を追加することをお勧めします。これにより、リソースにアクセスするプリンシパルが正しい AWS 組織のアカウントに属していることが検証されます。`aws:SourceArn` 条件ステートメントは期待どおりに機能しないため、追加しないでください。

**注記**  
ドリフトの場合は、特定の状況で AWS Control Tower ロールがリセットされる可能性があります。ロールをカスタマイズしている場合は、ロールを定期的に再確認することをお勧めします。