為您的帳戶設定封鎖公開存取 - Amazon Simple Storage Service

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

為您的帳戶設定封鎖公開存取

重要

如果您的帳戶是由組織層級的封鎖公開存取政策管理,則您無法修改這些帳戶層級設定。組織層級政策會覆寫帳戶層級組態。如需集中式管理選項的詳細資訊,請參閱 AWS Organizations 使用者指南中的 S3 政策

Amazon S3 Block Public Access 提供存取點、儲存貯體、組織和帳戶的設定,協助您管理對 Amazon S3 資源的公開存取。依預設,新的儲存貯體、存取點和物件不允許公開存取。如需詳細資訊,請參閱封鎖對 Amazon S3 儲存體的公開存取權

注意

帳戶層級設定會覆寫個別物件上的設定。將您的帳戶設定為封鎖公開存取,將會覆寫對帳戶內個別物件所做的任何公開存取設定。當組織層級政策處於作用中狀態時,帳戶層級設定會自動繼承自組織政策,且無法直接修改。

您可以使用 S3 主控台、 AWS CLI、 AWS SDKs和 REST API,為帳戶中所有儲存貯體設定封鎖公有存取設定,但前提是未受組織政策管理。如需詳細資訊,請參閱「以下各節」。

若要設定儲存貯體的封鎖公開存取設定,請參閱 為您的 S3 儲存貯體設定封鎖公開存取。如需存取點的詳細資訊,請參閱 在存取點執行封鎖公開存取操作

Amazon S3 封鎖公開存取可防止套用任何設定而允許公開存取 S3 儲存貯體內的資料。本節說明如何編輯 AWS 帳戶中所有 S3 儲存貯體的封鎖公開存取設定。如需封鎖公開存取的詳細資訊,請參閱 封鎖對 Amazon S3 儲存體的公開存取權

編輯 中所有 S3 儲存貯體的封鎖公開存取設定 AWS 帳戶
  1. 登入 AWS 管理主控台 ,並在 https://console.aws.amazon.com/s3/:// 開啟 Amazon S3 主控台。

  2. 選擇 Block Public Access settings for this account (此帳戶的封鎖公開存取設定)。

  3. 選擇 Edit (編輯) 以變更 AWS 帳戶中所有儲存貯體的封鎖公開存取設定。

  4. 選擇您要變更的設定,然後選擇 Save changes (儲存變更)。

  5. 出現確認提示時,輸入 confirm。然後選擇 Confirm (確認) 以儲存變更。

如果您收到錯誤訊息,指出「此帳戶不允許由於組織 S3 封鎖公開存取政策生效而變更其帳戶層級 S3 封鎖公開存取設定」,您的帳戶由組織層級政策管理。請聯絡您的組織管理員以修改這些設定。

您可以透過 AWS CLI使用 Amazon S3 封鎖公開存取。如需設定和使用 的詳細資訊 AWS CLI,請參閱什麼是 AWS Command Line Interface?

帳戶

  • 若要在帳戶上執行封鎖公開存取操作,請使用 AWS CLI 服務 s3control。使用此服務的帳戶層級操作如下:

    • PutPublicAccessBlock (適用於帳戶)

    • GetPublicAccessBlock (適用於帳戶)

    • DeletePublicAccessBlock (適用於帳戶)

注意

PutPublicAccessBlock 當帳戶由組織層級政策管理時, 和 DeletePublicAccessBlock操作將傳回「存取遭拒」錯誤。如果存在,帳戶層級GetPublicAccessBlock操作將傳回強制執行的組織層級政策。

如需其他資訊和範例,請參閱《AWS CLI 參考》中的 put-public-access-block

Java

下列範例示範如何使用 Amazon S3 Block Public Access 搭配 適用於 Java 的 AWS SDK ,在 Amazon S3 帳戶上放置公有存取區塊組態。

注意

PutPublicAccessBlock 如果帳戶是由組織層級政策管理,則 和 DeletePublicAccessBlock操作將會失敗,並出現「存取遭拒」錯誤。

AWSS3ControlClientBuilder controlClientBuilder = AWSS3ControlClientBuilder.standard(); controlClientBuilder.setRegion(<region>); controlClientBuilder.setCredentials(<credentials>); AWSS3Control client = controlClientBuilder.build(); client.putPublicAccessBlock(new PutPublicAccessBlockRequest() .withAccountId(<account-id>) .withPublicAccessBlockConfiguration(new PublicAccessBlockConfiguration() .withIgnorePublicAcls(<value>) .withBlockPublicAcls(<value>) .withBlockPublicPolicy(<value>) .withRestrictPublicBuckets(<value>)));
重要

此範例僅適用於帳戶層級操作,這類操作會使用 AWSS3Control 用戶端類別。針對儲存貯體層級操作,請參閱先前的範例。

Other SDKs

如需使用其他 AWS SDKs的資訊,請參閱《Amazon S3 API 參考》中的使用 AWS SDKs 與 Amazon S3 一起開發Amazon S3

如需有關透過 REST API 使用 Amazon S3 封鎖公開存取的資訊,請參閱《Amazon Simple Storage Service API 參考》中的下列主題。

您會看到以下限制操作的錯誤訊息:「由於組織 S3 封鎖公開存取政策生效,此帳戶不允許變更其帳戶層級的 S3 封鎖公開存取設定。」