使用儲存貯體政策控制來自 VPC 端點的存取 - Amazon Simple Storage Service

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

使用儲存貯體政策控制來自 VPC 端點的存取

您可以使用 Amazon S3 儲存貯體政策,控制來自特定虛擬私有雲端 (VPC) 端點或特定 VPC 對儲存貯體的存取。本節包含範例儲存貯體政策,可用於從 VPC 端點控制 Amazon S3 儲存貯體存取。若要了解如何設定 VPC 端點,請參閱《VPC 使用指南》中的 VPC 端點

VPC 可讓您將 AWS 資源啟動到您定義的虛擬網路中。VPC 端點可讓您在 VPC 和另一個端點之間建立私人連線。 AWS 服務此私人連線不需要透過網際網路、透過虛擬私人網路 (VPN) 連線、NAT 執行個體或透過存取 AWS Direct Connect。

適用於 Amazon S3 的 VPC 端點是 VPC 內只允許連線到 Amazon S3 的邏輯實體。VPC 端點會將請求路由至 Amazon S3,並將回應路由回到 VPC。VPC 端點僅供要求路由連接方式 Amazon S3 公有端點和 DNS 名稱仍然適用於 VPC 端點。如需將 VPC 端點與 Amazon S3 搭配使用的重要資訊,請參閱 VPC 使用者指南中的 Amazon S3 閘道端點和閘道端點。

適用於 Amazon S3 的 VPC 端點提供兩種方式來控制對 Amazon S3 資料的存取:

重要

針對本節所述的 VPC 端點套用 Amazon S3 儲存貯體政策時,您可能會無意中封鎖對儲存貯體的存取。來自您 VPC 端點,旨在特別限制儲存貯體存取連線的儲存貯體許可,可能會封鎖所有對儲存貯體的連線。如需有關如何修正此問題的詳細資訊,請參閱如何在我的儲存貯體原則具有錯誤的 VPC 或 VPC 端點識別碼時修正? 在AWS Support 知識中心

限制特定 VPC 端點的存取

下列 Amazon S3 儲存貯體政策範例限制只能從 ID 為 vpce-1a2b3c4d 的 VPC 端點存取特定儲存貯體 awsexamplebucket1。如果未使用指定的端點,則政策會拒絕對值區的所有存取。aws:SourceVpce條件會指定端點。此aws:SourceVpce條件不需要 VPC 端點資源的 Amazon 資源名稱 (ARN),只需要 VPC 端點識別碼。如需在政策中使用條件的詳細資訊,請參閱「使用條件鍵值區政策範例」。

重要
  • 使用下列範例政策之前,請以適合您使用案例的適當值取代 VPC 端點 ID。否則,您將無法存取儲存貯體。

  • 此原則會停用對指定值區的主控台存取,因為主控台要求不是來自指定的 VPC 端點。

{ "Version": "2012-10-17", "Id": "Policy1415115909152", "Statement": [ { "Sid": "Access-to-specific-VPCE-only", "Principal": "*", "Action": "s3:*", "Effect": "Deny", "Resource": ["arn:aws:s3:::awsexamplebucket1", "arn:aws:s3:::awsexamplebucket1/*"], "Condition": { "StringNotEquals": { "aws:SourceVpce": "vpce-1a2b3c4d" } } } ] }

限制特定 VPC 的存取

您可以使用 aws:SourceVpc 條件,建立可限制存取特定 VPC 的儲存貯體政策。如果您在相同的 VPC 中設定多個 VPC 端點,而且想要管理所有端點對 Amazon S3 儲存貯體的存取,則這十分有用。下列政策範例拒絶 VPC vpc-111bbb22 外的任何人存取 awsexamplebucket1 和其物件。如果未使用指定的 VPC,則原則會拒絕對值區的所有存取。這個陳述式不會授與值區的存取權。要授予訪問權限,您必須添加一個單獨的Allow語句。vpc-111bbb22條件金鑰不需要 VPC 資源的 ARN,只需要 VPC 識別碼。

重要
  • 使用下列範例政策之前,請以適合您使用案例的適當值取代 VPC ID。否則,您將無法存取儲存貯體。

  • 此原則會停用對指定值區的主控台存取,因為主控台要求不是來自指定的 VPC。

{ "Version": "2012-10-17", "Id": "Policy1415115909153", "Statement": [ { "Sid": "Access-to-specific-VPC-only", "Principal": "*", "Action": "s3:*", "Effect": "Deny", "Resource": ["arn:aws:s3:::awsexamplebucket1", "arn:aws:s3:::awsexamplebucket1/*"], "Condition": { "StringNotEquals": { "aws:SourceVpc": "vpc-111bbb22" } } } ] }