Amazon RDS 的 SCP 策略

问题描述 投票:0回答:3

我想在组织级别创建一个服务控制策略 (SCP) 策略,可以阻止 3 件事:

  • 不允许创建数据库可公开访问
  • 不允许创建没有标记加密选项的数据库
  • 不允许在没有标记备份选项的情况下创建数据库

有人知道可以吗?

amazon-web-services amazon-rds
3个回答
1
投票

您现在可以创建服务控制策略 (SCP),以防止使用

rds:StorageEncrypted
条件创建未加密的 RDS 数据库:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Condition": {
        "Bool": {
          "rds:StorageEncrypted": "false"
        }
      },
      "Action": [
        "rds:CreateDBInstance",
        "rds:CreateDBCluster"
      ],
      "Resource": "*",
      "Effect": "Deny"
    }
  ]
}

据我所知,您仍然无法创建 SCP 来阻止公共访问或没有备份策略,因为没有任何 条件键 来帮助您过滤这些条件。


0
投票

我不认为服务控制策略可以在这个级别发挥作用。

他们基本上说明了允许哪些 API 调用(例如

CreateDbInstance
RebootDbInstance
),但没有深入到参数级别。

事实上,我认为不可能创建具有这种详细程度的正常 IAM 策略,更不用说 SCP 了。

此类规则可能需要通过使用 AWS Config 规则评估资源 - AWS Config 进行监控,而不是控制权限。


0
投票

我发现这篇文章展示了如何进行加密部分。 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"
        }
      }
    }
  ]
}
© www.soinside.com 2019 - 2024. All rights reserved.