CloudFormation YAML - 带有条件语句的 IAM 策略
CloudFormation YAML - IAM policy with a statement that has a condition
我有一个在 AWS 控制台中创建另一个资源时自动创建的 IAM 策略。我正在尝试将其添加到现有的 CloudFormation 堆栈中。
该政策有以下声明,其中包含一个“条件”属性:
{
"Sid": "DecryptSecretValue",
"Action": [
"kms:Decrypt"
],
"Effect": "Allow",
"Resource": [
"arn:aws:kms:MyRegion:MyAccountId:key/4f402c6e-9624-40a4-8d4d-c0f2efe88602"
],
"Condition": {
"StringEquals": {
"kms:ViaService": "secretsmanager.eu-west-1.amazonaws.com"
}
}
}
这应该如何在 CloudFormation YAML 模板中构建?到目前为止我有:
Statement:
- Effect: Allow
Action: kms:DecryptSecretValue
Resource: arn:aws:kms:MyRegion:MyAccountId:key/4f402c6e-9624-40a4-8d4d-c0f2efe88602
但我不知道如何包含“条件”属性。有什么想法吗?
对于 json 策略的每个级别,您都在 yaml 上添加缩进。
所以 Condition
与 Effect
、Resource
和 Action
.
处于同一级别
StringEquals
从 Conditions
.
缩进
kms:ViaService
从 StringEquals
.
缩进
由于kms:ViaService
名称中有冒号(:
),需要在引号之间加上。
Statement:
- Effect: Allow
Action: "kms:DecryptSecretValue"
Resource: "arn:aws:kms:MyRegion:MyAccountId:key/4f402c6e-9624-40a4-8d4d-c0f2efe88602"
Condition:
StringEquals:
"kms:ViaService": "secretsmanager.eu-west-1.amazonaws.com"
我有一个在 AWS 控制台中创建另一个资源时自动创建的 IAM 策略。我正在尝试将其添加到现有的 CloudFormation 堆栈中。
该政策有以下声明,其中包含一个“条件”属性:
{
"Sid": "DecryptSecretValue",
"Action": [
"kms:Decrypt"
],
"Effect": "Allow",
"Resource": [
"arn:aws:kms:MyRegion:MyAccountId:key/4f402c6e-9624-40a4-8d4d-c0f2efe88602"
],
"Condition": {
"StringEquals": {
"kms:ViaService": "secretsmanager.eu-west-1.amazonaws.com"
}
}
}
这应该如何在 CloudFormation YAML 模板中构建?到目前为止我有:
Statement:
- Effect: Allow
Action: kms:DecryptSecretValue
Resource: arn:aws:kms:MyRegion:MyAccountId:key/4f402c6e-9624-40a4-8d4d-c0f2efe88602
但我不知道如何包含“条件”属性。有什么想法吗?
对于 json 策略的每个级别,您都在 yaml 上添加缩进。
所以 Condition
与 Effect
、Resource
和 Action
.
处于同一级别
StringEquals
从 Conditions
.
缩进
kms:ViaService
从 StringEquals
.
由于kms:ViaService
名称中有冒号(:
),需要在引号之间加上。
Statement:
- Effect: Allow
Action: "kms:DecryptSecretValue"
Resource: "arn:aws:kms:MyRegion:MyAccountId:key/4f402c6e-9624-40a4-8d4d-c0f2efe88602"
Condition:
StringEquals:
"kms:ViaService": "secretsmanager.eu-west-1.amazonaws.com"