メニュー
AWS Key Management Service
開発者ガイド

キーの使用

このトピックの例では、AWS KMSAPI を使用して AWS KMS カスタマーマスターキーを作成、表示、有効化、無効化し、データキーを生成します。

カスタマーマスターキーの作成

カスタマーマスターキーを作成するには、CreateKey オペレーションを使用します。

この例では、「クライアントの作成」で作成された kmsClient クライアントオブジェクトを使用します。

JavaC#
Java

詳細については、『AWS SDK for Java API Reference』の「createKey メソッド」を参照してください。

// Create a CMK // String desc = "Key for protecting critical data"; CreateKeyRequest req = new CreateKeyRequest().withDescription(desc); CreateKeyResult result = kmsClient.createKey(req);
C#

詳細については、AWS SDK for .NET の「CreateKey メソッド」を参照してください。

// Create a CMK // String desc = "Key for protecting critical data"; CreateKeyRequest req = new CreateKeyRequest() { Description = desc }; CreateKeyResponse response = kmsClient.CreateKey(req);

データキーの生成

データキーを生成するには、GenerateDataKey オペレーションを使用します。このオペレーションでは、作成されるデータキーのプレーンテキストおよび暗号化されたコピーが返されます。

この例では、「クライアントの作成」で作成された kmsClient クライアントオブジェクトを使用します。

JavaC#
Java

詳細については、『AWS SDK for Java API Reference』の「generateDataKey メソッド」を参照してください。

// Generate a data key // String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; GenerateDataKeyRequest dataKeyRequest = new GenerateDataKeyRequest(); dataKeyRequest.setKeyId(keyId); dataKeyRequest.setKeySpec("AES_128"); GenerateDataKeyResult dataKeyResult = kmsClient.generateDataKey(dataKeyRequest); ByteBuffer plaintextKey = dataKeyResult.getPlaintext(); ByteBuffer encryptedKey = dataKeyResult.getCiphertextBlob();
C#

詳細については、AWS SDK for .NET の「GenerateDataKey メソッド」を参照してください。

// Generate a data key // String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; GenerateDataKeyRequest dataKeyRequest = new GenerateDataKeyRequest() { KeyId = keyId, KeySpec = DataKeySpec.AES_128 }; GenerateDataKeyResponse dataKeyResponse = kmsClient.GenerateDataKey(dataKeyRequest); MemoryStream plaintextKey = dataKeyResponse.Plaintext; MemoryStream encryptedKey = dataKeyResponse.CiphertextBlob;

カスタマーマスターキーの表示

CMK ARN およびキーの状態を含むカスタマーマスターキー (CMK) についての詳細を取得するには、DescribeKey オペレーションを使用します。

DescribeKey でエイリアスは取得されません。エイリアスを取得するには、ListAliases オペレーションを使用します。

この例では、「クライアントの作成」で作成された kmsClient クライアントオブジェクトを使用します。

JavaC#
Java

詳細については、『AWS SDK for Java API Reference』の「describeKey メソッド」を参照してください。

// Describe a CMK // // Replace the fictitious key ARN with a valid one. String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; DescribeKeyRequest req = new DescribeKeyRequest().withKeyId(keyId); DescribeKeyResult result = kmsClient.describeKey(req);
C#

詳細については、AWS SDK for .NET の「DescribeKey メソッド」を参照してください。

// Describe a CMK // // Replace the fictitious key ARN with a valid one. String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; DescribeKeyRequest describeKeyRequest = new DescribeKeyRequest() { KeyId = keyId }; DescribeKeyResponse describeKeyResponse = kmsClient.DescribeKey(describeKeyRequest);

カスタマーマスターキーのキー ID およびキー ARN の取得

カスタマーマスターキーの ID および ARN を取得するには、ListKeys オペレーションを使用します。

この例では、「クライアントの作成」で作成された kmsClient クライアントオブジェクトを使用します。

JavaC#
Java

詳細については、『AWS SDK for Java API Reference』の「listKeys メソッド」を参照してください。

// List CMKs in this account // Integer limit = 10; String marker = null; ListKeysRequest req = new ListKeysRequest().withMarker(marker).withLimit(limit); ListKeysResult result = kmsClient.listKeys(req);
C#

詳細については、AWS SDK for .NET の「ListKeys メソッド」を参照してください。

// List CMKs in this account // int limit = 10; String marker = null; ListKeysRequest listKeysRequest = new ListKeysRequest() { Marker = marker, Limit = limit }; ListKeysResponse listKeysResponse = kmsClient.ListKeys(listKeysRequest);

カスタマーマスターキーの有効化

無効化されたカスタマーマスターキー (CMK) を有効化するには、EnableKey オペレーションを使用します。

この例では、「クライアントの作成」で作成された kmsClient クライアントオブジェクトを使用します。

JavaC#
Java

Java の実装の詳細については、AWS SDK for Java API Referenceの「enableKey メソッド」を参照してください。

// Enable a CMK // String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; EnableKeyRequest req = new EnableKeyRequest().withKeyId(keyId); kmsClient.enableKey(req);
C#

詳細については、AWS SDK for .NET の「EnableKey メソッド」を参照してください。

// Enable a CMK // String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; EnableKeyRequest enableKeyRequest = new EnableKeyRequest() { KeyId = keyId }; kmsClient.EnableKey(enableKeyRequest);

カスタマーマスターキーの無効化

CMK を無効にするには、DisableKey オペレーションを使用します。CMK を無効にすると、使用されなくなります。

この例では、「クライアントの作成」で作成された kmsClient クライアントオブジェクトを使用します。

JavaC#
Java

詳細については、『AWS SDK for Java API Reference』の「disableKey メソッド」を参照してください。

// Disable a CMK // String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; DisableKeyRequest req = new DisableKeyRequest().withKeyId(keyId); kmsClient.disableKey(req);
C#

詳細については、AWS SDK for .NETDisableKey メソッドを参照してください。

// Disable a CMK // String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; DisableKeyRequest disableKeyRequest = new DisableKeyRequest() { KeyId = keyId }; kmsClient.DisableKey(disableKeyRequest);