问题标签 [aws-policies]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
475 浏览

amazon-web-services - AWS S3 允许读取除特定文件夹之外的所有对象

  1. 如何允许读取除单个文件夹及其内容之外的所有对象?下面的规则阻止了我整个桶..(无法读取桶)

  2. 如果无法使用此功能,我如何允许读取根目录下的文件但拒绝所有子文件夹?

我的桶结构:

  • 我的桶
    • 我的文件夹
      • 对象3
    • 对象1
    • 对象2
0 投票
3 回答
5490 浏览

amazon-web-services - 如何在 terraform 的 AWS 策略中插入变量

我在 terraform 中为 AWS 资源定义了一个策略,如下所示:

我希望它的资源部分是一个变量,就像这样(伪代码)

任何帮助表示赞赏。谢谢。

0 投票
2 回答
492 浏览

json - ec2 服务策略限制创建入站 ssh 公共访问

我需要创建一个 AWS 服务控制策略来限制通过安全组为具有公共访问权限的 ssh 创建入站规则。
我已经尝试过使用下面的 JSON 脚本,但我搞砸了。

不过,可以创建 0.0.0.0/0 的入站规则。需要:我只需要 ssh 协议。

0 投票
1 回答
2659 浏览

amazon-web-services - AWS IoT - AMQJS0008I 套接字已关闭 - AUTHORIZATION_FAILURE

我正在尝试将 AWS IoT 配置为与 AWS Amplify 一起使用。我总是看到错误为“ AMQJS0008I Socket closed. ”,而 CloudWatch 显示“ AUTHORIZATION_FAILURE ”。这是我配置的

  1. 经过身份验证的 Cognito 身份池的 I AM 策略
  1. Cognito Identity 的 IoT 策略
  1. 使用 AWS CLI 附加个人认知身份
  1. 使用包使用 AWS Amplify 连接和订阅

代码是

  1. JS 控制台抛出错误为

{provider: AWSIoTProvider, error: {…}}error: {invocationContext: undefined, errorCode: 8, errorMessage: " AMQJS0008I Socket closed. "}provider: AWSIoTProvider {_config: {…}, _clientsQueue: ClientsQueue, _topicObservers: Map(1 ), _clientIdObservers: Map(1)}

  1. Cloudwatch 给出错误为AUTHORIZATION_FAILURE
0 投票
1 回答
458 浏览

amazon-web-services - 通过 terraform 的 aws autscaling api 访问策略

使用由服务器控制的 aws 自动缩放组,预测即将到来的负载并根据需要向上/向下扩展。服务器需要具有最少所需权限的自动缩放 api 权限。

我的问题是限制服务器仅使用在资源字段上定义的特定自动缩放组。到目前为止,我发现的所有策略示例都仅在资源字段中使用“*”,这意味着如果我没记错的话,它应该可以访问所有自动缩放组。

通过 terraform 实现,这将转换为以下 json 策略(自动缩放组 arn 混淆):

错误是 AccessDenied:用户:arn:aws:sts::id:assumed-role/role_name/i-instance-id 无权执行:autoscaling:DescribeAutoScalingGroups

到目前为止,我只使用资源属性中的通配符运行它,任何提示都表示赞赏。

0 投票
1 回答
904 浏览

node.js - 为什么我的 AWS IoT SDK 事物影子更新请求使用 Node SDK 超时?

按照此处的 AWS 示例并引用balena.io 示例,我正在尝试获取“事物”(当前是我的 Mac 上的脚本)来更新 AWS 上的事物影子。

我越来越近了。到目前为止,我可以成功注册对事物影子的兴趣(更新:并订阅和发布到 MQTT 主题,接收更新)。但是,尝试更新阴影时出现超时。最初,由于缺少关于事物证书的策略,我在注册兴趣时遇到了超时,现在是基本的。我目前的想法是,也许我需要使用不同的根 CA 证书(当前使用提供的 CA1),或者我的 base64 编码证书字符串可能有问题,编码为:

这是我到目前为止所拥有的。请注意 TODO 说明,因为这是一项正在进行的工作。

政策(目前过于宽松):

故障排除.ts

数据上传器.ts

模型/数据上传器-options.ts

我缺少什么来更新影子?


更新:

当我直接使用证书而不是 base64 字符串版本时,我得到相同的超时结果。例子:

另外,我可以订阅一个 MQTT 主题并发布到它:

输出:

0 投票
1 回答
3190 浏览

amazon-web-services - 在使用 IAM 策略变量的 Terraform on AWS 策略中使用模板文件

我正在尝试使用 Terraform 在 AWS 中构建云基础设施。我想通过templatefileterraform 的功能为使用基于属性的授权 (ABAC) 的 S3 存储桶添加策略。我的问题是 terraform 和 AWS 使用的变量语法是相同的 ( ${...})。

这是策略模板:

terrafrom 文件的相关部分是:

所以我想要的是${bucketName}模板的一部分被 terraform 替换,同时保持 AWS 表达式${aws:PrincipalTag/user-id}在适当的位置。但是在上面的配置上运行 terraform 会导致错误消息

调用函数“模板文件”失败:./bucket-policy.json:14,49-50:插值表达式后的额外字符;需要一个右大括号来结束插值表达式,但发现了额外的字符..

如果我在模板中放置另一个项目${foobar}而没有为其指定值,则错误消息是

“vars”参数的值无效:vars 映射不包含键“foobar”,在 ./bucket-policy.json:11,30-36 中引用。

如何让 terraform 对模板文件进行部分评估,同时保持所有其他项目不变?

0 投票
0 回答
203 浏览

amazon-web-services - Kinesis WebRTC 信令通道的 AWS Cognito 用户访问权限

我想限制一些 AWS Cognito 用户对特定 Kinesis WebRTC 信令通道的访问权限。基本上,我需要为跨越多个 AWS Cognito 用户的特定组织定义,他们只能访问该组织特定的信令通道。现在我想出了以下有限的解决方案:

  • 创建身份池并指定经过身份验证的角色 IAM 角色。
  • 定义 IAM 角色以限制对 Kinesisvideo 操作的权限:

我在这里缺少的是我如何构建一个动态系统,该系统将创建指定哪些用户可以访问特定信令通道的策略。当用户进入/离开组织并因此有权访问添加/删除的 Kinesis Signaling 通道时,该系统需要启用更改策略/权限。目前我正在考虑以下解决方案:

  • 为每个组织使用 AWS Cognito 组。但这不可扩展,因为AWS 将每个用户池的最大组数硬限制为 10,000。
  • 以编程方式将新策略附加到上述定义的 IAM 角色,该角色将为每个组织定义有权访问特定通道的所有用户。但这又对您可以附加到单个 IAM 角色的策略数量有硬性限制。

也许有办法直接在 Kinesis Channels 上定义策略,就像您可以为 S3 服务定义策略一样?虽然我在 AWS 控制台中没有看到类似的东西。

0 投票
1 回答
17 浏览

amazon-web-services - AWS:忽略策略条件语句

所以我试图运行一个策略,但是在将条件设置为 true 和 false 时它从未被调用,很可能会丢失一些东西,但是当我将条件语句全部省略时,我得到了所需的策略执行。

选项 1:条件语句 false

选项 1:条件语句 false

0 投票
1 回答
210 浏览

amazon-web-services - 范围为特定区域的 AWS IAM PowerUser

我正在尝试创建一个 AWS IAM 策略,该策略允许访问高级用户拥有的所有内容 (arn:aws:iam::aws:policy/PowerUserAccess),但仅限于特定区域。

我从现有的高级用户政策开始,发现了这篇文章:https ://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_ec2_region.html

所以我在高级用户策略中添加了“条件”,结果是:

这似乎不起作用,因为我只能在指定区域创建 EC2 实例......但其他服务不可用: 代码管道 拉姆达