【问题标题】:Can I use EC2-type secuirty groups with Amazon Dynamodb?我可以将 EC2 类型的安全组与 Amazon Dynamodb 一起使用吗?
【发布时间】:2016-06-08 14:57:52
【问题描述】:

我喜欢使用 EC2 的一个原因是我可以选择允许哪些 IP 通过哪些端口相互通信。但是当我查看 Amazon DynamoDb 时,我看不到这样的东西。只是用户类型的访问,这完全是一种不同的安全性。

有谁知道我们是否可以使用 EC2 安全组通过 IP 限制 DynamoDB 访问?如果没有,是否还有其他亚马逊数据存储可以以这种方式工作?

【问题讨论】:

    标签: amazon-ec2 amazon-dynamodb


    【解决方案1】:

    如您所述,DynamoDB 不使用安全组,它使用 IAM 用户/角色进行访问。无法将安全组添加到 DynamoDB。默认情况下,没有任何人可以访问您的 DynamoDB 表。要授予来自某些 EC2 实例或 Lambda 函数的访问权限,您需要修改分配给这些服务器/函数的 IAM 角色以授予他们访问权限。

    如果没有,是否还有其他亚马逊数据存储可以以这种方式工作?

    如果这确实是您对数据存储的唯一要求,那么请查看 RDS 或自己在 EC2 服务器上运行一些东西。

    【讨论】:

    • 谢谢。我想我会为此使用 RDS 实例。
    【解决方案2】:

    问题和接受的答案都发生在很久以前。我今天(2021 年)遇到了同样的要求,我可以确认我们现在能够通过“源 IP 地址”限制对 DynamoDB 的访问。决定记下我的发现,以防它对那里的人有所帮助:)

    请注意,该过程本身没有记录,但它实际上对我有用:

    1. 创建新的 IAM 策略。在这里我附上一个我使用的示例:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": [
                    "dynamodb:BatchGetItem",
                    "dynamodb:BatchWriteItem",
                    "dynamodb:PutItem",
                    "dynamodb:DeleteItem",
                    "dynamodb:GetItem",
                    "dynamodb:Query",
                    "dynamodb:UpdateItem"
                ],
                "Resource": "arn:aws:dynamodb:<region>:<account-id>:table/<table-name>",
                "Condition": {
                    "ForAnyValue:IpAddress": {
                        "aws:SourceIp": [
                            "xx.yy.zz.ww",
                            "some.ip.addre.ss"
                        ]
                    }
                }
            }
        ]
    }
    
    1. 创建一个 IAM 用户,将上述策略分配给该用户(或其组)。确保此用户可以以编程方式访问 AWS 资源(例如,使用 AWS 访问密钥 ID 和秘密访问密钥)

    2. 像往常一样从您的应用程序代码连接到您的 DynamoDB。您现在会注意到:如果您的应用程序代码是从 IP 地址在您的策略(上)中提供的白名单aws:SourceIp 之外的机器上运行的,则 DynamoDB 操作将失败(尽管错误响应中没有给出具体原因):

    再说一次,截至 2021 年 6 月,这种方法要么没有记录,要么记录在某处,但我只是没能找到它。如果您尝试过但对您不起作用,请随时发表评论,(如果当时我还活着)我会尽力帮助调查!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-21
      • 2018-10-16
      • 2012-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-13
      相关资源
      最近更新 更多