问题标签 [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-s3 - 对除 1 个文件夹之外的所有操作的 AWS S3 存储桶的完全访问权限
我有一个允许完全访问多个 S3 存储桶的组策略。
此策略允许读取和写入存储桶。
使用这些存储桶的团队希望其中一个文件夹对其组是只读的,而无法写入或删除其内容。
我如何提供它,同时仍然允许他们完全访问所有其他文件夹?
amazon-web-services - 为什么 sts:AssumeRole 在信任策略中而不是角色的权限策略中?
我是 AWS 新手,但据我了解,角色包含权限策略和信任策略。权限政策似乎很简单——你能做什么。IE:
另一方面,信任策略是“允许谁做”IE:
AssumeRole 听起来像是“你能做什么”,那么为什么它总是属于信任策略而不是权限策略。继续下去,我了解到 sts:TagSession 也属于信任策略而不是权限策略。我是否遗漏了什么,或者只是 sts 类型的操作属于信任策略?
amazon-web-services - 为什么以 AWS 根用户身份登录时不允许角色切换?
根据此处的 AWS 文档-当您以 AWS 账户根用户身份登录时,您无法切换角色。
如果我们遵循 AWS 最佳实践,即不使用 root 用户执行操作,则此限制是有意义的,并且支持 AWS 不允许角色切换为 root 用户的原因。但是,当使用存储桶策略时,一个账户中的根用户可以访问另一个账户中的存储桶,并且 AWS 似乎并没有限制不同的角色(从技术上讲,两者都是使用资源策略的跨账户操作)。
为什么此“root 用户限制”仅适用于角色而不适用于存储桶 - 任何安全原因?
amazon-web-services - 通过 Web 控制台与 S3 交互时,请求上下文中是否存在 aws:SourceVpc 条件键?
我有一个存储桶策略(如下所列),当从特定 VPC 以外的任何地方访问时,它应该防止访问 S3 存储桶。我在 VPC 中启动了一个 EC2 实例,测试并确认 S3 访问工作正常。现在,当我通过 Web 控制台访问同一个 S3 存储桶时,我收到“错误 - 访问被拒绝”消息。
这是否意味着在通过 Web 控制台与 S3 交互时,请求上下文中也存在 aws:SourceVpc 条件键?
我的假设是它存在于请求上下文中,否则策略声明将失败,因此该声明的“效果”不适用,因为没有“Ifexists”添加到 StringNotEquals - 问这个问题,因为我无法在AWS 文档。即使在将“Ifexists”添加到 StringNotEquals 之后,结果也是一样的 - 有人可以确认吗?
amazon-web-services - 要使用 AWS 条件键,它们是否必须存在于请求上下文中?
当我查看 Cloudtrail 中的“请求上下文”时,我看到了此处列出的记录内容。
“请求上下文”记录内容和条件键之间是否存在映射?
或者说在“请求上下文”中存在条件不是强制性的,但与条件相对应的条件键可能仍然可用(AWS 魔术)用于评估此请求的策略中,这是否正确?使用前缀 aws: 的 AWS 范围内的键是否在所有请求上下文中都可用?当我在策略中使用条件键时,如何确定请求上下文中存在条件键?
当然,我可以添加一个“ifexists”子句来检查 Condition 键的可用性,但这是一个“包罗万象”的机制。在检查政策中的条件时,我如何确定不需要使用“Ifexists”子句?
我在这里也发布了一个不同但相关的问题。
amazon-web-services - 是否需要将 ...IfExists 运算符添加到“AWS 全局条件上下文键”上的条件运算符中?
是否需要将 ...IfExists 运算符添加到“AWS 全局条件上下文键”上的条件运算符中?
AWS 全局条件上下文键在每个请求上下文中都可用。AWS 文档指出:
如果您使用仅在某些情况下可用的条件键,则可以使用条件运算符的 IfExists 版本。
但是,此处AWS 文档中提供的示例似乎与 ..IfExists 运算符的预期用途相矛盾,因为他们已将 ...IfExists 运算符添加到“AWS 全局条件上下文键”上的条件运算符中。我已经从 AWS 文档中截取了示例的屏幕截图 - 见下文。
amazon-web-services - 拒绝访问 DynamoDB 表
我尝试创建一个拒绝访问 dynamodb 表的策略。
我添加了 ReadOnlyAccess(完整),我希望用户不能读取/使用/将数据放在一个表中
政策看起来像这样
用户现在无法检查 some-name 表中的数据,这很好,但是当我列出这些表时,我看到一堆随机的“加载失败”表。我可以单击它们并访问数据,但我不想看到加载失败(除了可能的名称表)。
我究竟做错了什么?
amazon-web-services - AWS 策略错误 -- 资源数大于允许的最大值
下面是我添加策略的代码,但不确定在调用 ValidateTemplate 操作时发生错误 (ValidationError) 时出现错误,因为它在运行云形成时出现错误:模板格式错误:资源数,201,大于允许的最大值,200 \n", "stdout": "", "stdout_lines": []}
amazon-web-services - AWS 为 Elasticsearch VPC 域提供代理
我们创建了一个 VPC Elasticsearch 域。
我们希望能够从 Internet 访问日志 (kibana)。我发现了这个问题:AWS Elasticsearch VPC 连接
答案建议使用面向 Internet 并位于 VPC 子网上的 nginx 代理。我得到了那个工作。但是 ES 后端的响应是用户没有权限。
{"Message":"用户:anonymous 无权执行:es:ESHttpGet"}
看起来我必须制定正确的政策。但我被困在那里。
我创建了一个角色。但是如何将角色分配给用户,甚至是代理,以便它能够访问 ES VPC 端点?
amazon-web-services - 如何将 IP 限制添加到已经有用户限制的 s3 存储桶(在存储桶策略中)
我有几个 s3 存储桶,我只授予特定 IAM 用户的访问权限。我通过设置以下存储桶策略来做到这一点:
Effect : "Deny"
NotPrincipal : { "AWS " : "<My_IAM_User>" }
我只能从 IAM 用户访问存储桶,因此该策略按预期工作,但我还想将存储桶访问限制为仅特定 IP。这个 IP 是我的服务器运行的 ec2 IP 地址。我使用的策略值如下:
我期待上述策略只允许我的 EC2 服务器访问 s3 存储桶对象,但如果我从任何其他 IP 进行调用(例如:在我的本地机器上运行服务器并尝试访问存储桶。)它是仍然使用存储桶中的有效对象进行响应。 上述策略似乎没有阻止任何访问存储桶的请求来自其他随机 IP 地址。
我的整个存储桶策略如下所示:
我的参考资料: 1. https://aws.amazon.com/premiumsupport/knowledge-center/block-s3-traffic-vpc-ip/ 2. https://medium.com/@devopslearning/100-days-of- devops-day-11-restricting-s3-bucket-access-to-specific-ip-addresses-a46c659b30e2