DynamoDB 中使用資源型政策的跨帳戶存取權 - Amazon DynamoDB

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

DynamoDB 中使用資源型政策的跨帳戶存取權

您可以使用資源型政策,提供位於不同 AWS 帳戶中可用資源的跨帳戶存取權。如果您具有 AWS 區域 與資源相同的分析器,則資源型政策允許的所有跨帳戶存取將透過 IAM Access Analyzer 外部存取調查結果進行報告。IAM Access Analyzer 會比對 IAM 政策文法最佳實務來執行政策檢查,以驗證您的政策。這些檢查會產生問題清單並提供可行的建議,協助您撰寫具有功能性且符合安全最佳實務的政策。您可以在 DynamoDB 主控台權限分頁中,檢視 IAM 存取分析器的有效調查結果。

如需使用 IAM 存取分析器驗證政策的詳細資訊,請參閱 IAM 使用者指南中的 IAM 存取分析器政策驗證。若要檢視 IAM Access Analyzer 傳回的警告、錯誤和建議清單,請參閱 IAM Access Analyzer 政策檢查參考

若要授予帳戶 A 的使用者 A GetItem 權限,以便存取帳戶 B 的資料表 B,請依下列步驟操作:

  1. 將資源型政策附加至資料表 B,以授予使用者 A 執行 GetItem 操作的權限。

  2. 將身分型政策附加至使用者 A,以授予其對資料表 B 執行 GetItem 操作的權限。

您可以使用 DynamoDB 主控台中的預覽外部存取選項,預覽新政策對資源公有及跨帳戶存取權的影響。在儲存政策之前,您可以檢查它是否引入新的 IAM Access Analyzer 問題清單,或是解決現有的問題清單。如果您沒有看到作用中的分析器,請選擇 Go to Access Analyzer (移至 Access Analyzer),以在 IAM Access Analyzer 中建立帳戶分析器。如需詳細資訊,請參閱預覽存取

DynamoDB 資料平面與控制平面 API 中的資料表名稱參數可接受完整的 Amazon Resource Name (ARN),以支援跨帳戶作業。若僅提供資料表名稱參數 (未包含完整 ARN),API 作業將在請求者所屬帳戶的資料表上執行。如需使用跨帳戶存取的政策範例,請參閱 跨帳戶存取權資源型政策

即使其他帳戶的主體讀取或寫入擁有者帳戶中的 DynamoDB 資料表,費用仍由資源擁有者帳戶承擔。若資料表採用預先佈建的輸送量,則來自擁有者與其他帳戶請求者的所有請求總和,將決定請求是否遭到限流 (若停用自動調整),或進行擴增/縮減 (若啟用自動調整)。

所有請求將記錄於擁有者與請求者帳戶的 CloudTrail 日誌中,使雙方均可追蹤資料的存取來源。

與跨帳戶 AWS Lambda 函數共用存取權

帳戶 A 中的 Lambda 函數

  1. 前往 IAM 主控台建立 IAM 角色,該角色將用作帳戶 A 中 Lambda 函數的 AWS Lambda 執行角色。新增AWSLambdaDynamoDBExecutionRole具有所需 DynamoDB Streams 和 Lambda 調用許可的受管 IAM 政策。此政策也會授予您可能在帳戶 A 中存取的所有潛在 DynamoDB Streams 資源的存取權。

  2. Lambda 主控台中,建立 AWS Lambda 函數來處理 DynamoDB 串流中的記錄,並在設定執行角色期間,選擇您在上一個步驟中建立的角色。

  3. 將 Lambda 函數執行角色提供給帳戶 B 的 DynamoDB Streams 擁有者,以設定跨帳戶讀取存取的資源型政策。

  4. 完成 Lambda 函數的設定。

帳戶 B 中的 DynamoDB 串流

  1. 從將叫用 Lambda 函數的帳戶 A 取得跨帳戶 Lambda 執行角色。

  2. 在帳戶 B 的 Amazon DynamoDB 主控台上,選擇 Lambda 跨帳戶觸發條件的資料表。在匯出和串流索引標籤下,找到您的 DynamoDB 串流 ARN。確保 DynamoDB 串流狀態為開啟,並記下完整的串流 ARN,因為您需要它才能執行資源政策。

  3. 許可索引標籤下,按一下建立串流政策按鈕以啟動視覺化政策編輯器。如果已存在,請按一下新增陳述式按鈕或編輯政策。

  4. 建立政策,指定帳戶 A 中的 Lambda 執行角色做為委託人,並授予必要的 DynamoDB Stream 動作。請務必包含動作 dynamodb:DescribeStreamdynamodb:GetRecordsdynamodb:GetShardIteratordynamodb:ListShards。如需 DynamoDB Streams 資源政策範例的詳細資訊,請參閱 DynamoDB 資源型政策範例

注意

控制平面 API 的跨帳戶存取權每秒交易數 (TPS) 上限為 500 個請求。