ResourcePolicyStatement - AWS Serverless Application Model

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

ResourcePolicyStatement

为 API 的所有方法和路径配置资源策略。有关资源策略的更多信息,请参阅《API Gateway 开发人员指南》中的使用 API Gateway 资源策略控制 API 的访问权限

语法

要在您的 AWS Serverless Application Model (AWS SAM) 模板中声明此实体,请使用以下语法。

属性

AwsAccountBlacklist

要阻止的 AWS 账户。

类型:字符串列表

必需:否

AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。

AwsAccountWhitelist

要允许的 AWS 账户。有关此属性的使用示例,请参阅本页底部的“示例”部分。

类型:字符串列表

必需:否

AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。

CustomStatements

适用于此 API 的自定义资源策略语句列表。有关此属性的使用示例,请参阅本页底部的“示例”部分。

类型:列表

必需:否

AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。

IntrinsicVpcBlacklist

要阻止的虚拟私有云 (VPC) 列表,其中每个 VPC 都指定为引用,例如动态引用Ref内置函数。有关此属性的使用示例,请参阅本页底部的“示例”部分。

类型:列表

必需:否

AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。

IntrinsicVpcWhitelist

要允许的 VPC 列表,其中每个 VPC 都指定为引用,例如动态引用Ref内置函数

类型:列表

必需:否

AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。

IntrinsicVpceBlacklist

要阻止的 VPC 端点列表,其中每个 VPC 端点都指定为引用,例如动态引用Ref内置函数

类型:列表

必需:否

AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。

IntrinsicVpceWhitelist

要允许的 VPC 端点列表,其中每个 VPC 端点都指定为引用,例如动态引用Ref内置函数。有关此属性的使用示例,请参阅本页底部的“示例”部分。

类型:列表

必需:否

AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。

IpRangeBlacklist

要阻止的 IP 地址或地址范围。有关此属性的使用示例,请参阅本页底部的“示例”部分。

类型:列表

必需:否

AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。

IpRangeWhitelist

要允许的 IP 地址或地址范围。

类型:列表

必需:否

AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。

SourceVpcBlacklist

要阻止的源 VPC 或 VPC 端点。源 VPC 名称必须以 "vpc-" 开头,源 VPC 端点名称必须以 "vpce-" 开头。有关此属性的使用示例,请参阅本页底部的“示例”部分。

类型:列表

必需:否

AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。

SourceVpcWhitelist

要允许的源 VPC 或 VPC 端点。源 VPC 名称必须以 "vpc-" 开头,源 VPC 端点名称必须以 "vpce-" 开头。

类型:列表

必需:否

AWS CloudFormation 兼容性:此属性为 AWS SAM 独有,没有 AWS CloudFormation 等效属性。

示例

资源策略示例

以下示例屏蔽两个 IP 地址和一个源 VPC,并允许一个 AWS 账户。

YAML

Auth: ResourcePolicy: CustomStatements: [{ "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "execute-api:/Prod/GET/pets", "Condition": { "IpAddress": { "aws:SourceIp": "1.2.3.4" } } }] IpRangeBlacklist: - "10.20.30.40" - "1.2.3.4" SourceVpcBlacklist: - "vpce-1a2b3c4d" AwsAccountWhitelist: - "111122223333" IntrinsicVpcBlacklist: - "{{resolve:ssm:SomeVPCReference:1}}" - !Ref MyVPC IntrinsicVpceWhitelist: - "{{resolve:ssm:SomeVPCEReference:1}}" - !Ref MyVPCE