python 恢复共享快照(两个不同的aws帐户)RDS/PostgreSQL [已关闭]

yqyhoc1h  于 2023-01-24  发布在  Python
关注(0)|答案(4)|浏览(155)

此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site的主题有关,您可以留下评论,说明在何处可以回答此问题。
17小时前关门了。
Improve this question
我有一个快照是共享到我的aws帐户从合作伙伴。当我试图恢复它,它不显示恢复选项。唯一的选项,我可以看到现在是复制快照/迁移快照。
如何还原此快照?
click here to see the picture of the snapshot I received and options it's showing

ybzsozfc

ybzsozfc1#

我猜它是加密的,您需要首先拷贝快照,然后更改密钥和恢复。
https://aws.amazon.com/premiumsupport/knowledge-center/rds-snapshots-share-account/

2izufjch

2izufjch2#

共享快照仍位于另一个帐户中。您需要将快照复制到您的帐户。然后您将可以访问常规AWS命令。

kqlmhetl

kqlmhetl3#

快照使用主密钥(默认密钥)加密。使用默认密钥时,我们无法向其他用户授予访问权限。
创建了新的共享密钥并将其附加到RDS,并从共享密钥授予权限,现在我们能够共享和解密/复制。

ggazkfy8

ggazkfy84#

将RDS示例/数据库从一个AWS帐户复制到另一个AWS帐户:

  • 提示:如果数据库的RDS示例是未加密的,那么它就像饼一样简单。如果它是加密的(特别是通过AWS的默认加密),那么下面的方法可能会有所帮助。

说明:

  • 在示例中,源AWS账户(账户A)为账号111122223333。
  • 在示例中,目标AWS帐户(帐户B)为帐户编号444455556666。
    • 问题:要从帐户A拷贝到帐户B的快照是否加密?**
  • 不是吗?那生活真的很简单。

在源AWS帐户中:

  • 只需导航到RDS〉快照〉操作〉共享快照。
  • 输入您从AWS用户配置文件中获取的目标AWS帐户。在目标AWS帐户中:
  • 导航到RDS〉快照〉与我共享。选择操作〉恢复。
  • 坐下来享受你的精彩吧。
    • 问题:您要从帐户A复制到帐户B的快照是否加密?是吗?哦,糟糕。抱歉,还需要一些工作....**
    • 是否使用AWS的默认加密进行加密?**是?-然后您必须复制快照并使用自己的AWS KMS密钥重新加密。源和目标AWS帐户中引用了相同的密钥。即,这意味着您必须在源AWS帐户和目标AWS帐户中加密两次。

注意:您不能解密加密的快照。您只能使用其他密钥对其进行加密。

    • 在源AWS账户(账户111122223333)内:**
  • 创建或添加引用目标AWS帐户(帐户:444455556666)。导航到KMS〉客户管理密钥以执行此操作。

以下JSON示例的注意事项:
arn:aws:iam::111122223333:用户/密钥用户

  • 是您还是管理员帐户。

参数编号:aws:iam::44455556666:根目录

  • 是TARGET帐户。

注意"Sid"中的重复:"允许使用密钥"和"Sid":"允许附加永久资源"。
为新密钥指定一个有意义的名称,例如"允许与其他AWS帐户之间的数据传输"。您只需在下面的":root"行中添加更多AWS帐户。

{
  "Id": "key-policy-1",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Allow use of the key",
      "Effect": "Allow",
      "Principal": {"AWS": [
        "arn:aws:iam::111122223333:user/KeyUser",
        "arn:aws:iam::444455556666:root"
      ]},
      "Action": [
        "kms:CreateGrant",
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
      ],
      "Resource": "*"
    },
    {
      "Sid": "Allow attachment of persistent resources",
      "Effect": "Allow",
      "Principal": {"AWS": [
        "arn:aws:iam::111122223333:user/KeyUser",
        "arn:aws:iam::444455556666:root"
      ]},
      "Action": [
        "kms:CreateGrant",
        "kms:ListGrants",
        "kms:RevokeGrant"
      ],
      "Resource": "*",
      "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}}
    }
  ]
}

现在,您将设置一个AWS KMS密钥,允许目标帐户使用使用此密钥的源帐户中的资源。
当您再次查看此KMS密钥时,您将获得一个密钥ID(* 下面的链接A *),您需要稍后在TARGET AWS帐户中使用该密钥ID。
导航至:

  • RDS〉快照〉操作〉拷贝快照
  • 转到加密〉AWS KMS密钥
  • 选择上面创建的新密钥(其中包含目标AWS帐户)。
  • 命名新快照,然后选择"复制快照"。
  • 然后使快照可共享:操作〉共享快照。
  • 指定新的AWS帐户ID。
    • 在目标AWS账户(账户444455556666)内:**
  • 导航至KMS〉客户管理密钥。注意以下事项:arn:aws:kms:us-west-2:111122223333:key/c989c1dd-a3f2 - 4a5d-8d96-e793d082ab26是否与(* 上面的链接A *)上面屏幕截图中引用的ID I的代码类型相同。

下面的AWS帐户111122223333是源AWS帐户ID。
注意"Sid"中的重复:"允许使用密钥"和"Sid":"允许附加永久资源"。
同样,给新密钥一个有意义的名称,例如"允许向或从其他AWS帐户传输数据"。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowUseOfTheKey",
            "Effect": "Allow",
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:DescribeKey",
                "kms:CreateGrant",
                "kms:RetireGrant"
            ],
            "Resource": ["arn:aws:kms:us-west-2:111122223333:key/c989c1dd-a3f2-4a5d-8d96-e793d082ab26"]
        },
        {
            "Sid": "AllowAttachmentOfPersistentResources",
            "Effect": "Allow",
            "Action": [
                "kms:CreateGrant",
                "kms:ListGrants",
                "kms:RevokeGrant"
            ],
            "Resource": ["arn:aws:kms:us-west-2:111122223333:key/c989c1dd-a3f2-4a5d-8d96-e793d082ab26"],
            "Condition": {
                "Bool": {
                    "kms:GrantIsForAWSResource": true
                }
            }
        }
    ]
}

如果需要引用多个键,只需将它们列出为:

"Resource": [
                "arn:aws:kms:us-west-2:111122223333:key/c989c1dd-a3f2-4a5d-8d96-e793d082ab26",
                "arn:aws:kms:us-west-2:111122223333:key/mrk-90f7e1a9282068dbbf30f734dad7f4fa"
            ],

转到RDS-〉快照-〉与我共享。

  • 选择传入快照并选择"Copy"。
  • 现在将AWS KMS密钥(加密部分)更改为您在上面的加密-〉AWS KMS密钥中定义的新本地密钥。即,您之前在此TARGET帐户中创建了一个密钥,该密钥引用了SOURCE帐户中的密钥。
  • 现在将使用新的加密密钥加密副本。
  • 现在,您可以在新的TARGET AWS帐户中恢复该快照。
  • 坐下来享受你的精彩吧。

相关文章:
如何共享RDS快照:

  • https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ShareSnapshot.html#USER_ShareSnapshot.Encrypted

如何更改AWS KMS密钥策略:

  • https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-external-accounts

相关问题