Estrutura JSON de segredos do AWS Secrets Manager - AWS Secrets Manager

Estrutura JSON de segredos do AWS Secrets Manager

É possível armazenar qualquer texto ou binário em um segredo do Secrets Manager, até o tamanho máximo de 65.536 bytes.

Se você usar Função do Lambda de alternância, um segredo deverá conter campos JSON específicos que a função de alternância espera. Por exemplo, para um segredo que contenha credenciais do banco de dados, a função de alternância se conecta ao banco de dados para atualizar as credenciais, portanto, o segredo deverá conter as informações de conexão do banco de dados.

Se você usar o console para editar a alternância de um segredo de banco de dados, o segredo deverá conter pares de valores-chave JSON específicos que identifiquem o banco de dados. O Secrets Manager usa esses campos para consultar o banco de dados e encontrar a VPC correta na qual armazenar uma função de alternância.

Os nomes de chaves no JSON diferenciam maiúsculas de minúsculas.

Credenciais do Amazon RDS e do Aurora

Para usar os modelos de função de alternância fornecidos pelo Secrets Manager, use a estrutura JSON a seguir. É possível adicionar mais pares de chave/valor, por exemplo, para conter informações para réplica de bancos de dados em outras regiões.

DB2

Para instâncias do Db2 do Amazon RDS, como os usuários não podem alterar suas próprias senhas, você deve fornecer credenciais de administrador em outro segredo.

{ "engine": "db2", "host": "<instance host name/resolvable DNS name>", "username": "<username>", "password": "<password>", "dbname": "<database name. If not specified, defaults to None>", "port": <TCP port number. If not specified, defaults to 3306>, "masterarn": "<ARN of the elevated secret>", "dbInstanceIdentifier": <optional: ID of the instance. Alternately, use dbClusterIdentifier. Required for configuring rotation in the console.>", "dbClusterIdentifier": <optional: ID of the cluster. Alternately, use dbInstanceIdentifier. Required for configuring rotation in the console.>" }
MariaDB
{ "engine": "mariadb", "host": "<instance host name/resolvable DNS name>", "username": "<username>", "password": "<password>", "dbname": "<database name. If not specified, defaults to None>", "port": <TCP port number. If not specified, defaults to 3306>, "masterarn": "<optional: ARN of the elevated secret. Required for the Estratégia de alternância: usuários alternados.>", "dbInstanceIdentifier": <optional: ID of the instance. Alternately, use dbClusterIdentifier. Required for configuring rotation in the console.>", "dbClusterIdentifier": <optional: ID of the cluster. Alternately, use dbInstanceIdentifier. Required for configuring rotation in the console.>" }
MySQL
{ "engine": "mysql", "host": "<instance host name/resolvable DNS name>", "username": "<username>", "password": "<password>", "dbname": "<database name. If not specified, defaults to None>", "port": <TCP port number. If not specified, defaults to 3306>, "masterarn": "<optional: ARN of the elevated secret. Required for the Estratégia de alternância: usuários alternados.>", "dbInstanceIdentifier": <optional: ID of the instance. Alternately, use dbClusterIdentifier. Required for configuring rotation in the console.>", "dbClusterIdentifier": <optional: ID of the cluster. Alternately, use dbInstanceIdentifier. Required for configuring rotation in the console.>" }
Oracle
{ "engine": "oracle", "host": "<instance host name/resolvable DNS name>", "username": "<username>", "password": "<password>", "dbname": "<database name>", "port": <TCP port number. If not specified, defaults to 1521>, "masterarn": "<optional: ARN of the elevated secret. Required for the Estratégia de alternância: usuários alternados.>", "dbInstanceIdentifier": <optional: ID of the instance. Alternately, use dbClusterIdentifier. Required for configuring rotation in the console.>", "dbClusterIdentifier": <optional: ID of the cluster. Alternately, use dbInstanceIdentifier. Required for configuring rotation in the console.>" }
Postgres
{ "engine": "postgres", "host": "<instance host name/resolvable DNS name>", "username": "<username>", "password": "<password>", "dbname": "<database name. If not specified, defaults to 'postgres'>", "port": <TCP port number. If not specified, defaults to 5432>, "masterarn": "<optional: ARN of the elevated secret. Required for the Estratégia de alternância: usuários alternados.>", "dbInstanceIdentifier": <optional: ID of the instance. Alternately, use dbClusterIdentifier. Required for configuring rotation in the console.>", "dbClusterIdentifier": <optional: ID of the cluster. Alternately, use dbInstanceIdentifier. Required for configuring rotation in the console.>" }
SQLServer
{ "engine": "sqlserver", "host": "<instance host name/resolvable DNS name>", "username": "<username>", "password": "<password>", "dbname": "<database name. If not specified, defaults to 'master'>", "port": <TCP port number. If not specified, defaults to 1433>, "masterarn": "<optional: ARN of the elevated secret. Required for the Estratégia de alternância: usuários alternados.>", "dbInstanceIdentifier": <optional: ID of the instance. Alternately, use dbClusterIdentifier. Required for configuring rotation in the console.>", "dbClusterIdentifier": <optional: ID of the cluster.Alternately, use dbInstanceIdentifier. Required for configuring rotation in the console.>" }

Credenciais do Amazon Redshift

Para usar os modelos de função de alternância fornecidos pelo Secrets Manager, use a estrutura JSON a seguir. É possível adicionar mais pares de chave/valor, por exemplo, para conter informações para réplica de bancos de dados em outras regiões.

{ "engine": "redshift", "host": "<instance host name/resolvable DNS name>", "username": "<username>", "password": "<password>", "dbname": "<database name. If not specified, defaults to None>", "dbClusterIdentifier": "<optional: database ID. Required for configuring rotation in the console.>" "port": <optional: TCP port number. If not specified, defaults to 5439> "masterarn": "<optional: ARN of the elevated secret. Required for the Estratégia de alternância: usuários alternados.>" }

Credenciais do Amazon Redshift sem servidor

Para usar os modelos de função de alternância fornecidos pelo Secrets Manager, use a estrutura JSON a seguir. É possível adicionar mais pares de chave/valor, por exemplo, para conter informações para réplica de bancos de dados em outras regiões.

{ "engine": "redshift", "host": "<instance host name/resolvable DNS name>", "username": "<username>", "password": "<password>", "dbname": "<database name. If not specified, defaults to None>", "namespaceName": "<optional: namespace name, Required for configuring rotation in the console.> " "port": <optional: TCP port number. If not specified, defaults to 5439> "masterarn": "<optional: ARN of the elevated secret. Required for the Estratégia de alternância: usuários alternados.>" }

Credenciais do Amazon DocumentDB

Para usar os modelos de função de alternância fornecidos pelo Secrets Manager, use a estrutura JSON a seguir. É possível adicionar mais pares de chave/valor, por exemplo, para conter informações para réplica de bancos de dados em outras regiões.

{ "engine": "mongo", "host": "<instance host name/resolvable DNS name>", "username": "<username>", "password": "<password>", "dbname": "<database name. If not specified, defaults to None>", "port": <TCP port number. If not specified, defaults to 27017>, "ssl": <true|false. If not specified, defaults to false>, "masterarn": "<optional: ARN of the elevated secret. Required for the Estratégia de alternância: usuários alternados.>", "dbClusterIdentifier": "<optional: database cluster ID. Alternately, use dbInstanceIdentifier. Required for configuring rotation in the console.>" "dbInstanceIdentifier": "<optional: database instance ID. Alternately, use dbClusterIdentifier. Required for configuring rotation in the console.>" }

Estrutura de segredo do Amazon Timestream para InfluxDB

Para alternar os segredos do Timestream, é possível usar os modelos de alternância Amazon Timestream para InfluxDB.

Para obter mais informações, consulte Como o Amazon Timestream para InfluxDB usa segredos no Guia do desenvolvedor do Amazon Timestream.

Os segredos do Timestream devem estar na estrutura JSON correta para poderem usar os modelos de alternância. Para obter mais informações, consulte O que há no segredo no Guia do desenvolvedor do Amazon Timestream.

Credenciais do Amazon ElastiCache

O exemplo a seguir mostra a estrutura JSON de um segredo que armazena as credenciais do ElastiCache.

{ "password": "<password>", "username": "<username>" "user_arn": "ARN of the Amazon EC2 user" }

Para obter mais informações, consulte Automatically rotating passwords for users (Alternância automática de senhas para usuários) no Guia do usuário do Amazon ElastiCache.

Credenciais do Active Directory

O AWS Directory Service usa segredos para armazenar as credenciais do Active Directory. Para obter mais informações, consulte Associar perfeitamente uma instância Linux do Amazon EC2 ao seu Active Directory AD gerenciado no Guia de administração do AWS Directory Service. A associação perfeita ao domínio requer os nomes de chave nos exemplos a seguir. Se você não usar a associação de domínio perfeita, poderá alterar os nomes das chaves no segredo usando variáveis de ambiente, conforme descrito no código do modelo da função de alternância.

Para alternar segredos do Active Directory, é possível usar os modelos de alternância do Active Directory.

Active Directory credential
{ "awsSeamlessDomainUsername": "<username>", "awsSeamlessDomainPassword": "<password>" }

Se você quiser alternar o segredo, inclua o ID do diretório do domínio.

{ "awsSeamlessDomainDirectoryId": "d-12345abc6e", "awsSeamlessDomainUsername": "<username>", "awsSeamlessDomainPassword": "<password>" }

Se o segredo for usado em conjunto com um segredo que contenha um keytab, você inclui os ARNs do segredo do keytab.

{ "awsSeamlessDomainDirectoryId": "d-12345abc6e", "awsSeamlessDomainUsername": "<username>", "awsSeamlessDomainPassword": "<password>", "directoryServiceSecretVersion": 1, "schemaVersion": "1.0", "keytabArns": [ "<ARN of child keytab secret 1>, "<ARN of child keytab secret 2>, "<ARN of child keytab secret 3>, ], "lastModifiedDateTime": "2021-07-19 17:06:58" }
Active Directory keytab

Para obter informações sobre o uso de arquivos keytab para autenticação de contas do Active Directory no Amazon EC2, consulte Implantação e configuração da autenticação do Active Directory com o SQL Server 2017 no Amazon Linux 2.

{ "awsSeamlessDomainDirectoryId": "d-12345abc6e", "schemaVersion": "1.0", "name": "< name>", "principals": [ "aduser@MY.EXAMPLE.COM", "MSSQLSvc/test:1433@MY.EXAMPLE.COM" ], "keytabContents": "<keytab>", "parentSecretArn": "<ARN of parent secret>", "lastModifiedDateTime": "2021-07-19 17:06:58" "version": 1 }