All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awscdk.services.kms.package-info Maven / Gradle / Ivy

/**
 * 

AWS Key Management Service Construct Library

* *
*

Stability: Stable

*
* *

Define a KMS key:

*
import kms = require('@aws-cdk/aws-kms');
 * 
 * new kms.Key(this, 'MyKey', {
 *     enableKeyRotation: true
 * });
 * 
*

Add a couple of aliases:

*
const key = new kms.Key(this, 'MyKey');
 * key.addAlias('alias/foo');
 * key.addAlias('alias/bar');
 * 
*

Sharing keys between stacks

*

To use a KMS key in a different stack in the same CDK application, * pass the construct to the other stack:

*

 * /**
 *  * Stack that defines the key
 *  *{@literal /}
 * class KeyStack extends cdk.Stack {
 *   public readonly key: kms.Key;
 * 
 *   constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
 *     super(scope, id, props);
 *     this.key = new kms.Key(this, 'MyKey', { removalPolicy: RemovalPolicy.DESTROY });
 *   }
 * }
 * 
 * interface UseStackProps extends cdk.StackProps {
 *   key: kms.IKey; // Use IKey here
 * }
 * 
 * /**
 *  * Stack that uses the key
 *  *{@literal /}
 * class UseStack extends cdk.Stack {
 *   constructor(scope: cdk.App, id: string, props: UseStackProps) {
 *     super(scope, id, props);
 * 
 *     // Use the IKey object here.
 *     props.key.addAlias('alias/foo');
 *   }
 * }
 * 
 * const keyStack = new KeyStack(app, 'KeyStack');
 * new UseStack(app, 'UseStack', { key: keyStack.key });
 * 
*

Importing existing keys

*

To use a KMS key that is not defined in this CDK app, but is created through other means, use * Key.fromKeyArn(parent, name, ref):

*
const myKeyImported = kms.Key.fromKeyArn(this, 'MyImportedKey', 'arn:aws:...');
 * 
 * // you can do stuff with this imported key.
 * myKeyImported.addAlias('alias/foo');
 * 
*

Note that a call to .addToPolicy(statement) on myKeyImported will not have * an affect on the key's policy because it is not owned by your stack. The call * will be a no-op.

* */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) package software.amazon.awscdk.services.kms;




© 2015 - 2025 Weber Informatics LLC | Privacy Policy