我想在组织级别创建一个服务控制策略 (SCP) 策略,可以阻止 3 件事:
有人知道可以吗?
rds:StorageEncrypted
条件创建未加密的 RDS 数据库:
{
"Version": "2012-10-17",
"Statement": [
{
"Condition": {
"Bool": {
"rds:StorageEncrypted": "false"
}
},
"Action": [
"rds:CreateDBInstance",
"rds:CreateDBCluster"
],
"Resource": "*",
"Effect": "Deny"
}
]
}
据我所知,您仍然无法创建 SCP 来阻止公共访问或没有备份策略,因为没有任何 条件键 来帮助您过滤这些条件。
我不认为服务控制策略可以在这个级别发挥作用。
他们基本上说明了允许哪些 API 调用(例如
CreateDbInstance
、RebootDbInstance
),但没有深入到参数级别。
事实上,我认为不可能创建具有这种详细程度的正常 IAM 策略,更不用说 SCP 了。
此类规则可能需要通过使用 AWS Config 规则评估资源 - AWS Config 进行监控,而不是控制权限。
我发现这篇文章展示了如何进行加密部分。 https://medium.com/@mattgillard/how-to-enforce-encryption-on-aws-rds-the- Correct-way-4c55251ce40e
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"rds:CreateDBInstance"
],
"Condition": {
"StringNotLike": {
"rds:DatabaseEngine": "aurora*"
},
"Bool": {
"rds:StorageEncrypted": "false"
}
},
"Effect": "Deny",
"Resource": [
"*"
],
"Sid": "DenyUnencyptedRDS"
},
{
"Sid": "DenyUnencyptedAurora",
"Effect": "Deny",
"Action": [
"rds:CreateDBCluster"
],
"Resource": [
"*"
],
"Condition": {
"Bool": {
"rds:StorageEncrypted": "false"
}
}
}
]
}