问题标签 [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.
amazon-web-services - AWS S3 允许读取除特定文件夹之外的所有对象
如何允许读取除单个文件夹及其内容之外的所有对象?下面的规则阻止了我整个桶..(无法读取桶)
如果无法使用此功能,我如何允许读取根目录下的文件但拒绝所有子文件夹?
我的桶结构:
- 我的桶
- 我的文件夹
- 对象3
- 对象1
- 对象2
- 我的文件夹
amazon-web-services - 如何在 terraform 的 AWS 策略中插入变量
我在 terraform 中为 AWS 资源定义了一个策略,如下所示:
我希望它的资源部分是一个变量,就像这样(伪代码)
任何帮助表示赞赏。谢谢。
json - ec2 服务策略限制创建入站 ssh 公共访问
我需要创建一个 AWS 服务控制策略来限制通过安全组为具有公共访问权限的 ssh 创建入站规则。
我已经尝试过使用下面的 JSON 脚本,但我搞砸了。
不过,可以创建 0.0.0.0/0 的入站规则。需要:我只需要 ssh 协议。
amazon-web-services - AWS IoT - AMQJS0008I 套接字已关闭 - AUTHORIZATION_FAILURE
我正在尝试将 AWS IoT 配置为与 AWS Amplify 一起使用。我总是看到错误为“ AMQJS0008I Socket closed. ”,而 CloudWatch 显示“ AUTHORIZATION_FAILURE ”。这是我配置的
- 经过身份验证的 Cognito 身份池的 I AM 策略
- Cognito Identity 的 IoT 策略
- 使用 AWS CLI 附加个人认知身份
- 使用包使用 AWS Amplify 连接和订阅
代码是
- JS 控制台抛出错误为
{provider: AWSIoTProvider, error: {…}}error: {invocationContext: undefined, errorCode: 8, errorMessage: " AMQJS0008I Socket closed. "}provider: AWSIoTProvider {_config: {…}, _clientsQueue: ClientsQueue, _topicObservers: Map(1 ), _clientIdObservers: Map(1)}
- Cloudwatch 给出错误为AUTHORIZATION_FAILURE
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
到目前为止,我只使用资源属性中的通配符运行它,任何提示都表示赞赏。
node.js - 为什么我的 AWS IoT SDK 事物影子更新请求使用 Node SDK 超时?
按照此处的 AWS 示例并引用balena.io 示例,我正在尝试获取“事物”(当前是我的 Mac 上的脚本)来更新 AWS 上的事物影子。
我越来越近了。到目前为止,我可以成功注册对事物影子的兴趣(更新:并订阅和发布到 MQTT 主题,接收更新)。但是,尝试更新阴影时出现超时。最初,由于缺少关于事物证书的策略,我在注册兴趣时遇到了超时,现在是基本的。我目前的想法是,也许我需要使用不同的根 CA 证书(当前使用提供的 CA1),或者我的 base64 编码证书字符串可能有问题,编码为:
这是我到目前为止所拥有的。请注意 TODO 说明,因为这是一项正在进行的工作。
政策(目前过于宽松):
故障排除.ts
数据上传器.ts
模型/数据上传器-options.ts
我缺少什么来更新影子?
更新:
当我直接使用证书而不是 base64 字符串版本时,我得到相同的超时结果。例子:
另外,我可以订阅一个 MQTT 主题并发布到它:
输出:
amazon-web-services - 在使用 IAM 策略变量的 Terraform on AWS 策略中使用模板文件
我正在尝试使用 Terraform 在 AWS 中构建云基础设施。我想通过templatefile
terraform 的功能为使用基于属性的授权 (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 对模板文件进行部分评估,同时保持所有其他项目不变?
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 控制台中没有看到类似的东西。
amazon-web-services - AWS:忽略策略条件语句
所以我试图运行一个策略,但是在将条件设置为 true 和 false 时它从未被调用,很可能会丢失一些东西,但是当我将条件语句全部省略时,我得到了所需的策略执行。
选项 1:条件语句 false
选项 1:条件语句 false
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
所以我在高级用户策略中添加了“条件”,结果是: