將資源型政策附加至串流 - Amazon DynamoDB

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

將資源型政策附加至串流

您可以使用 DynamoDB 主控台、PutResourcePolicyAPI、 AWS SDK 或範本,將以資源為基礎的政策附加至現有資料表的串流,或修改現有政策。 AWS CLIAWS CloudFormation

注意

使用CreateTableUpdateTableAPI 建立串流時,您無法將原則附加至串流。不過,您可以在刪除資料表後修改或刪除策略。您也可以修改或刪除已停用串流的政策。

下列 IAM 政策範例使用put-resource-policy AWS CLI 命令,將以資源為基礎的政策附加至名MusicCollection為的資料表串流。此範例可讓使用者 John 在串流上執行GetRecordsGetShardIterator、和 DescribeStreamAPI 動作。

請記住將斜體文本替換為特定於資源的信息。

aws dynamodb put-resource-policy \ --resource-arn arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/stream/2024-02-12T18:57:26.492 \ --policy \ "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Principal\": { \"AWS\": \"arn:aws:iam::111122223333:user/John\" }, \"Action\": [ \"dynamodb:GetRecords\", \"dynamodb:GetShardIterator\", \"dynamodb:DescribeStream\" ], \"Resource\": \"arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/stream/2024-02-12T18:57:26.492\" } ] }"
  1. 登入 AWS Management Console 並開啟 DynamoDB 支援主控台,網址為 https://console.aws.amazon.com/dynamodb/。

  2. 在 DynamoDB 主控台儀表板上,選擇 [表格],然後選取現有的表格。

    請確定您選取的表格已開啟串流。如需有關開啟資料表串流的資訊,請參閱啟用串流

  3. 選擇許可索引標籤標籤。

  4. 使用中串流的資源型政策中,選擇 [建立串流政策]。

  5. 在以資源為基礎的政策編輯器中,新增政策以定義串流的存取權限。在此原則中,您可以指定誰可以存取串流,以及允許他們在串流上執行的動作。若要新增原則,請執行下列其中一個動作:

    • 輸入或貼上 JSON 政策文件。如需 IAM 政策語言的詳細資訊,請參閱 IAM 使用者指南中的使用 JSON 編輯器建立政策。

      提示

      若要在 Amazon DynamoDB 開發人員指南中查看以資源為基礎的政策範例,請選擇政策範例。

    • 選擇「新增陳述式」以新增陳述式,並在提供的欄位中輸入資訊。針對您想要新增的任意數量陳述式重複此步驟。

    重要

    儲存原則之前,請務必先解決任何安全性警告、錯誤或建議。

  6. (選用) 選擇右下角的 Preview external access (預覽外部存取),以預覽新政策會如何影響資源的公開和跨帳戶存取權。在儲存政策之前,您可以檢查它是否引入新的 IAM Access Analyzer 問題清單,或是解決現有的問題清單。如果您沒有看到作用中的分析器,請選擇 Go to Access Analyzer (移至 Access Analyzer),以在 IAM Access Analyzer 中建立帳戶分析器。如需詳細資訊,請參閱預覽存取權

  7. 選擇建立政策

下列 IAM 政策範例會將以資源為基礎的政策附加至名MusicCollection為的資料表串流。此範例可讓使用者 John 在串流上執行GetRecordsGetShardIterator、和 DescribeStreamAPI 動作。

請記住將斜體文本替換為特定於資源的信息。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/John" }, "Action": [ "dynamodb:GetRecords", "dynamodb:GetShardIterator", "dynamodb:DescribeStream" ], "Resource": [ "arn:aws:dynamodb:us-west-2:123456789012:table/MusicCollection/stream/2024-02-12T18:57:26.492" ] } ] }