Ceci est le guide du développeur du AWS CDK v2. L'ancien CDK v1 est entré en maintenance le 1er juin 2022 et a pris fin le 1er juin 2023.
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.
Tirez parti de AWS Secrets Manager
Pour utiliser les valeurs de AWS Secrets Manager dans votre application AWS CDK, utilisez la fromSecretAttributes()
méthode. Il représente une valeur extraite de Secrets Manager et utilisée au moment du AWS CloudFormation déploiement. Voici un exemple :
- TypeScript
-
import * as sm from "aws-cdk-lib/aws-secretsmanager";
export class SecretsManagerStack extends cdk.Stack {
constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const secret = sm.Secret.fromSecretAttributes(this, "ImportedSecret", {
secretCompleteArn:
"arn:aws:secretsmanager:<region>:<account-id-number>:secret:<secret-name>-<random-6-characters>"
// If the secret is encrypted using a KMS-hosted CMK, either import or reference that key:
// encryptionKey: ...
}
);
}
}
- JavaScript
-
const sm = require("aws-cdk-lib/aws-secretsmanager");
class SecretsManagerStack extends cdk.Stack {
constructor(scope, id, props) {
super(scope, id, props);
const secret = sm.Secret.fromSecretAttributes(this, "ImportedSecret", {
secretCompleteArn:
"arn:aws:secretsmanager:<region>:<account-id-number>:secret:<secret-name>-<random-6-characters>"
// If the secret is encrypted using a KMS-hosted CMK, either import or reference that key:
// encryptionKey: ...
});
}
}
module.exports = { SecretsManagerStack }
- Python
-
import aws_cdk.aws_secretsmanager as sm
class SecretsManagerStack(cdk.Stack):
def __init__(self, scope: cdk.App, id: str, **kwargs):
super().__init__(scope, name, **kwargs)
secret = sm.Secret.from_secret_attributes(self, "ImportedSecret",
secret_complete_arn="arn:aws:secretsmanager:<region>:<account-id-number>:secret:<secret-name>-<random-6-characters>",
# If the secret is encrypted using a KMS-hosted CMK, either import or reference that key:
# encryption_key=....
)
- Java
-
import software.amazon.awscdk.services.secretsmanager.Secret;
import software.amazon.awscdk.services.secretsmanager.SecretAttributes;
public class SecretsManagerStack extends Stack {
public SecretsManagerStack(App scope, String id) {
this(scope, id, null);
}
public SecretsManagerStack(App scope, String id, StackProps props) {
super(scope, id, props);
Secret secret = (Secret)Secret.fromSecretAttributes(this, "ImportedSecret", SecretAttributes.builder()
.secretCompleteArn("arn:aws:secretsmanager:<region>:<account-id-number>:secret:<secret-name>-<random-6-characters>")
// If the secret is encrypted using a KMS-hosted CMK, either import or reference that key:
// .encryptionKey(...)
.build());
}
}
- C#
-
using Amazon.CDK.AWS.SecretsManager;
public class SecretsManagerStack : Stack
{
public SecretsManagerStack(App scope, string id, StackProps props) : base(scope, id, props) {
var secret = Secret.FromSecretAttributes(this, "ImportedSecret", new SecretAttributes {
SecretCompleteArn = "arn:aws:secretsmanager:<region>:<account-id-number>:secret:<secret-name>-<random-6-characters>"
// If the secret is encrypted using a KMS-hosted CMK, either import or reference that key:
// encryptionKey = ...,
});
}
}
Utilisez la commande AWS create-secret
CLI pour créer un secret à partir de la ligne de commande, par exemple lors de tests :
aws secretsmanager create-secret --name ImportedSecret --secret-string mygroovybucket
La commande renvoie un ARN que vous pouvez utiliser avec l'exemple précédent.
Une fois que vous avez créé une Secret
instance, vous pouvez obtenir la valeur du secret à partir de l'secretValue
attribut de l'instance. La valeur est représentée par une SecretValue
instance, un type spécial de jetons et le AWS CDK. Parce que c'est un jeton, cela n'a de sens qu'après résolution. Votre application CDK n'a pas besoin d'accéder à sa valeur réelle. Au lieu de cela, l'application peut transmettre l'SecretValue
instance (ou sa chaîne ou sa représentation numérique) à la méthode CDK qui a besoin de la valeur.