ResourcePolicyStatement - AWS Serverless Application Model

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

ResourcePolicyStatement

為 API 的所有方法和路徑設定資源政策。如需資源政策的詳細資訊,請參閱《 API Gateway 開發人員指南》中的使用 API Gateway 資源政策控制對 API 的存取

語法

若要在 AWS Serverless Application Model (AWS SAM) 範本中宣告此實體,請使用下列語法。

Properties

AwsAccountBlacklist

要封鎖 AWS 的帳戶。

類型:字串的清單

必要:否

CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 CloudFormation 同等屬性。

AwsAccountWhitelist

要允許 AWS 的帳戶。如需此屬性的範例使用方式,請參閱此頁面底部的範例區段。

類型:字串的清單

必要:否

CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 CloudFormation 同等屬性。

CustomStatements

要套用至此 API 的自訂資源政策陳述式清單。如需此屬性的範例使用方式,請參閱此頁面底部的範例區段。

類型:清單

必要:否

CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 CloudFormation 同等屬性。

IntrinsicVpcBlacklist

要封鎖的虛擬私有雲端 (VPCs) 清單,其中每個 VPC 指定為參考,例如動態參考Ref內部函數。如需此屬性的範例使用方式,請參閱此頁面底部的範例區段。

類型:清單

必要:否

CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 CloudFormation 同等的。

IntrinsicVpcWhitelist

要允許的 VPCs 清單,其中每個 VPC 指定為參考,例如動態參考Ref內部函數

類型:清單

必要:否

CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 CloudFormation 同等的。

IntrinsicVpceBlacklist

要封鎖的 VPC 端點清單,其中每個 VPC 端點指定為參考,例如動態參考Ref內部函數

類型:清單

必要:否

CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 CloudFormation 同等的。

IntrinsicVpceWhitelist

要允許的 VPC 端點清單,其中每個 VPC 端點指定為參考,例如動態參考Ref內部函數。如需此屬性的範例使用方式,請參閱此頁面底部的範例區段。

類型:清單

必要:否

CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 CloudFormation 同等屬性。

IpRangeBlacklist

要封鎖的 IP 地址或地址範圍。如需此屬性的範例使用方式,請參閱此頁面底部的範例區段。

類型:清單

必要:否

CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 CloudFormation 同等屬性。

IpRangeWhitelist

要允許的 IP 地址或地址範圍。

類型:清單

必要:否

CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 CloudFormation 同等屬性。

SourceVpcBlacklist

要封鎖的來源 VPC 或 VPC 端點。來源 VPC 名稱必須以 開頭"vpc-",來源 VPC 端點名稱必須以 開頭"vpce-"。如需此屬性的範例使用方式,請參閱此頁面底部的範例區段。

類型:清單

必要:否

CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 CloudFormation 同等的。

SourceVpcWhitelist

要允許的來源 VPC 或 VPC 端點。來源 VPC 名稱必須以 開頭"vpc-",來源 VPC 端點名稱必須以 開頭"vpce-"

類型:清單

必要:否

CloudFormation 相容性:此屬性對 是唯一的 AWS SAM ,並且沒有 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