

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 AWS Control Tower 中使用基于身份的策略（IAM 策略）
<a name="access-control-managing-permissions"></a>

本主题提供了基于身份的策略的示例，这些示例展示了账户管理员如何将权限策略附加到 IAM 身份（即用户、组和角色），从而授予对 AWS Control Tower 资源执行操作的权限。

**重要**  
我们建议您首先阅读以下介绍性主题，其中讲解了管理 AWS Control Tower 资源访问的基本概念和选项。有关更多信息，请参阅 [管理对 AWS Control Tower 资源的访问权限概述](access-control-overview.md)。

# 使用 AWS Control Tower 控制台所需要的权限
<a name="additional-console-required-permissions"></a>

当您设置登录区时，AWS Control Tower 会自动创建三个角色。这三个角色都是访问控制台所必需的。作为最佳实践，AWS Control Tower 将权限拆分为三个角色来限制对最小操作和资源集的访问。

**访问登录区需要的三个角色**
+ [AWS ControlTowerAdmin 角色](access-control-managing-permissions.md#AWSControlTowerAdmin)
+ [AWS ControlTowerStackSetRole](access-control-managing-permissions.md#AWSControlTowerStackSetRole)

建议您限制对这些角色的角色信任策略的访问。有关更多信息，请参阅 [Optional conditions for your role trust relationships](https://docs.aws.amazon.com//controltower/latest/userguide/conditions-for-role-trust.html)。

## 在控制台中查看 Control Catalog
<a name="view-control-catalog-in-console"></a>

要在 AWS Control Tower 控制台中查看控件信息，必须向 IAM 策略中添加其他 `controlcatalog` 权限。这些权限如下所示：
+ `controlcatalog:GetControl`
+ `controlcatalog:ListControls`
+ `controlcatalog:ListControlMappings`
+ `controlcatalog:ListCommonControls`

以下是显示策略中更新的权限的示例。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "controlcatalog:GetControl",
                "controlcatalog:ListControls",
                "controlcatalog:ListControlMappings",
                "controlcatalog:ListCommonControls"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        }
    ]
}
```

------

您必须添加这些权限，因为 AWS Control Tower 调用`controlcatalog` APIs 来检索某些控制元数据，因此 AWS Control Tower 权限是不够的。

要了解有关如何更新权限的更多信息，请参阅[创建角色和分配权限](https://docs.aws.amazon.com//controltower/latest/userguide/assign-permissions.html)。

要了解有关 `controlcatalog` IAM 操作的更多信息，请参阅 [Control Catalog 的操作、资源和条件键](https://docs.aws.amazon.com//service-authorization/latest/reference/list_awscontrolcatalog.html)。

**注意**  
控制信息可通过[控制目录](https://docs.aws.amazon.com/controlcatalog/latest/APIReference/Welcome.html)获得 APIs。

## AWS ControlTowerAdmin 角色
<a name="AWSControlTowerAdmin"></a>

此角色向 AWS Control Tower 提供对维护登录区至关重要的基础设施的访问权限。`AWS ControlTowerAdmin` 角色需要一个附加的托管策略以及一个针对 IAM 角色的角色信任策略。*角色信任策略*是基于资源的策略，用于指定哪些主体可以承担该角色。

以下是此角色信任策略的示例代码片段：

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "controltower.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

要从 AWS CLI 创建此角色并将其放入名为的文件中`trust.json`，以下是 CLI 命令示例：

```
aws iam create-role --role-name AWSControlTowerAdmin --path /service-role/ --assume-role-policy-document file://trust.json
```

此角色需要两个 IAM 策略。

1. 内联策略，例如：

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "ec2:DescribeAvailabilityZones",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. 随后是托管策略，即 `AWS ControlTowerServiceRolePolicy`。

## AWS ControlTowerServiceRolePolicy
<a name="AWSControlTowerServiceRolePolicy"></a>

**AWS ControlTowerServiceRolePolicy**是一项 AWS托管策略，它定义了创建和管理 AWS Control Tower 资源的权限，例如堆栈 AWS CloudFormation 集和堆栈实例、 AWS CloudTrail 日志文件、AWS Control Tower 的配置聚合器以及受 AWS Control Tower 管理的 AWS Organizations 账户和组织单位 (OUs)。

[AWS Control Tower 的托管策略](managed-policies-table.md) 表中汇总了对这项托管策略的更新。

有关更多信息，请参阅[AWS ControlTowerServiceRolePolicy](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/AWSControlTowerServiceRolePolicy.html)《*AWS 托管策略参考指南》*。

角色信任策略：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "controltower.amazonaws.com"       
         ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

内联策略是 `AWS ControlTowerAdminPolicy`：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": "ec2:DescribeAvailabilityZones",
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
```

------

## AWS ControlTowerIdentityCenterManagementPolicy
<a name="AWSControlTowerIdentityCenterManagementPolicy"></a>

该策略提供在注册了 AWS Control Tower 的成员账户中配置 IAM Identity Center（IdC）资源的权限。当您在 AWS Control Tower 中设置登录区（或更新）期间选择 IAM Identity Center 作为身份提供程序时，此策略将附加到 `AWS ControlTowerAdmin` 角色。

要查看有关策略（包括 JSON 策略文档的最新版本）的更多信息，请参阅《AWS 托管式策略参考指南》**中的 [AWS ControlTowerIdentityCenterManagementPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSControlTowerIdentityCenterManagementPolicy.html)。

## AWS ControlTowerStackSetRole
<a name="AWSControlTowerStackSetRole"></a>

CloudFormation 担任此角色是为了在 AWS Control Tower 创建的账户中部署堆栈集。内联策略：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "sts:AssumeRole"
            ],
            "Resource": [
                "arn:aws:iam::*:role/AWSControlTowerExecution"
            ],
            "Effect": "Allow"
        }
    ]
}
```

------

**信任策略**

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "cloudformation.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

## AWS ControlTowerCloudTrailRolePolicy
<a name="AWSControlTowerCloudTrailRolePolicy"></a>

AWS Control Tower CloudTrail 作为最佳实践启用，并将此角色提供给 CloudTrail。 CloudTrail 担任此角色来创建和发布 CloudTrail 日志。

**托管策略：**`AWS ControlTowerCloudTrailRolePolicy`

此角色使用 AWS托管策略`AWS ControlTowerCloudTrailRolePolicy`，该策略授予 CloudTrail 代表 AWS Control Tower 向 Amazon CloudWatch Logs 发布审计日志所需的权限。此托管策略取代了以前用于此角色的内联策略， AWS 从而无需客户干预即可更新策略。

有关更多信息，请参阅[AWS ControlTowerCloudTrailRolePolicy](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/AWSControlTowerCloudTrailRolePolicy.html)《*AWS 托管策略参考指南》*。

[AWS Control Tower 的托管策略](managed-policies-table.md) 表中汇总了对这项托管策略的更新。

**注意**  
在引入托管策略之前，该角色使用了具有同等权限的内联策略。为了实现无缝更新，内联策略已被托管策略所取代。

**之前的内联策略（供参考）：**

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": "logs:CreateLogStream",
            "Resource": "arn:aws:logs:*:*:log-group:aws-controltower/CloudTrailLogs:*",
            "Effect": "Allow"
        },
        {
            "Action": "logs:PutLogEvents",
            "Resource": "arn:aws:logs:*:*:log-group:aws-controltower/CloudTrailLogs:*",
            "Effect": "Allow"
        }
    ]
}
```

------

**信任策略**

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "cloudtrail.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

## AWS ControlTowerBlueprintAccess 角色要求
<a name="AWSControlTowerBlueprintAccess"></a>

AWS Control Tower 要求在同一组织内的指定蓝图中心账户中创建 `AWS ControlTowerBlueprintAccess` 角色。

**角色名称**

角色名称必须为 `AWS ControlTowerBlueprintAccess`。

**角色信任策略**

该角色必须设置为信任以下主体：
+ 管理账户中使用 AWS Control Tower 的主体。
+ 管理账户中的 `AWS ControlTowerAdmin` 角色。

下面演示了一个最低权限信任策略。当您制定自己的策略时，请将 *YourManagementAccountId* 替换为您的 AWS Control Tower 管理账户的实际账户 ID，并将 *YourControlTowerUserRole* 替换为管理账户的 IAM 角色标识符。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/service-role/AWSControlTowerAdmin",
                    "arn:aws:iam::111122223333:role/YourControlTowerUserRole"
                ]
            },
            "Action": "sts:AssumeRole",
            "Condition": {}
        }
    ]
}
```

------

**角色权限**

您需要将托管策略附加**AWSServiceCatalogAdminFullAccess**到该角色。

## AWSServiceRoleForAWSControl塔
<a name="AWSServiceRoleForAWSControlTower"></a>

此角色为 AWS Control Tower 提供对日志存档账户、审计账户和成员账户的访问权限，以便执行对维护登录区至关重要的操作，例如通知您有关资源偏移的情况。

`AWS ServiceRoleFor AWS ControlTower` 角色需要一个附加的托管策略以及一个针对 IAM 角色的角色信任策略。

**此角色的托管策略：**`AWS ControlTowerAccountServiceRolePolicy`

角色信任策略：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "controltower.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

## AWS ControlTowerAccountServiceRolePolicy
<a name="account-service-role-policy"></a>

此 AWS托管策略允许 AWS Control Tower 代表您调用提供自动账户配置和集中管理的 AWS 服务。

该策略包含 AWS Control Tower 对由 Security Hub CSPM 控制管理的资源实施 AWS Security Hub CSPM 调查结果转发的最低权限，这些控件是 Sec **urity Hub CSPM 服务托管标准：AWS Control Tower** 的一部分，并且它可以防止限制客户账户管理能力的更改。它是 AWS Security Hub CSPM 后台偏移检测过程的一部分，并非由客户直接发起。

该策略允许在每个成员账户中创建亚马逊 EventBridge 规则，特别是针对 Security Hub CSPM 控件的规则，并且这些规则必须指定确切的规则。 EventPattern此外，规则只能对由我们的服务主体所管理的规则起作用。

**服务主体：**`controltower.amazonaws.com`

有关更多信息，请参阅[AWS ControlTowerAccountServiceRolePolicy](https://docs.aws.amazon.com//aws-managed-policy/latest/reference/AWSControlTowerAccountServiceRolePolicy.html)《*AWS 托管策略参考指南》*。

[AWS Control Tower 的托管策略](managed-policies-table.md) 表中汇总了对这项托管策略的更新。

# AWS Control Tower 的托管策略
<a name="managed-policies-table"></a>

AWS 通过提供由创建和管理的独立 IAM 策略来解决许多常见用例 AWS。托管策略可针对常见使用案例授予必要权限，因此，您无需自行调查具体需要哪些权限。有关更多信息，请参阅《IAM 用户指南》**中的 [AWS 托管式策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)。


| 更改 | 描述 | 日期 | 
| --- | --- | --- | 
|  [AWS ControlTowerAccountServiceRolePolicy](access-control-managing-permissions.md#account-service-role-policy)：对现有策略的更新  |  AWS Control Tower 添加了新的权限，允许 AWS Control Tower 调用 AWS CloudFormation 服务 API，从而`BatchDescribeTypeConfigurations`对服务相关挂钩进行内部改进。  | 2026 年 3 月 23 日 | 
|  [AWS ControlTowerAccountServiceRolePolicy](access-control-managing-permissions.md#account-service-role-policy)：对现有策略的更新  |  AWS Control Tower 更新了现有政策，以提高亚马逊 EventBridge 规则条件的验证精度。此更新将`events:detail-type`条件从移`StringEquals`至，`ForAllValues:StringEquals`以便更好地控制事件模式匹配，同时保持相同的功能权限。  | 2025 年 12 月 30 日 | 
|  [AWS ControlTowerAccountServiceRolePolicy](access-control-managing-permissions.md#account-service-role-policy)：对现有策略的更新  |  AWS Control Tower 添加了一项新策略，该策略扩展了以下权限： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/controltower/latest/userguide/managed-policies-table.html)  | 2025 年 11 月 10 日 | 
|  [AWS ControlTowerServiceRolePolicy](access-control-managing-permissions.md#AWSControlTowerServiceRolePolicy)— 更新了托管策略  |  AWS Control Tower 更新了中的亚马逊 CloudWatch 日志资源模式 AWS ControlTowerServiceRolePolicy ，以支持着陆区 4.0 的可选 AWS CloudTrail 集成。模式从更改`aws-controltower/CloudTrailLogs:*`为`aws-controltower/CloudTrailLogs*:*`，在后面添加了一个通配符`CloudTrailLogs`，以允许管理带有任何后缀的日志组。 此更新启用了 Landing Zone 4.0 的可选 AWS CloudTrail 集成，允许客户多次启用和禁用 AWS CloudTrail 集成。每次启用集成时，都会使用唯一的后缀重新创建 Amazon Log CloudWatch s 日志组，以避免命名冲突。此更新向后兼容现有部署。  | 2025 年 10 月 31 日 | 
|  [AWS ControlTowerCloudTrailRolePolicy](access-control-managing-permissions.md#AWSControlTowerCloudTrailRolePolicy)：新托管策略  |  AWS Control Tower 引入了 AWS ControlTowerCloudTrailRolePolicy 托管策略，该策略允许 CloudTrail 创建日志流并将日志事件发布到控制塔管理的 Amazon CloudWatch 日志组。 此托管策略取代了以前使用的内联策略 AWS ControlTowerCloudTrailRole， AWS 允许在没有客户干预的情况下更新策略。该策略的范围仅限于名称与模式`aws-controltower/CloudTrailLogs*`匹配的日志组。  | 2025 年 10 月 31 日 | 
|  [AWS ControlTowerIdentityCenterManagementPolicy](access-control-managing-permissions.md#AWSControlTowerIdentityCenterManagementPolicy) - 新策略  |  AWS Control Tower 新增了一项策略，即，允许客户在注册了 AWS Control Tower 的账户中配置 IAM Identity Center 资源，并允许 AWS Control Tower 在自动注册账户时纠正某些类型的偏移。 需要进行此更改，以便客户可以在 AWS Control Tower 中配置 IAM Identity Center，并使 AWS Control Tower 能够纠正自动注册偏移。 | 2025 年 10 月 10 日 | 
|   [AWS ControlTowerServiceRolePolicy](access-control-managing-permissions.md#AWSControlTowerServiceRolePolicy)：对现有策略的更新  |  AWS Control Tower 添加了新的 CloudFormation 权限，允许 AWS Control Tower 在自动向 AWS Control Tower 注册账户时查询堆栈集资源并将其部署到成员账户。  | 2025 年 10 月 10 日 | 
|  [AWS ControlTowerServiceRolePolicy](access-control-managing-permissions.md#AWSControlTowerServiceRolePolicy)：对现有策略的更新  |  AWS Control Tower 添加了新的权限，允许客户启用和禁用服务相关 AWS Config 规则。 需要进行此项更改，以便客户可以管理由 Config 规则部署的控件。  | 2025 年 6 月 5 日 | 
|  [AWS ControlTowerServiceRolePolicy](access-control-managing-permissions.md#AWSControlTowerServiceRolePolicy)：对现有策略的更新  |  AWS Control Tower 添加了新的权限，允许 AWS Control Tower 调用该 AWS CloudFormation 服务 APIs `ActivateType``DeactivateType``SetTypeConfiguration`、和`AWS::ControlTower types`。 此更改允许客户在不部署私有 CloudFormation Hook 类型的情况下提供主动控制。  | 2024 年 12 月 10 日 | 
|  [AWS ControlTowerAccountServiceRolePolicy](access-control-managing-permissions.md#account-service-role-policy) - 新策略  |  AWS Control Tower 添加了一个新的服务相关角色，允许 AWS Control Tower 创建和管理事件规则，并根据这些规则管理与 Security Hub CSPM 相关的控件的偏差检测。 当这些资源与 Security Hub CSPM **服务托管标准：AWS Control Tower 中的 Sec** urity Hub CSPM 控件相关时，需要进行此更改，以便客户可以在控制台中查看漂移的资源。 | 2023 年 5 月 22 日 | 
|  [AWS ControlTowerServiceRolePolicy](access-control-managing-permissions.md#AWSControlTowerServiceRolePolicy)：对现有策略的更新  |  AWS Control Tower 添加了新的权限 `EnableRegion``ListRegions`，允许 AWS Control Tower 调 AWS 区域 用，并由 AWS 账户管理服务`GetRegionOptStatus` APIs 实施，使登录区域中的客户账户（管理账户、日志存档账户、审计账户、OU 成员账户）可以使用选择加入。 这项更改的目的是，让客户可以选择将 AWS Control Tower 的区域监管扩展到可选择加入的区域。  | 2023 年 4 月 6 日 | 
|  [AWS ControlTowerServiceRolePolicy](access-control-managing-permissions.md#AWSControlTowerServiceRolePolicy) – 对现有策略的更新  |  AWS Control Tower 添加了新的权限，允许 AWS Control Tower 在蓝图（中心）账户中担任 `AWSControlTowerBlueprintAccess` 角色，该账户是组织中的专用账户，包含存储在一个或多个 Service Catalog 产品中的预定义蓝图。AWS Control Tower 担任 `AWSControlTowerBlueprintAccess` 角色来执行三项任务：创建 Service Catalog 产品组合，添加请求的蓝图产品，以及在预置账户时将产品组合分享到请求的成员账户。 这项更改的目的是，让客户可以通过 AWS Control Tower Account Factory 配置自定义账户。  | 2022 年 10 月 28 日 | 
|  [AWS ControlTowerServiceRolePolicy](access-control-managing-permissions.md#AWSControlTowerServiceRolePolicy)：对现有策略的更新  |  从着陆区版本 3.0 开始，AWS Control Tower 添加了新的权限，允许客户设置组织级别的 AWS CloudTrail 跟踪。 基于组织的 CloudTrail 功能要求客户为 CloudTrail 服务启用可信访问权限，并且 IAM 用户或角色必须有权在管理账户中创建组织级跟踪。  | 2022 年 6 月 20 日 | 
|  [AWS ControlTowerServiceRolePolicy](access-control-managing-permissions.md#AWSControlTowerServiceRolePolicy)：对现有策略的更新  |  AWS Control Tower 添加了新的权限，允许客户使用 KMS 密钥加密。 KMS 功能允许客户提供自己的 KMS 密钥来加密 CloudTrail 日志。客户还可以在登录区更新或修复期间更改 KMS 密钥。更新 KMS 密钥时， AWS CloudFormation 需要调用 AWS CloudTrail `PutEventSelector` API 的权限。此政策的更改是允许该**AWS ControlTowerAdmin**角色调用 AWS CloudTrail `PutEventSelector` API。  | 2021 年 7 月 28 日 | 
|  AWS Control Tower 开始跟踪更改  |  AWS Control Tower 开始跟踪其 AWS 托管策略的变更。  | 2021 年 5 月 27 日 | 