キーマテリアルをインポートするステップ 1: キーマテリアルなしで AWS KMS key を作成する - AWS Key Management Service

キーマテリアルをインポートするステップ 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: パブリックキーおよびインポートトークンのダウンロード を参照してください。

  1. AWS Management Console にサインインし、AWS Key Management Service (AWS KMS) コンソール (https://console.aws.amazon.com/kms) を開きます。

  2. AWS リージョン を変更するには、ページの右上隅にあるリージョンセレクターを使用します。

  3. ナビゲーションペインで、[Customer managed keys (カスタマー管理型のキー)] を選択します。

  4. [キーの作成] を選択します。

  5. [対称] を選択します。

    キーマテリアルを非対称 KMS キーにインポートすることはできません。

  6. [Key usage] (キーの使用) では、[Encrypt and decrypt] (暗号化および復号化) オプションがすでに選択されています。この設定は変更しないでください。

    キーマテリアルを HMAC KMS キーにインポートすることはできません。

  7. [Advanced options (詳細オプション)] を展開します。

  8. [キーマテリアルのオリジン] に [外部] を選択します。

    カスタムキーストア内の KMS キーにキーマテリアルをインポートすることはできません。

    インポートされたキーマテリアルの使用による影響について理解したことを示すため、[インポートされたキーの使用によるセキュリティ、可用性、および耐久性への影響について理解しています] の隣にあるチェックボックスをオンにします。これらの意味については、「インポートしたキーマテリアルについて」を参照してください。

  9. デフォルトで、この手順は選択されたリージョンに KMS キーを作成します。

    キーマテリアルを持たないマルチリージョンのプライマリキーを作成するには、[Regionality] (リージョナリティ) セクションで [Multi-Region key] (マルチリージョンキー) を選択します。詳細については、「キーマテリアルをマルチリージョンキーにインポートする」を参照してください。

  10. [Next] を選択します。

  11. エイリアスと KMS キーの説明 (オプション) を入力します。

    [Next] を選択します。

  12. (オプション)。[Add tags] (タグの追加) ページで、KMS キーを識別または分類するタグを追加します。

    [Next] を選択します。

  13. [Key administrators] (キー管理者) セクションで、KMS キーを管理できる IAM ユーザーとロールを選択します。詳細については、「KMS キーの管理をキー管理者に許可する」を参照してください。

    注記

    IAM ポリシーでは、他の IAM ユーザーおよびロールに、KMS キーを管理するアクセス許可を付与できます。

  14. (オプション) 選択した IAM ユーザーとロールがこの KMS キーを削除しないようにするには、ページの下部にある [Key deletion] (キーの削除) セクションで、[Allow key administrators to delete this key] (キー管理者にこのキーの削除を許可する) のチェックボックスをオフにします。

    [Next] を選択します。

  15. [This account] (このアカウント) のセクションで、KMS キーを暗号化オペレーションで使用できる AWS アカウント の IAM ユーザーとロールを選択します。詳細については、「KMS キーの使用をキーユーザーに許可する」を参照してください。

    注記

    IAM ポリシーでは、KMS キーを使用するアクセス許可を他の IAM ユーザーおよびロールに付与できます。

  16. (オプション) 他の AWS アカウント が暗号化オペレーションにこの KMS キーを使用できるようにします。これを行うには、ページの下部にある [Other AWS アカウント] セクションで、[Add another AWS アカウント] を選択し、外部アカウントの AWS アカウント ID を入力します。複数の外部アカウントを追加するには、この手順を繰り返します。

    注記

    外部アカウントでプリンシパルが KMS キーを使用できるようにするには、外部アカウントの管理者が、これらのアクセス許可を付与する IAM ポリシーを作成する必要があります。詳細については、「他のアカウントのユーザーに KMS キーの使用を許可する」を参照してください。

    [Next] を選択します。

  17. 選択したキー設定を確認します。戻って、すべての設定を変更することもできます。

  18. 終了したら、[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 キーの OriginEXTERNAL、その KeyStatePendingImport です。

{ "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: パブリックキーおよびインポートトークンのダウンロード」に進みます。