问题标签 [amazon-policy]
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 - 即使没有过滤策略,SNS 订阅也会收到消息
一个 SNS 主题有 2 个订阅。一个有过滤策略(我们称之为 A),另一个没有(我们称之为 B)。当一条消息发布到 SNS 主题时,其过滤属性匹配订阅和过滤策略(订阅 A),它会接收到该消息。我在这里发现的问题是没有过滤策略的问题(订阅 B)也收到相同的消息。如何仅向订阅“A”发送消息?
假设我向订阅 B 添加了不同的过滤策略。然后,如果我使用订阅 A 的过滤策略属性向 SNS 发布消息,则只有订阅 A 会收到该消息。这解决了我之前提到的问题,但每个账户有 200 个订阅过滤策略的限制。这有点破坏了订阅过滤策略的目的。
结束我的问题:如何在不向同一主题的其他订阅添加过滤策略的情况下仅向订阅“A”发送消息?
注意:使用的 SNS 协议是 EMAIL。我也不打算增加 SNS 限制。
amazon-web-services - 错误 1045 (28000):使用 IAM 数据库身份验证连接到 RDS 数据库实例时,用户 'db_user'@'ip' 的访问被拒绝(使用密码:YES)
以下是对该问题的快速总结。阅读完整描述部分以了解基本细节。
精简说明:
假设您已经有一个 IAM 用户并且该用户已经能够访问其他 AWS 服务,例如 S3、CloudFront、ECS、EC2...
假设我们需要为用户提供对 RDS 集群的只读访问权限,并同时设置 IAM DB 身份验证。
我们按照官方指南在我们的本地系统中执行所有提到的步骤,它运行良好,我们能够为db_user
.
然而,有趣的地方在这里..当用户尝试db_user
从他们的本地机器生成帐户的令牌时..用户将被拒绝访问。
详细描述:
设置:
我的 RDS 集群实例运行 Aurora MySQL 引擎。引擎版本:5.6.10a
我一直在关注 AWS 知识中心指南,了解如何允许用户使用 IAM 凭证连接到 Amazon RDS?
该指南没有明确提及,但在生成身份验证令牌时,AWS CLI 使用本地存储的 IAM 凭证来签署请求。
我想强调一下,在下面提到的代码段中,admin是 AWS CLI 为我的 admin IAM 用户存储的配置文件名称,而db_user是 IAM 用户(具有rds-db:connect
特权)。
TOKEN="$(aws --profile admin rds generate-db-auth-token -h.. .. .. -u db_user)
使用上面的代码片段,我可以使用生成的令牌进行身份验证并连接到集群。
如果--profile
未提及属性,它会读取保存在凭证文件中的默认配置文件。
问题:
而不是使用--profile admin
我正在寻找使用已经存在的非管理员 IAM 配置文件来生成身份验证令牌。
例如,假设 IAM 用户名为developer,具有 RDS 只读权限和本地存储在配置文件rds_read_only下的凭证
TOKEN="$(aws --profile rds_read_only rds generate-db-auth-token -h.. .. .. -u db_user)
如果我使用上述令牌,则会收到以下错误:
ERROR 1045 (28000): Access denied for user 'db_user'@'ip' (using password: YES)
经过数小时的故障排除后,我能够得出结论,我的rds_read_only配置文件无法生成有效的身份验证令牌,这可能是因为 IAM 用户开发人员缺少一些必需的策略。
我尝试将RDS
and下的所有可用策略RDS Data API
(单独以及组合)附加到 IAM user developer,但没有任何运气。如果我将AdministrativeAccess
策略附加到 IAM 用户developer,那么它才能成功生成令牌。
问题:
非管理员 IAM 用户成功生成身份验证令牌所需的强制性策略是什么?
amazon-web-services - 从 CLI 预置 EC2 实例所需的 AWS IAM 策略权限是什么?
我正在编写一个 IAM 策略以从 CLI 部署 EC2 实例,我不想授予 EC2 完全访问权限。遵循最小权限原则,配置 EC2 实例所需的权限是什么
amazon-web-services - 创建安全组和添加入站/出站规则所需的 AWS IAM 策略权限是什么?
我正在编写一个 IAM 策略来部署 EC2 实例以及使用 Terraform 创建安全组,我不想授予 EC2 完全访问权限。遵循最小权限原则,创建安全组并添加入站和出站规则所需的权限是什么?
amazon-web-services - AWS IAM - 如何使用 CLI 显示描述策略语句?
如何使用 AWS CLI 显示 IAM 策略的完整正文,包括效果、操作和资源语句?
“aws iam list-policies”命令列出所有策略,但不列出策略中包含的实际 JSON E、A、R 语句。
我可以使用“aws iam get-policy-version”命令,但这不会在其输出中显示策略名称。当我通过脚本运行此命令以获取数十个策略的信息时,无法知道输出将属于哪个策略。
还有另一种方法吗?
amazon-s3 - S3 仅存储由一个默认 KMS 密钥加密的对象并限制所有其他对象
我正在尝试将对象上传到 s3 存储桶,仅使用特定的 KMS 密钥加密。我创建了一个具有单独拒绝条件的策略,但它似乎不起作用。有人可以建议我哪里出错了吗?
我使用 AWS CLI 测试了此策略 -
testimage.jpg
尽管有以下拒绝声明,但我可以使用我帐户中的另一个密钥进行上传。
如果我在 Bucket 策略中给出相同的策略,但在这里我希望将策略分配给 s3 使用的我的角色。
另外,我如何测试非 ssl 请求是否被拒绝?我不能使用 aws cli,因为我认为它在默认情况下与 AWS 服务通信时使用 SSL。
提前致谢。
amazon-iam - 如何使用一个命令在命令行上删除具有多个版本的 iam 策略?
我正在尝试删除具有多个版本的命令行的策略,如下所示:
然后运行 iam-delete-policy arn:aws:iam::123456789012:policy/...
但我不断收到错误:
看起来我的iam-delete-policy-versions
功能不起作用。希望他们能简单地添加一个--force
标志。
amazon-web-services - 通过指定日期条件(DateGreaterThan、DateLessThan)限制 AWS 开发人员高级用户访问
我为 AWS 开发人员高级用户提供了这个托管策略,它允许用户访问除 IAM 和组织之外的所有 AWS 资源和操作(仅比管理员角色低一级)。
我想在特定日期之间限制对用户的访问(例如在部署计划期间),并在下面添加了 Date 运算符的代码。
但是,将上述条件子句添加到 PowerUserManaged 策略会在 AWS 控制台中部署策略期间引发错误 400 Malformed。
是否可以将日期条件子句添加到 PowerUserAccess 托管策略? https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_developer-power-user
amazon-web-services - 授予 S3 跨账户完全访问权限
我有两个亚马逊账户 Account-A 和 Account-B。我想让 Account-B 完全控制 Account-A 中的所有 S3 相关操作,例如 Account-B 可以创建/删除/列出属于 Account-A 的存储桶。
你能指点我是怎么做的吗?到目前为止,我只能找到如何授予对单个 S3 存储桶的跨账户访问权限,而不是授予所有 S3 功能。