使用 VPC 终端节点 控制对服务的访问
在创建终端节点时,您可为其连接终端节点策略来控制对连接到的服务的访问。终端节点策略必须采用 JSON 格式编写。
如果您使用针对 Amazon S3 的终端节点,则还可以使用 Amazon S3 存储桶策略来控制从特定终端节点或特定 VPC 对存储桶进行的访问。有关更多信息,请参阅使用 Amazon S3 存储桶策略。
使用 VPC 终端节点 策略
VPC 终端节点策略是一种 IAM 资源策略,您在创建或修改终端节点时可将它连接到终端节点。如果您在创建终端节点时不连接策略,我们将为您连接一个默认策略来允许对服务进行完全访问。终端节点策略不会覆盖或取代 IAM 用户策略或服务特定策略 (如 S3 存储桶策略)。它是一个单独策略,用于控制从终端节点对指定服务进行的访问。
您不能将多个策略附加到一个终端节点;但您可以随时修改策略。请注意,如果您修改策略,则所做的更改可能需要几分钟才能生效。有关编写策略的更多信息,请参阅 IAM 用户指南 中的 IAM 策略概述。
您的终端节点策略可与任何 IAM 策略类似;但请注意以下几点:
-
仅与指定服务相关的策略部分将适用。不能使用终端节点策略来允许 VPC 中的资源执行其他操作;例如,如果您将 EC2 操作添加到针对 Amazon S3 的终端节点的终端节点策略,则这些操作将不会生效。
-
您的策略必须包含一个 Principal 元素。仅对于网关终端节点,您不能将委托人限制为特定 IAM 角色或用户。指定
"*"
以授予对所有 IAM 角色和用户的访问权限。此外,仅对于网关终端节点,如果您以格式"AWS":"
或AWS-account-ID
""AWS":"arn:aws-cn:iam::
指定委托人,则只会向 AWS 账户根用户授予访问权限,而不是该账户的所有 IAM 用户和角色。AWS-account-ID
:root" -
终端节点策略的大小不得超过 20480 个字符 (包含空格)。
以下服务支持终端节点策略:
有关 Amazon S3 和 DynamoDB 的示例终端节点策略,请参阅以下主题:
安全组
默认情况下,除非您明确限制出站访问,否则 Amazon VPC 安全组将允许所有出站流量。
创建接口终端节点时,您可以将安全组与在您的 VPC 中创建的终端节点网络接口关联。如果您未指定安全组,则您的 VPC 的默认安全组将自动与终端节点网络接口关联。您必须确保安全组的规则允许终端节点网络接口与您的 VPC 中与服务通信的资源进行通信。
对于网关终端节点,如果您的安全组的出站规则受到限制,则必须添加一条规则来允许从 VPC 到终端节点中指定的服务的出站流量。为此,您可以在出站规则中使用该服务的前缀列表 ID 作为目的地。有关更多信息,请参阅 修改您的安全组。