JSONstructure de AWS Secrets Manager secrets - AWS Secrets Manager

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

JSONstructure de AWS Secrets Manager secrets

Vous pouvez stocker n'importe quel texte ou binaire dans un secret de Secrets Manager jusqu'à une taille maximale de 65 536 octets.

Si vous l'utilisezRotation par fonction Lambda, un secret doit contenir des JSON champs spécifiques attendus par la fonction de rotation. Par exemple, pour un secret contenant des informations d'identification de base de données, la fonction de rotation se connecte à la base de données pour mettre à jour les informations d'identification. Le secret doit donc contenir les informations de connexion à la base de données.

Si vous utilisez la console pour modifier la rotation d'un secret de base de données, celui-ci doit contenir des paires JSON clé-valeur spécifiques identifiant la base de données. Secrets Manager utilise ces champs pour interroger la base de données afin de trouver la bonne VPC option pour stocker une fonction de rotation.

JSONles noms de clés distinguent les majuscules et minuscules.

Informations d'identification Amazon RDS et Aurora

Pour utiliser les modèles de fonctions de rotation fournis par Secrets Manager, utilisez la JSON structure suivante. Vous pouvez ajouter d'autres paires clé/valeur, par exemple pour contenir des informations de connexion pour les répliques de bases de données dans d'autres régions.

DB2

Pour les instances Amazon RDS Db2, étant donné que les utilisateurs ne peuvent pas modifier leurs propres mots de passe, vous devez fournir des informations d'identification d'administrateur dans un secret distinct.

{ "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 Stratégie de rotation : utilisateurs en alternance.>", "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 Stratégie de rotation : utilisateurs en alternance.>", "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 Stratégie de rotation : utilisateurs en alternance.>", "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 Stratégie de rotation : utilisateurs en alternance.>", "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 Stratégie de rotation : utilisateurs en alternance.>", "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.>" }

Informations d'identification Amazon Redshift

Pour utiliser les modèles de fonctions de rotation fournis par Secrets Manager, utilisez la JSON structure suivante. Vous pouvez ajouter d'autres paires clé/valeur, par exemple pour contenir des informations de connexion pour les répliques de bases de données dans d'autres régions.

{ "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 Stratégie de rotation : utilisateurs en alternance.>" }

Informations d'identification Amazon Redshift Serverless

Pour utiliser les modèles de fonctions de rotation fournis par Secrets Manager, utilisez la JSON structure suivante. Vous pouvez ajouter d'autres paires clé/valeur, par exemple pour contenir des informations de connexion pour les répliques de bases de données dans d'autres régions.

{ "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 Stratégie de rotation : utilisateurs en alternance.>" }

Informations d'identification Amazon DocumentDB

Pour utiliser les modèles de fonctions de rotation fournis par Secrets Manager, utilisez la JSON structure suivante. Vous pouvez ajouter d'autres paires clé/valeur, par exemple pour contenir des informations de connexion pour les répliques de bases de données dans d'autres régions.

{ "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 Stratégie de rotation : utilisateurs en alternance.>", "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.>" }

Structure secrète d'Amazon Timestream pour InfluxDB

Pour faire pivoter les secrets de Timestream, vous pouvez utiliser les modèles de Amazon Timestream pour InfluxDB rotation.

Pour plus d'informations, consultez Comment Amazon Timestream pour InfluxDB utilise les secrets dans le manuel du développeur Amazon Timestream.

Les secrets Timestream doivent avoir la bonne JSON structure pour pouvoir utiliser les modèles de rotation. Pour plus d'informations, consultez What's in the secret du manuel Amazon Timestream Developer Guide.

ElastiCache Informations d'identification Amazon

L'exemple suivant montre la JSON structure d'un secret qui stocke les ElastiCache informations d'identification.

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

Pour plus d'informations, consultez Rotation automatique des mots de passe pour les utilisateurs dans le guide de ElastiCache l'utilisateur Amazon.

Informations d'identification Active Directory

AWS Directory Service utilise des secrets pour stocker les informations d'identification Active Directory. Pour plus d'informations, consultez Joindre de manière fluide une instance Amazon EC2 Linux à votre annuaire Active Directory géré dans AWS Directory Service Guide d'administration. Une jointure de domaine fluide nécessite les noms de clé présentés dans les exemples suivants. Si vous n'utilisez pas une jointure de domaine fluide, vous pouvez modifier le nom des clés du secret à l'aide de variables d'environnement, comme décrit dans le code du modèle de fonction de rotation.

Pour faire pivoter les secrets Active Directory, vous pouvez utiliser les modèles de rotation Active Directory.

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

Si vous souhaitez faire pivoter le secret, vous devez inclure l'ID du répertoire de domaines.

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

Si le secret est utilisé conjointement avec un secret contenant un keytab, vous incluez le secret keytab. ARNs

{ "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

Pour plus d'informations sur l'utilisation de fichiers keytab pour s'authentifier auprès de comptes Active Directory sur AmazonEC2, consultez Déploiement et configuration de l'authentification Active Directory avec SQL Server 2017 sur 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 }