本實驗旨在通過 AWS 管理控制臺為 Amazon S3 存儲桶配置訪問控制列表(ACL),驗證其權限控制功能。實驗將演示如何通過 ACL 授權特定 AWS 賬戶或公開訪問權限,確保用戶能理解 S3 存儲桶級 ACL 的應用場景與限制,并掌握通過控制臺快速配置權限的方法。
Amazon S3 的訪問控制列表(ACL)是一種基于資源的權限管理機制,允許用戶為存儲桶或對象定義細粒度的訪問規則。與存儲桶策略(Bucket Policy)或 IAM 策略不同,ACL 的核心特點包括:
層級支持:可單獨為存儲桶或對象配置 ACL,本實驗聚焦存儲桶級 ACL。
權限粒度:支持授予讀?。≧EAD)、寫入(WRITE)、讀取 ACP(READ_ACP,查看 ACL 權限)、寫入 ACP(WRITE_ACP,修改 ACL 權限) 四種基礎權限。
授權對象:權限可分配給:
AWS 賬戶:通過 Canonical User ID(如 123456789012)或預定義的組(如 Authenticated Users 所有認證用戶)。
公開訪問:通過 http://acs.amazonaws.com/groups/global/AllUsers 授權所有互聯網用戶。
繼承性:存儲桶 ACL 默認不繼承到對象,需單獨配置對象 ACL。
步驟一:創建存儲桶登錄 AWS 控制臺,導航至 S3 服務,點擊創建存儲桶。
輸入唯一名稱(如 acl-demo-bucket-2024),選擇區域(如 us-east-1),其他選項保持默認,點擊創建存儲桶。
步驟二:配置存儲桶 ACL
在存儲桶列表中,點擊目標存儲桶名稱,進入權限選項卡。
向下滾動至訪問控制列表(ACL) 部分,點擊編輯。
在存儲桶 ACL 編輯頁面:
默認權限:初始狀態下,存儲桶所有者(當前賬戶)擁有完全控制權(FULL_CONTROL)。
添加授權對象:
在 Grantee 輸入框中,粘貼目標 AWS 賬戶的 Canonical User ID(可從目標賬戶的 S3 控制臺獲取,或使用 Authenticated Users 授權所有認證用戶)。
勾選權限(如 READ 和 READ_ACP),點擊保存更改。
可選公開訪問:若需公開讀取,在 Everyone (public access) 部分勾選 READ,但需注意安全風險。
步驟三:驗證 ACL 繼承(可選)
上傳一個測試文件到存儲桶,進入文件詳情頁的權限選項卡,檢查其 ACL 是否默認繼承存儲桶設置(通常不繼承,需單獨配置)。
1. 測試授權賬戶訪問使用被授權的 AWS 賬戶(或通過 Authenticated Users 模擬),嘗試通過 AWS CLI 或控制臺訪問存儲桶。如果配置了 READ 權限,應能列出存儲桶內容;若未授權,則返回 Access Denied。
2. 檢查 ACL 權限返回存儲桶的權限選項卡,確認 ACL 列表中顯示目標賬戶及權限,且無意外公開訪問配置。
3. 清理環境刪除測試存儲桶及文件,避免產生存儲費用:
通過本實驗,可掌握 S3 存儲桶 ACL 的基礎配置方法,理解其與存儲桶策略的差異,并學會通過控制臺快速驗證權限效果。ACL 適用于簡單場景,復雜權限建議使用存儲桶策略或 IAM 角色。