【问题标题】:Querying Dynamodb in a different AWS account - Serverless Framework在不同的 AWS 账户中查询 Dynamodb - 无服务器框架
【发布时间】:2017-05-24 20:59:32
【问题描述】:

我需要从另一个 AWS 账户的 lambda 连接到一个 AWS 账户中的 dynamoDB 表。目前,我正在尝试通过 Serverless Offline 连接到 dynamodb。我能够连接到我的 AWS 账户中的表,但在尝试连接到另一个账户中的 dynamoDB 表时出现错误。

错误:未找到请求。 (我检查了两次。该表确实存在。)

我在 serverlesss.yml 中使用的角色拥有完整的管理员权限(包括 DynamoDB)

serverless.yml

provider:
  name: aws
  runtime: nodejs6.10
  role: "arn:aws:iam::******:role/abcRole"
  iamRoleStatements:
    - Effect: Allow
      Action: ["dynamodb:*"]
      Resource: "arn:aws:dynamodb:us-east-1:*:*"



db.js

let dynamodbOnlineOptions = {
    region: 'us-east-1'
};

let client = new AWS.DynamoDB.DocumentClient(dynamodbOnlineOptions);

我认为我在权限方面犯了一些错误,但我能够确定问题所在。请帮忙。

【问题讨论】:

  • 您能否从其他账户发布 IAM 角色以授予您的 lambda 函数访问权限?
  • { “版本”:“2012-10-17”,“声明”:[ { “Sid”:“Stmt******************”,“效果":"允许","操作":["dynamodb:*"],"资源":["arn:aws:dynamodb:us-east-1:************** :table/*" ] } ] }

标签: amazon-web-services amazon-dynamodb amazon-iam serverless-framework


【解决方案1】:

我认为前进的方法是创建一个可以访问该表的跨账户角色,然后让您的 lambda 函数承担该角色。

在具有 Dynamodb 表的账户中创建跨账户角色并授予其访问权限。

http://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html

在您的 lambda 函数中,让它承担该角色并获取访问该表的临时凭据。

http://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html

【讨论】:

    猜你喜欢
    • 2021-02-01
    • 1970-01-01
    • 2020-06-25
    • 2020-04-10
    • 2019-05-01
    • 2021-06-03
    • 2019-11-06
    • 2020-02-07
    • 2018-01-16
    相关资源
    最近更新 更多