キーマテリアルをインポートするステップ 1: キーマテリアルなしで AWS KMS key を作成する
デフォルトでは、AWS KMS key の作成時に AWS KMS がキーマテリアルを作成します。代わりに独自のキーマテリアルをインポートするには、最初にキーマテリアルなしで KMS キーを作成します。そして、キーマテリアルをインポートします。キーマテリアルなしで KMS キーを作成するには、AWS Management Console または CreateKey オペレーションを使用します。
キーマテリアルなしでキーを作成するには、SYMMETRIC_DEFAULT
のキースペック (デフォルト値) と EXTERNAL
のオリジンを指定します。KMS キーのキースペックとオリジンは不変の値です。いったん作成すると、インポートしたキーマテリアル用に設計された KMS キーを、AWS KMS または他のソースからキーマテリアルを含む KMS キーに変換することはできません。
EXTERNAL
オリジンを持つ KMS キーのキーステータスであり、PendingImport
であるキーマテリアルはありません。KMS キーは、無期限に PendingImport
状態を維持できます。ただし、暗号化オペレーションの PendingImport
状態で KMS キーを使用することはできません。キーマテリアルをインポートすると、KMS キーのキー状態が有効に変わり、暗号化オペレーションで使用できるようになります。
AWS KMS は、KMS キーの作成、公開キーのダウンロード、トークンのインポート、キーマテリアルのインポートをする際に、AWS CloudTrail ログにエントリを記録します。AWS KMS も、インポートされたキーマテリアルの削除または AWS KMS が有効期限切れのキーマテリアルの削除をする際にエントリを記録します。
インポートしたキーマテリアルでマルチリージョンキーを作成する方法の詳細については、キーマテリアルをマルチリージョンキーにインポートする を参照してください。
キーマテリアルなしで KMS キーを作成する (コンソール)
キーマテリアルを持たない対称暗号化 KMS キーを作成するには、AWS Management Consoleを使用することができます。これを行う前にコンソールを設定して、KMS キーのリストで [Origin] (オリジン) 列を表示することができます。インポートされたキーには、[External] (外部) の [Origin] (オリジン) 値が含まれます。
インポートされたキーマテリアルの KMS キーを 1 度だけ作成する必要があります。既存の KMS キーに同じキーマテリアルをインポートするには、ステップ 2: パブリックキーおよびインポートトークンのダウンロード を参照してください。
-
AWS Management Console にサインインし、AWS Key Management Service (AWS KMS) コンソール (https://console.aws.amazon.com/kms
) を開きます。 -
AWS リージョン を変更するには、ページの右上隅にあるリージョンセレクターを使用します。
-
ナビゲーションペインで、[Customer managed keys (カスタマー管理型のキー)] を選択します。
-
[キーの作成] を選択します。
-
[対称] を選択します。
キーマテリアルを非対称 KMS キーにインポートすることはできません。
-
[Key usage] (キーの使用) では、[Encrypt and decrypt] (暗号化および復号化) オプションがすでに選択されています。この設定は変更しないでください。
キーマテリアルを HMAC KMS キーにインポートすることはできません。
-
[Advanced options (詳細オプション)] を展開します。
-
[キーマテリアルのオリジン] に [外部] を選択します。
カスタムキーストア内の KMS キーにキーマテリアルをインポートすることはできません。
インポートされたキーマテリアルの使用による影響について理解したことを示すため、[インポートされたキーの使用によるセキュリティ、可用性、および耐久性への影響について理解しています] の隣にあるチェックボックスをオンにします。これらの意味については、「インポートしたキーマテリアルについて」を参照してください。
-
デフォルトで、この手順は選択されたリージョンに KMS キーを作成します。
キーマテリアルを持たないマルチリージョンのプライマリキーを作成するには、[Regionality] (リージョナリティ) セクションで [Multi-Region key] (マルチリージョンキー) を選択します。詳細については、「キーマテリアルをマルチリージョンキーにインポートする」を参照してください。
[Next] を選択します。
-
エイリアスと KMS キーの説明 (オプション) を入力します。
[Next] を選択します。
-
(オプション)。[Add tags] (タグの追加) ページで、KMS キーを識別または分類するタグを追加します。
[Next] を選択します。
-
[Key administrators] (キー管理者) セクションで、KMS キーを管理できる IAM ユーザーとロールを選択します。詳細については、「KMS キーの管理をキー管理者に許可する」を参照してください。
注記 IAM ポリシーでは、他の IAM ユーザーおよびロールに、KMS キーを管理するアクセス許可を付与できます。
-
(オプション) 選択した IAM ユーザーとロールがこの KMS キーを削除しないようにするには、ページの下部にある [Key deletion] (キーの削除) セクションで、[Allow key administrators to delete this key] (キー管理者にこのキーの削除を許可する) のチェックボックスをオフにします。
[Next] を選択します。
-
[This account] (このアカウント) のセクションで、KMS キーを暗号化オペレーションで使用できる AWS アカウント の IAM ユーザーとロールを選択します。詳細については、「KMS キーの使用をキーユーザーに許可する」を参照してください。
注記 IAM ポリシーでは、KMS キーを使用するアクセス許可を他の IAM ユーザーおよびロールに付与できます。
-
(オプション) 他の AWS アカウント が暗号化オペレーションにこの KMS キーを使用できるようにします。これを行うには、ページの下部にある [Other AWS アカウント] セクションで、[Add another AWS アカウント] を選択し、外部アカウントの AWS アカウント ID を入力します。複数の外部アカウントを追加するには、この手順を繰り返します。
注記 外部アカウントでプリンシパルが KMS キーを使用できるようにするには、外部アカウントの管理者が、これらのアクセス許可を付与する IAM ポリシーを作成する必要があります。詳細については、「他のアカウントのユーザーに KMS キーの使用を許可する」を参照してください。
[Next] を選択します。
-
選択したキー設定を確認します。戻って、すべての設定を変更することもできます。
-
終了したら、[Finish] (完了) を選択し、キーを作成します。
オペレーションが成功すると、キーマテリアルなしで KMS キー が作成されます。ステータスは [インポート保留中] となっています。今すぐプロセスを続行する場合は、「公開鍵とインポートトークンのダウンロード(コンソール)」を参照してください。後でプロセスを続行する場合は、[キャンセル] を選択します。
次の手順: ステップ 2: パブリックキーおよびインポートトークンのダウンロード
キーマテリアルなしで KMS キーを作成する (AWS KMS API)
AWS KMS API を使用してキーマテリアルを持たない対称暗号化 KMS キーを作成するには、Origin
パラメータが EXTERNAL
に設定された CreateKey リクエストを送信します。次の例では、AWS Command Line Interface (AWS CLI)
$
aws kms create-key --origin EXTERNAL
コマンドが成功した場合は、以下のような出力が表示されます。AWS KMS キーの Origin
は EXTERNAL
、その KeyState
は PendingImport
です。
{ "KeyMetadata": { "Origin": "EXTERNAL", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Description": "", "Enabled": false, "MultiRegion": false, "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "PendingImport", "CreationDate": 1568289600.0, "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }
後のステップで使用するために、コマンド出力からの KeyId
値をコピーしてから、「ステップ 2: パブリックキーおよびインポートトークンのダウンロード」に進みます。