【问题标题】:AWS Quicksight Create Dashboard BOTO3 API Call ErrorAWS Quicksight 创建仪表板 BOTO3 API 调用错误
【发布时间】:2021-12-16 10:49:27
【问题描述】:

我正在使用 boto3 和 AWS lambda 来创建 quicksight 数据集并创建仪表板。在仪表板中,我使用的是 CUDOS 模板(公开可用)。数据集已成功创建,但仪表板的创建失败并出现以下错误。

"Errors": [
  {
    "Type": "ACCESS_DENIED",
    "Message": "You do not have permissions to access the source"
  }
],

如果我从 cloudshell 运行命令,仪表板会毫无问题地创建。不知道为什么当我尝试将数据集的访问权限授予 lambda 函数执行角色时,它会给 lambda 函数带来问题我得到以下错误 “此时仅支持 QuickSight 主体”无效主体

谁能帮助解决 BOTO3 API 访问的问题?谢谢!

【问题讨论】:

  • 欢迎来到 SO!听起来您的 IAM 政策中的主体和资源可能混淆了。请提供您的 IAM 策略示例以及它们所附加的角色(当然是混淆敏感信息),以便我们对此进行诊断并提供帮助 - 此外,您可能需要查看 stackoverflow.com/help/how-to-ask 以了解如何最好地询问一个问题,以获得关于 SO 的答案
  • 感谢您的回复。我从 AWS lambda 调用 Create_dashbaord。我已授予 Lambda 执行角色的完全访问权限(管理员)。我在 create_dashboard boto3 调用中使用的模板 ARN 是 CUDOS(公开可用 cudos.workshop.aws)“Arn”:“arn:aws:quicksight:us-east-1:223485597511:template/cudos_dashboard_v3”当我尝试创建使用 cli 命令(云外壳)的仪表板工作正常,但是当我从 AWS lambda 尝试相同的操作时,出现上述错误。我只是好奇如何使用 CLI 而不是 AWS lambda 访问模板。
  • 因为 IAM 政策文档有两个在这里很重要的字段。原则和资源。原则告诉附有此策略文档的角色谁可以使用它。如果您的 Principle 设置为用户,则该用户可以使用它(以及扩展名为 cli,因为它使用您的用户登录信息)。 Resource 属性告诉策略文档该策略可以与哪些资源进行交互。鉴于您的错误,您似乎正在尝试将 Quicksight 权限授予 Lambda 策略 - 但这些权限必须遵循 Quicksight 的策略,并且 resources 属性授予 lambda 访问权限
  • 这就是为什么我要求您编辑您的问题并添加您所涉及的各种(但当然是混淆的)IAM 政策。其中至少有一个没有提供它需要的允许或明确拒绝(AWS 权限都被隐式拒绝,但显式拒绝总是覆盖任何显式允许)或缺少导致问题的其他字段 - 在 SO 我们需要能够重现问题以提供帮助,这意味着提供适当的结构示例
  • 感谢您的回复。以下是附加到 Lambda 角色4 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "", "Resource": "" } ] } .. 我尝试了另一种解决方案。我将模板从 CUDOS 账户克隆到我的组织账户,并且 Lambda 能够访问克隆的模板。不确定 CUODS 帐户是否有任何限制。

标签: amazon-web-services aws-lambda boto3 dashboard amazon-quicksight


【解决方案1】:

根据您在 iam 政策中留下的评论,您在 Resource 中没有任何内容。您至少需要"Resource": "*" - 星号是通配符,表示任何资源都可以使用此效果。

同样,您在 Action 中没有任何内容,因此它不会告诉政策任何允许的操作。您还必须至少有"*"

现在,最佳做法是尽可能只授予您应该拥有的最少权限

"Action": "the:Action", "Resource": "the:arn:of:the:specific:resource" 或至少尽可能接近这两者。

正如您还提到的,您有一个组织帐户。这些组织帐户的控制可以限制子帐户可以访问和不能访问的内容,并限制允许在子帐户中执行的各种资源。您可能需要与您的系统管理员核实什么是允许的或不允许的,并在需要时与他们一起打开它。

【讨论】:

    猜你喜欢
    • 2021-08-14
    • 2020-04-03
    • 2020-12-22
    • 1970-01-01
    • 1970-01-01
    • 2015-09-18
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多