从 S3 上导出的快照创建 RDS 实例
Creating RDS instance from exported snapshot on S3
我想为实习生提供我的 RDS 数据库 (MySQL) 的快照,以便他可以试用并使用副本进行一些分析。他在我的 AWS 账户上有一个有效的 IAM 用户。
我不想使用只读副本;我希望这是我的数据库的独立副本。
我认为流程可能是:
- 创建我的 RDS 的快照并将其导出到 S3 存储桶
- 授予他访问 S3 存储桶的权限
- 以某种方式授予他创建自己的(隔离的)RDS 实例的权限,但不能查看或修改我的 RDS 实例(生产)
- 那样的话,他或许可以从 S3 存储桶中的快照创建一个新的 RDS
我认为这是一个可行的事件序列(如果我错了请纠正我!)但我不清楚的是最后两个步骤,给了他刚好 RDS 访问权限(不确定 permissions/ACLs 是什么)来创建他自己的 RDS 实例,以及如何从存储在 S3 上的导出快照创建这些实例。这里有人有什么想法吗?理想情况下,我也可以限制他可以创建的 RDS 实例的大小,或者以其他方式限制它们,这样他就无法通过屋顶发送账单。
- 您不能有条件地允许被拘留者查看他们的数据库而不是您的。有条件上市政策不适用于此处。
- 您可以在 RDS 上设置标签并将 IAM 策略设置为不 modify/delete 特定标签,反之亦然。 Reference
- 您可以一直跳过将快照导出到您的 S3,并允许您的实习生从 RDS 仪表板上可用的快照创建数据库。
- 您可以通过为 RDS 可用 here 添加条件来设置实例 class 的限制。但是您将无法限制他们可能创建的数据库的大小和数量。
为了安全和方便,如果是一次性工作,我建议您自己从生产快照创建数据库一次,并向实习生提供此新数据库的管理员凭据。如果是重复工作,请创建一个 aws cli bash 脚本,该脚本使用最新快照创建新数据库并删除以前的数据库(如果存在),该脚本将由您执行。
但如果您选择提供 AWS 访问:
- 不提供任何删除权限。
- 根据
aws:ResourceTag/${TagKey}
、rds:DatabaseClass
. 提供有条件的创建、修改访问权限
- 提供有限的列表、读取权限。
我想为实习生提供我的 RDS 数据库 (MySQL) 的快照,以便他可以试用并使用副本进行一些分析。他在我的 AWS 账户上有一个有效的 IAM 用户。
我不想使用只读副本;我希望这是我的数据库的独立副本。
我认为流程可能是:
- 创建我的 RDS 的快照并将其导出到 S3 存储桶
- 授予他访问 S3 存储桶的权限
- 以某种方式授予他创建自己的(隔离的)RDS 实例的权限,但不能查看或修改我的 RDS 实例(生产)
- 那样的话,他或许可以从 S3 存储桶中的快照创建一个新的 RDS
我认为这是一个可行的事件序列(如果我错了请纠正我!)但我不清楚的是最后两个步骤,给了他刚好 RDS 访问权限(不确定 permissions/ACLs 是什么)来创建他自己的 RDS 实例,以及如何从存储在 S3 上的导出快照创建这些实例。这里有人有什么想法吗?理想情况下,我也可以限制他可以创建的 RDS 实例的大小,或者以其他方式限制它们,这样他就无法通过屋顶发送账单。
- 您不能有条件地允许被拘留者查看他们的数据库而不是您的。有条件上市政策不适用于此处。
- 您可以在 RDS 上设置标签并将 IAM 策略设置为不 modify/delete 特定标签,反之亦然。 Reference
- 您可以一直跳过将快照导出到您的 S3,并允许您的实习生从 RDS 仪表板上可用的快照创建数据库。
- 您可以通过为 RDS 可用 here 添加条件来设置实例 class 的限制。但是您将无法限制他们可能创建的数据库的大小和数量。
为了安全和方便,如果是一次性工作,我建议您自己从生产快照创建数据库一次,并向实习生提供此新数据库的管理员凭据。如果是重复工作,请创建一个 aws cli bash 脚本,该脚本使用最新快照创建新数据库并删除以前的数据库(如果存在),该脚本将由您执行。
但如果您选择提供 AWS 访问:
- 不提供任何删除权限。
- 根据
aws:ResourceTag/${TagKey}
、rds:DatabaseClass
. 提供有条件的创建、修改访问权限
- 提供有限的列表、读取权限。