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