本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Athena 如何存取向 Lake Formation 註冊的資料
本節所述的存取工作流程僅適用於在 Simple Storage Service (Amazon S3) 位置,以及針對向 Lake Formation 註冊的中繼資料物件執行 Athena 查詢時。如需詳細資訊,請參閱《AWS Lake Formation 開發人員指南》中的註冊資料湖。除了註冊資料外,Lake Formation 管理員也會應用 Lake Formation 許可,授予或撤銷對資料目錄中繼資料以及 Simple Storage Service (Amazon S3) 資料位置的存取權限。如需詳細資訊,請參閱《AWS Lake Formation 開發人員指南》中的中繼資料與資料的安全性與存取控制。
每當 Athena 主體 (使用者、群組或角色) 對使用 Lake Formation 註冊的資料執行查詢時,Lake Formation 都會驗證主體是否有適合查詢的資料庫、資料表和 Simple Storage Service (Amazon S3) 位置的適當 Lake Formation 許可。如果主體有權存取,Lake Formation 會將暫時性憑證提供給 Athena,且查詢會執行。
下圖為上述流程的說明。
![Lake Formation 使用者存取工作流程。](images/lake-formation-athena.png)
下圖顯示了在 Athena 的憑證自動售貨如何運作,以便在 Lake Formation 中註冊的 Amazon S3 位置的表格上進行假設性SELECT
查詢: query-by-query
![Athena 資料表上的查詢的憑證販賣工作流程。](images/lake-formation-athena-security.png)
-
主體在 Athena 中執行
SELECT
查詢。 -
Athena 會分析查詢並檢查 Lake Formation 許可,以查看是否授予主體對資料表和資料欄的存取權。
-
如果主體有權存取,則 Athena 會向 Lake Formation 請求憑證。如果主體沒有存取權,Athena 會發出存取遭拒錯誤。
-
Lake Formation 會在從 Simple Storage Service (Amazon S3) 讀取資料時發出憑證給 Athena,以及允許的資料欄之清單。
-
Athena 使用 Lake Formation 臨時憑證來查詢來自 Simple Storage Service (Amazon S3) 的資料。查詢完成後,Athena 會捨棄憑證。