

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

# 安全性 AWS 云端控制 API
<a name="security"></a>

云安全 AWS 是重中之重。作为 AWS 客户，您可以从专为满足大多数安全敏感型组织的要求而构建的数据中心和网络架构中受益。

安全是双方共同承担 AWS 的责任。[责任共担模式](https://aws.amazon.com/compliance/shared-responsibility-model/)将其描述为云*的*安全性和云*中*的安全性：
+ **云安全** — AWS 负责保护在云中运行 AWS 服务的基础架构 AWS 云。 AWS 还为您提供可以安全使用的服务。作为[AWS 合规计划合规计划合规计划合](https://aws.amazon.com/compliance/programs/)的一部分，第三方审计师定期测试和验证我们安全的有效性。要了解适用于 Cloud Control API 的合规性计划，请参阅AWS 按合规计划划分的[范围内AWS 服务按合规计划](https://aws.amazon.com/compliance/services-in-scope/)。
+ **云端安全**-您的责任由您使用的 AWS 服务决定。您还需要对其他因素负责，包括您的数据的敏感性、您公司的要求以及适用的法律法规。

Cloud Control API 继承了其安全架构，并在责任 AWS 共担模型中运行。 CloudFormation 为了在使用 Cloud Control API 时实现您的安全性和合规性目标，您必须配置 CloudFormation 安全控制。有关应用责任分担模型的指导 CloudFormation，请参阅《*AWS CloudFormation 用户指南》*中的 “[安全](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/security.html)” 部分。您还可以学习如何使用其他 AWS 服务来帮助您监控和保护您的 CloudFormation 和 Cloud Control API 资源。

## 云控制 API 的 IAM 策略操作
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

您必须创建和分配 AWS Identity and Access Management (IAM) 策略，以授予 IAM 身份（例如用户或角色）调用他们需要的 Cloud Control API 操作的权限。

在 IAM 政策声明的`Action`元素中，您可以指定 Cloud Control API 提供的任何 API 操作。如以下示例所示，您必须使用小写形式的字符串 `cloudformation:` 作为操作名称的前缀。

```
"Action": "cloudformation:CreateResource"
```

要查看 Cloud Control API [操作列表，请参阅《*服务授权参考*》 AWS 云端控制 API中的操作、资源和条件密钥](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudcontrolapi.html)。

**管理云控制 API 资源的策略示例**  
以下是允许创建、读取、更新和列出（但不是删除）资源操作的策略示例。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[{
        "Effect":"Allow",
        "Action":[
            "cloudformation:CreateResource",
            "cloudformation:GetResource",
            "cloudformation:UpdateResource",
            "cloudformation:ListResources"
        ],
        "Resource":"*"
    }]
}
```

------

## 云控制 API 的差异
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

Cloud Control API CloudFormation 有几个重要的区别：

对于 IAM：
+ Cloud Control API 目前不支持资源级权限，即用于 ARNs 在 IAM 策略中指定单个资源的功能。
+ Cloud Control API 目前不支持在 IAM 策略中使用特定于服务的条件密钥来控制对云控制 API 资源的访问权限。

有关更多信息，请参阅《*服务授权参考*》中的 [AWS 云端控制 API的操作、资源和条件键](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloudcontrolapi.html)。

其他区别：
+ 云控制 API 目前不支持自定义资源。有关 CloudFormation自定义资源的信息，请参阅*AWS CloudFormation 用户指南*中的[使用自定义资源创建自定义配置逻辑](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html)。
+ 当活动发生在 Cloud Control API 中并记录在中时 AWS CloudTrail，事件源将列为`cloudcontrolapi.amazonaws.com`。有关 CloudTrail 登录 Cloud Control API 操作的信息，请参阅*AWS CloudFormation 用户指南 AWS CloudTrail*中的[使用记录 AWS CloudFormation API 调用](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-api-logging-cloudtrail.html)。

## 账户范围限制
<a name="account-scope-limitation"></a>

Cloud Control API 提供了一组 APIs 用于对 AWS 资源执行 CRUDL（创建、读取、更新、删除、列出）操作的。使用 Cloud Control API 时，您只能对自己的 AWS AWS 账户资源执行 CRUDL 操作。您不能对属于其他 AWS 资源的资源执行这些操作 AWS 账户。

# 云控制 API 和接口 VPC 终端节点 (AWS PrivateLink)
<a name="vpc-interface-endpoints"></a>

您可以使用 AWS PrivateLink 在您的 VPC 和之间创建私有连接 AWS 云端控制 API。您可以像在 VPC 中一样访问云控制 API，无需使用互联网网关、NAT 设备、VPN 连接或 Direct Connect 连接。您的 VPC 中的实例不需要公有 IP 地址即可访问云控制 API。

您可以通过创建由 AWS PrivateLink提供支持的*接口端点*来建立此私有连接。我们将在您为接口端点启用的每个子网中创建一个端点网络接口。这些是请求者管理的网络接口，用作发往 Cloud Control API 的流量的入口点。

Cloud Control API 支持通过接口端点调用其所有 API 操作。

## Cloud Control API VPC 端点的注意事项
<a name="vpc-endpoint-considerations"></a>

在为 Cloud Control API 设置接口 VPC 终端节点之前，请先确保满足*AWS PrivateLink 指南*中[使用接口 VPC 终端节点访问 AWS 服务](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)主题中的先决条件。

## 为 Cloud Control API 创建接口 VPC 端点
<a name="vpc-endpoint-create"></a>

您可以使用亚马逊 VPC 控制台或 AWS Command Line Interface (AWS CLI) 为云控制 API 创建 VPC 终端节点。有关更多信息，请参阅 *AWS PrivateLink 指南*中的[创建 VPC 端点](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint-aws)。

使用以下服务名称为 Cloud Control API 创建接口端点：
+ com.amazonaws。 *region*.cloudcontro

如果为端点启用私有 DNS，则可以使用其默认 DNS 名称作为区域，向 Cloud Control API 发送 API 请求，例如 `cloudcontrolapi.us-east-1.amazonaws.com`。

有关更多信息，请参阅《Amazon VPC 用户指南》**中的[使用接口 VPC 端点访问 AWS 服务](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#access-service-though-endpoint)。

## 为 Cloud Control API 创建 VPC 端点策略
<a name="vpc-endpoint-policy"></a>

您可以为 VPC 端点附加控制对 Cloud Control API 的访问的端点策略。该策略指定以下信息：
+ 可执行操作的主体。
+ 可执行的操作。
+ 可对其执行操作的资源。

有关更多信息，请参阅 *AWS PrivateLink 指南*中的[使用端点策略控制对 VPC 端点的访问权限](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html)。

**重要**  
VPCE 端点策略详细信息不会传递给 Cloud Control API 调用的任何下游服务来进行评估。因此，未强制执行指定属于下游服务的操作或资源的策略。  
例如，假设您在 VPC 实例中使用子网中无法访问 Internet 的 Cloud Control API VPC 端点创建了一个 Amazon EC2 实例。接下来，您将以下 VPC 端点策略附加到 VPCE：  

```
{
  "Statement": [
    {
      "Action": [
        "cloudformation:*",
        "ec2:*",
        "lambda:*"
      ]
      "Effect": "Allow",
      "Principal": "*",
      "Resource": "*"
    }
  ]
}
```
如果具有管理员访问权限的用户随后发送了一个访问该实例中的 Amazon S3 存储桶的请求，那么即使 VPCE 策略中未授予 Amazon S3 访问权限，也不会返回服务错误。

**示例：Cloud Control API 操作的 VPC 端点策略**  
下面是用于 Cloud Control API 的端点策略示例。当附加到端点时，此策略会向所有资源上的所有主体授予对列出的 Cloud Control API 操作的访问权限。以下示例拒绝所有用户通过 VPC 端点创建资源的权限，并允许对 Cloud Control API 服务上的所有其他操作进行完全访问。

```
{
  "Statement": [
    {
      "Action": "cloudformation:*",
      "Effect": "Allow",
      "Principal": "*",
      "Resource": "*"
    },
    {
      "Action": "cloudformation:CreateResource",
      "Effect": "Deny",
      "Principal": "*",
      "Resource": "*"
    }
  ]
}
```

## 另请参阅
<a name="see-also"></a>
+ [AWS 与之集成的服务 AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/aws-services-privatelink-support.html)

# CloudFormation 钩子
<a name="security-hooks"></a>

AWS CloudFormation Hooks 是一项功能，您可以使用它来确保您的 AWS 云端控制 API 资源符合组织的安全、运营和成本优化最佳实践。借助 Hook，您可以提供在配置之前主动检查资源配置的代码。如果发现不合规的资源，Cloud Control API 要么使操作失败并阻止资源置备，要么发出警告并允许配置操作继续进行。在创建和更新操作之前，你可以使用 Hook 来评估你的 Cloud Control API 资源配置。

## 创建挂钩以验证云控制 API 资源配置
<a name="security-hooks-creating"></a>

您可以使用控制 CloudFormation 台、 AWS Command Line Interface (AWS CLI) 或创建挂钩来验证您的云控制 API 资源配置 CloudFormation。有关更多信息，请参阅[创建和管理 AWS CloudFormation Hook](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/creating-and-managing-hooks.html)。

## 瞄准云控制 API 进行验证
<a name="security-hooks-targeting"></a>

您可以将 CloudFormation Hook 配置为在 Hook `TargetOperations` 配置中定位`CLOUD_CONTROL`操作。

有关与 Guard Hook `TargetOperations` 一起使用的更多信息，请参阅[编写防护规则以评估防护挂钩的资源](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/guard-hooks-write-rules.html)。

有关与 Lambda 挂钩`TargetOperations`一起使用的更多信息，请参阅创建 L [ambda 函数来评估 Lambda 挂钩的资源。](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/lambda-hooks-create-lambda-function.html)

## 查看 Hook 调用结果
<a name="security-hooks-reviewing"></a>

您可以使用调用来查看调用的结果。`GetResourceRequestStatus` `RequestToken`