red*_*888 7 amazon-web-services amazon-iam
奇怪的是我找不到这方面的文档;也许我谷歌搜索不对。我在这里看不到任何有关条件的信息:https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html
我有两个问题:
一个看起来像这样:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "secretsmanager:*",
"Resource": "*",
"Condition": {
"StringNotEquals": {
"secretsmanager:ResourceTag/allow": "True"
}
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
其中一个看起来像这样:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "secretsmanager:*",
"Resource": "*",
"Condition": {
"StringNotEquals": {
"secretsmanager:ResourceTag/allow": "False"
}
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
哪一个获胜?我认为你不能订购保单。AWS如何合并条件?
一项策略允许无条件访问所有资源,如下所示:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "secretsmanager:*",
"Resource": "*"
}
]
}
Run Code Online (Sandbox Code Playgroud)
一项政策有一个条件:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "secretsmanager:*",
"Resource": "*",
"Condition": {
"StringNotEquals": {
"secretsmanager:ResourceTag/allow": "True"
}
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
是否允许实体访问未标记的资源Allow:True,或者其中一项策略的条件是否会阻止它?
Wal*_*tDe 12
首先,让我直接回答这个问题。从逻辑上讲,这就是 IAM 正在做的事情。
对于上面的用例 1:
要仅在标签“allow”设置为 true 时允许用户访问,您需要以下内容:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "secretsmanager:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"secretsmanager:ResourceTag/allow": "True"
}
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
上面的用例#2:
由于第一个策略声明始终为真,因此用户将始终被授予访问权限。
现在,如果仅当且仅当标签“allow”设置为 true 时才允许访问,该怎么办?当它不真实时,您需要明确否认:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "secretsmanager:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"secretsmanager:ResourceTag/allow": "True"
}
}
},
{
"Effect": "Deny",
"Action": "secretsmanager:*",
"Resource": "*",
"Condition": {
"StringNotEquals": {
"secretsmanager:ResourceTag/allow": "True"
}
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
这次我们广告了一个明确的拒绝策略来保证设置“允许”标签。
现在让我们了解 IAM 奇迹的更多信息。
AWS IAM 策略评估逻辑中有 11 个决策点。拒绝 6 条路径,仅允许 2 条路径。但这张图应该可以帮助你理解。
如果条件中有多个语句,则多个语句是“布尔与”,多值是“布尔或”。
| 归档时间: |
|
| 查看次数: |
6842 次 |
| 最近记录: |