簡體   English   中英

Kinesis 使用者在使用 KCL 時需要哪些 IAM 權限?

[英]What IAM permissions does a Kinesis Consumer need when using KCL?

我有一個使用 Kinesis Client Library (KCL) 編寫的 Kinesis 消費者。 此使用者在假定的 IAM 角色下運行。

我從文檔中讀到:

KCL 使用應用程序名稱創建一個 DynamoDB 表,並使用該表來維護應用程序的 state 信息(例如檢查點和工作分片映射)。 每個應用程序都有自己的 DynamoDB 表。 有關更多信息,請參閱跟蹤 Amazon Kinesis Data Streams 應用程序 State。

當然,我需要將dynamodb:CreateTable權限添加到我的 IAM 角色。 但是,我在其他方面遇到了錯誤(例如dynamodb:DescribeTable )。

是否有我的 KCL 使用者需要訪問的所有 DynamoDB 操作的列表? 似乎缺少文檔,我寧願擁有一個權威列表,也不願繼續嘗試運行我的應用程序。

這應該是您需要的一組權限。 表名由客戶端代碼提供,默認為appName但可以在ConfigsBuilder中覆蓋:

          - Effect: Allow
            Action:
              - dynamodb:CreateTable
              - dynamodb:DescribeTable
              - dynamodb:Scan
              - dynamodb:PutItem
              - dynamodb:GetItem
              - dynamodb:UpdateItem
              - dynamodb:DeleteItem
            Resource:
              - !Join ["", ["arn:aws:dynamodb:*:", !Ref 'AWS::AccountId', ":table/*"]]

我也遇到了同樣的問題,設置此策略后能夠解決問題,還應該啟用適當的權限來訪問 Kinesis

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kinesis:Get*",
                "kinesis:DescribeStream",
                "kinesis:ListShards"
            ],
            "Resource": [
                "arn:aws:kinesis:ap-south-1:ACCOUNT_ID:stream/STREAM_NAME"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kinesis:ListStreams"
            ],
            "Resource": [
                "arn:aws:kinesis:ap-south-1:ACCOUNT_ID:stream/STREAM_NAME"
            ]
        },
        {
            "Sid": "SpecificTable",
            "Effect": "Allow",
            "Action": [
                "dynamodb:BatchGet*",
                "dynamodb:DescribeStream",
                "dynamodb:DescribeTable",
                "dynamodb:Get*",
                "dynamodb:Query",
                "dynamodb:Scan",
                "dynamodb:BatchWrite*",
                "dynamodb:CreateTable",
                "dynamodb:Delete*",
                "dynamodb:Update*",
                "dynamodb:PutItem"
            ],
            "Resource": "arn:aws:dynamodb:ap-south-1:ACCOUNT_ID:table/TABLE_NAME*"
        }
    ]
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM