微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以使用标签值来控制对资源的访问?

如何解决是否可以使用标签值来控制对资源的访问?

为了让实例访问 s3 存储桶中的特定文件夹,我已将其纳入策略:

"terminal.integrated.tabs.enabled": true,

它不起作用。使用此类标签的文档在这里https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html

所以也许我想做的事情是不可能的。

但我不想为每个需要访问文件夹的实例创建一个新角色。有没有其他方法可以解决这个问题?

解决方法

您可以使用 IAM policy elements: Variables and tags - AWS Identity and Access Management 编写适用于多个 IAM 用户/IAM 角色的单个策略。

如该文档所示,使用 aws:userid 变量将插入 role-id:ec2-instance-id。因此,可以授予实例访问与其角色和实例匹配的路径的权限,例如:

s3://bucketname/AROAU2DKSKXYQTOSDGTGX:i-abcd1234/*
,

未为 S3 资源定义 aws:ResourceTag。 S3 仅在访问对象时将标签作为策略变量提供,它位于变量 s3:ExistingObjectTag 下。

我在最近的一次参与中不得不这样做,其中一件让这件事变得困难的事情是,并非所有服务都提供它们的标签作为策略变量,而且这些服务都使用不同的名称。 aws:ResourceTag 变量仅在您访问的资源是 KMS 和一些其他服务时才提供。

无论如何,我不确定您的陈述是否有效。我认为您真正想要的是使用 aws:PrincipalTag/Name — 即 "Resource": "arn:aws:s3:::My_Bucket/db_backups/${aws:PrincipalTag/Name}/*"。这将嵌入用于访问资源的 IAM 委托人(用户或角色)的 Name 标记。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。