Amazon web services AWS IAM-如何拒绝对具有特定标记的资源执行任何操作?
我想拒绝对任何具有特定标记的资源执行所有操作Amazon web services AWS IAM-如何拒绝对具有特定标记的资源执行任何操作?,amazon-web-services,amazon-iam,Amazon Web Services,Amazon Iam,我想拒绝对任何具有特定标记的资源执行所有操作环境:SOME_ENV。如果资源有另一个标记值或没有该标记,则允许执行操作 我创造了这样的条件: Effect: Deny Action: '*' Resource: '*' Condition: StringEquals: aws:ResourceTag/Environment: SOME_ENV 并通过以下方式进行测试: Condition: StringEquals: aws:ResourceTag/Environmen
环境:SOME_ENV
。如果资源有另一个标记值或没有该标记,则允许执行操作
我创造了这样的条件:
Effect: Deny
Action: '*'
Resource: '*'
Condition:
StringEquals:
aws:ResourceTag/Environment: SOME_ENV
并通过以下方式进行测试:
Condition:
StringEquals:
aws:ResourceTag/Environment: SOME_ENV
'Null':
aws:ResourceTag/Environment: false
问题是我可能会在控制台上阅读Lambda代码、标记和所有内容,但我认为这是不可能的
注意事项:
我已经给出了视图操作(如下),因此我可能会查看Lambda代码,但可能不会像预期的那样执行更改
Sid: 'ViewOnlyActions'
Effect: Allow
Action:
- lambda:Get*
Resource: '*'
这些文件很好地解释了这一点
这些文件对其进行了很好的解释 钥匙上的保险单条件仅与保险单相关 例如,AWS Lambda此时不支持基于标记的授权。密钥上的策略条件仅与
例如,AWS Lambda此时不支持基于标记的授权。正如您所说,这些文档中可能确实对其进行了很好的解释,但关于堆栈溢出的回答实际上应该回答所问的问题,而不仅仅是提供链接——请参阅。请编辑此答案以添加完整的解决方案/解释。@Devesh感谢您的回复。第一个链接表示“如果代码发现哪怕一个明确的拒绝都适用,那么代码将返回一个最终的拒绝决定”,这是我所期望的,但它没有起作用。正如您所说,它确实在这些文档中解释得很好,但关于堆栈溢出的回答实际上应该回答所问的问题,不仅仅是提供链接——请参阅。请编辑此答案以添加完整的解决方案/解释。@Devesh感谢您的回复。第一个链接声明“如果代码发现哪怕是一个应用的显式拒绝,代码将返回一个最终的拒绝决定”,这是我所期望的,但它不起作用。