可用于创建 Lambda 轮换函数的 AWS 模板 - AWS Secrets Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

可用于创建 Lambda 轮换函数的 AWS 模板

本节介绍了可用于为 AWS Secrets Manager 密钥创建 Lambda 轮换函数的 AWS 托管模板。这些模板与 AWS Serverless Application Repository 相关联,该存储库使用 AWS CloudFormation 创建预配置的资源的“堆栈”。在这种情况下,模板创建一个包含 Lambda 函数和 IAM 角色的堆栈,Secrets Manager 可以担任该角色,以便在进行轮换时调用该函数。

要使用以下任意模板创建 Lambda 轮换函数,您可将指定模板的 ARN 复制并粘贴到主题轮换其他数据库或服务的 AWS Secrets Manager 密钥中所述的 CLI 命令。

以下各个模板可针对不同数据库和轮换策略的组合创建 Lambda 轮换函数。每个模板下面的第一个项目符号显示该函数支持的数据库或服务。第二个项目符号描述该函数实施的轮换策略。第三个项目符号指定轮换函数应在轮换的密钥的 SecretString 值中找到的 JSON 结构。

RDS 数据库

其他数据库和服务

Amazon RDS 数据库的模板

RDS MariaDB 单用户

  • 姓名 SecretsManagErrdSmariAdbroTationSingleUser

  • 支持的数据库/服务: MariAdB数据库托管 Amazon Relational Database Service (Amazon RDS)数据库实例。

  • 旋转策略: 这会更改已存储在旋转SECRET中的用户的密码。有关此策略的更多信息,请参阅为只有一个密码的一个用户轮换 AWS Secrets Manager 密钥

  • 预期 SecretString 结构:

    { "engine": "mariadb", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to None>", "port": "<optional: TCP port number. If not specified, defaults to 3306>" }
  • 源代码

RDS MariaDB 主用户

  • 姓名 SecretsManagErrdSmariAdbrotationMultiuser

  • 支持的数据库/服务: MariAdB数据库托管 Amazon RDS 数据库实例。

  • 旋转策略: 两个用户在旋转期间使用单独主用户的凭据,存储在单独的密码中。 Secrets Manager 在用户成为活动用户之前,更改非活动用户的密码。有关此策略的更多信息,请参阅通过在两个现有用户之间交替来轮换 AWS Secrets Manager 密钥

  • 预期 SecretString 结构:

    { "engine": "mariadb", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to None>", "port": "<optional: TCP port number. If not specified, defaults to 3306>", "masterarn": "<required: the ARN of the master secret used to create 2nd user and change passwords>" }
  • 源代码

RDS MySQL 单用户

  • 姓名 SecretsManagerRDSMariaDBRotationSingleUser

  • 支持的数据库/服务: Mysql数据库托管在 Amazon Relational Database Service (Amazon RDS)数据库实例。

  • 旋转策略: 这会更改已存储在旋转SECRET中的用户的密码。有关此策略的更多信息,请参阅为只有一个密码的一个用户轮换 AWS Secrets Manager 密钥

  • 预期 SecretString 结构:

    { "engine": "mysql", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to None>", "port": "<optional: TCP port number. If not specified, defaults to 3306>" }
  • 源代码

RDS MySQL 多用户

  • 姓名 SecretsManagErrdSmYsqlRotationMultiuser

  • 支持的数据库/服务: Mysql数据库托管在 Amazon RDS 数据库实例。

  • 旋转策略: 两个用户在旋转期间使用单独主用户的凭据,存储在单独的密码中。 Secrets Manager 在用户成为活动用户之前,更改非活动用户的密码。有关此策略的更多信息,请参阅通过在两个现有用户之间交替来轮换 AWS Secrets Manager 密钥

  • 预期 SecretString 结构:

    { "engine": "mysql", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to None>", "port": "<optional: TCP port number. If not specified, defaults to 3306>", "masterarn": "<required: the ARN of the master secret used to create 2nd user and change passwords>" }
  • 源代码

RDS Oracle 单用户

  • 姓名 SecretsManagErrdSorAclErotationSingleUser

  • 支持的数据库/服务: Oracle数据库托管在 Amazon Relational Database Service (Amazon RDS)数据库实例。

  • 旋转策略: 这会更改已存储在旋转SECRET中的用户的密码。有关此策略的更多信息,请参阅为只有一个密码的一个用户轮换 AWS Secrets Manager 密钥

  • 预期 SecretString 结构:

    { "engine": "oracle", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<required: database name>", "port": "<optional: TCP port number. If not specified, defaults to 1521>" }
  • 源代码

RDS Oracle 主用户

  • 姓名 SecretsManagerRDSOracleRotationMultiUser

  • 支持的数据库/服务: Oracle数据库托管在 Amazon RDS 数据库实例。

  • 旋转策略: 两个用户在旋转期间使用单独主用户的凭据,存储在单独的密码中。 Secrets Manager 在用户成为活动用户之前,更改非活动用户的密码。有关此策略的更多信息,请参阅通过在两个现有用户之间交替来轮换 AWS Secrets Manager 密钥

  • 预期 SecretString 结构:

    { "engine": "oracle", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<required: database name>", "port": "<optional: TCP port number. If not specified, defaults to 1521>", "masterarn": "<required: the ARN of the master secret used to create 2nd user and change passwords>" }
  • 源代码

RDS PostgreSQL 单用户

  • 姓名 SecretsManagErrdSpoStgResqlRotationSingleUser

  • 支持的数据库/服务: Postgresql数据库托管在 Amazon RDS 数据库实例。

  • 旋转策略: 这会更改已存储在旋转SECRET中的用户的密码。有关此策略的更多信息,请参阅为只有一个密码的一个用户轮换 AWS Secrets Manager 密钥

  • 预期 SecretString 结构:

    { "engine": "postgres", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to 'postgres'>", "port": "<optional: TCP port number. If not specified, defaults to 5432>" }
  • 源代码

RDS PostgreSQL 主用户

  • 姓名 SecretsManagErrdSpoStgResqlRotationMultiuser

  • 支持的数据库/服务: Postgresql数据库托管在 Amazon RDS 数据库实例。

  • 旋转策略: 两个用户在旋转期间使用单独主用户的凭据,存储在单独的密码中。 Secrets Manager 在用户成为活动用户之前,更改非活动用户的密码。有关此策略的更多信息,请参阅通过在两个现有用户之间交替来轮换 AWS Secrets Manager 密钥

  • 预期 SecretString 结构:

    { "engine": "postgres", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to 'postgres'>", "port": "<optional: TCP port number. If not specified, defaults to 5432>", "masterarn": "<required: the ARN of the master secret used to create 2nd user and change passwords>" }
  • 源代码

RDS Microsoft SQLServer 单用户

  • 姓名 SecretsManagErrdSsqlServerRotationSingleUser

  • 支持的数据库/服务: MicrosoftSQLServer数据库托管 Amazon RDS 数据库实例。

  • 旋转策略: 这会更改已存储在旋转SECRET中的用户的密码。有关此策略的更多信息,请参阅为只有一个密码的一个用户轮换 AWS Secrets Manager 密钥

  • 预期 SecretString 结构:

    { "engine": "sqlserver", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to 'master'>", "port": "<optional: TCP port number. If not specified, defaults to 1433>" }
  • 源代码

RDS Microsoft SQLServer 主用户

  • 姓名 SecretsManagErrdSsqlServerRotationMultiuser

  • 支持的数据库/服务: MicrosoftSQLServer数据库托管 Amazon RDS 数据库实例。

  • 旋转策略: 两个用户在旋转期间使用单独主用户的凭据,存储在单独的密码中。 Secrets Manager 在用户成为活动用户之前,更改非活动用户的密码。有关此策略的更多信息,请参阅通过在两个现有用户之间交替来轮换 AWS Secrets Manager 密钥

  • 预期 SecretString 结构:

    { "engine": "sqlserver", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to 'master'>", "port": "<optional: TCP port number. If not specified, defaults to 1433>", "masterarn": "<required: the ARN of the master secret used to create 2nd user and change passwords>" }
  • 源代码

其他数据库的模板

MongoDB 单用户

  • 姓名 分发管理器MongodBrotationSingleUser

  • 支持的数据库/服务: MongoDB数据库版本3.2或3.4。

  • 旋转策略: 这会更改已存储在旋转SECRET中的用户的密码。有关此策略的更多信息,请参阅为只有一个密码的一个用户轮换 AWS Secrets Manager 密钥

  • 预期 SecretString 结构:

    { "engine": "mongo", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to None>", "port": "<optional: TCP port number. If not specified, defaults to 27017>" }
  • 源代码 源代码

MongoDB 主用户

  • 姓名 SecretsManagerMongodBrotationMultiuser

  • 支持的数据库或服务: MongoDB数据库版本3.2或3.4。

  • 旋转策略: 两个用户在旋转期间使用单独主用户的凭据,然后存储在单独的秘密中。Secrets Manager 在用户成为活动用户之前,更改非活动用户的密码。有关此策略的更多信息,请参阅通过在两个现有用户之间交替来轮换 AWS Secrets Manager 密钥

  • 预期 SecretString 结构:

    { "engine": "mongo", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to None>", "port": "<optional: TCP port number. If not specified, defaults to 27017>", "masterarn": "<required: the ARN of the master secret used to create 2nd user and change passwords>" }
  • 源代码

Amazon Redshift 单用户

  • 姓名 分发管理器红色转移单位用户

  • 支持的数据库/服务:Amazon Redshift

  • 旋转策略: 这会更改已存储在旋转SECRET中的用户的密码。有关此策略的更多信息,请参阅为只有一个密码的一个用户轮换 AWS Secrets Manager 密钥

  • 预期 SecretString 结构:

    { "engine": "redshift", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to None>", "port": "<optional: TCP port number. If not specified, defaults to 5439>" }
  • 源代码

Amazon Redshift 主用户

  • 姓名 分发管理器红色移位多用户

  • 支持的数据库/服务:Amazon Redshift

  • 旋转策略: 两个用户在旋转期间使用单独主用户的凭据,存储在单独的密码中。 Secrets Manager 在激活用户之前更改非活动用户的密码。有关此策略的更多信息,请参阅通过在两个现有用户之间交替来轮换 AWS Secrets Manager 密钥

  • 预期 SecretString 结构:

    { "engine": "redshift", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to None>", "port": "<optional: TCP port number. If not specified, defaults to ?????>", "masterarn": "<required: the ARN of the master secret used to create 2nd user and change passwords>" }
  • 源代码

其他服务的模板

通用轮换函数模板

  • 姓名 分发管理器轮询模板

  • 支持的数据库/服务: 无 您提供与所需的任何服务交互的代码。

  • 旋转策略: 无 您提供代码来实施所需的任何轮换策略。有关自定义自己函数的详细信息,请参阅了解和自定义您的 Lambda 轮换函数

  • 预期 SecretString 结构: 您将这一点定义为书面代码的一部分。

  • 源代码 源代码