Esta es la guía para AWS CDK desarrolladores de la versión 2. La CDK versión anterior entró en mantenimiento el 1 de junio de 2022 y finalizó el soporte el 1 de junio de 2023.
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Obtenga un valor de AWS Secrets Manager
Para usar los valores AWS Secrets Manager de tu AWS CDK aplicación, usa el método fromSecretAttributes(). Representa un valor que se recupera de Secrets Manager y se utiliza en el momento de la AWS CloudFormation implementación. A continuación, se muestra un ejemplo:
- 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 = ...,
});
}
Utilice el comando AWS CLI CLI create-secret para crear un secreto desde la línea de comandos, por ejemplo, al probar:
aws secretsmanager create-secret --name ImportedSecret --secret-string mygroovybucket
El comando devuelve un ARN que puede utilizar en el ejemplo anterior.
Una vez que haya creado una Secret
instancia, puede obtener el valor del secreto a partir del secretValue
atributo de la instancia. El valor se representa mediante una SecretValue
instancia, un tipo especial deLos tokens y el AWS CDK. Como es un símbolo, solo tiene significado después de la resolución. Tu aplicación CDK no necesita acceder a su valor real. En su lugar, la aplicación puede pasar la SecretValue
instancia (o su cadena o representación numérica) al método CDK que necesite el valor.