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

キーマテリアルのインポート ステップ 1: キーマテリアルなしで AWS KMS カスタマーマスターキー (CMK) を作成する

デフォルトでは、カスタマーマスターキー (CMK) の作成時に AWS KMS はキーマテリアルを作成します。独自のキーマテリアルをインポートする代わりに、最初にキーデータなしで CMK を作成します。CMK のオリジンで、この 2 つのタイプの CMK を区別します。AWS KMS がキーマテリアルを作成する場合、CMK のオリジンは AWS_KMS です。キーデータなしで CMK を作成する場合、CMK のオリジンは、キーマテリアルが AWS KMS 外で生成されたことを示す EXTERNAL です。

キーデータなしの CMK は [インポートの保留中] の状態で、使用することはできません。これを使用するには、後で説明するとおり、キーマテリアルをインポートする必要があります。CMK にキーマテリアルをインポートする場合、CMK のキーステータスが [有効] に変わります。有効なキーステータスの詳細については、「キー状態: CMK への影響」を参照してください。

AWS マネジメントコンソール または AWS KMS API を使用して、キーデータなしで CMK を作成します。HTTP リクエストを作成することにより、または、AWS SDKコマンドラインツールのいずれかを通して、API を直接使用することができます。

キーマテリアルなしで CMK を作成する (コンソール)

AWS マネジメントコンソール を使用して、キーデータなしで CMK を作成します。これを行う前に、CMK のリストの [オリジン] 列を表示するようコンソールを設定できます。インポートされたキーには、[外部] の [オリジン] の値が付加されます。

インポートされたキーマテリアルの CMK を 1 度だけ作成する必要があります。既存の CMK に同じキーマテリアルをインポートする場合は、「ステップ 2: パブリックキーおよびインポートトークンのダウンロード」を参照してください。

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

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

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

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

  5. [対称] を選択します。キーマテリアルを非対称 CMK に読み込むことはできません。

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

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

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

    [Next] を選択します。

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

    [Next] を選択します。

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

    [次へ] を選択します。

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

    注記

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

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

    [次へ] を選択します。

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

    注記

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

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

    注記

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

    [次へ] を選択します。

  14. [Review and edit key policy (キーポリシーの表示と編集)] ページで、新しい CMK のポリシードキュメントを確認して編集します。完了したら、[完了] を選択します。

    オペレーションが成功すると、キーマテリアルなしで CMK が作成されます。ステータスは [インポート保留中] となっています。 今すぐプロセスを続行する場合は、「パブリックキーとインポートトークンのダウンロード (コンソール)」を参照してください。後でプロセスを続行する場合は、[キャンセル] を選択します。

次の手順: ステップ 2: パブリックキーおよびインポートトークンのダウンロード

キーマテリアルなしで CMK を作成する (AWS KMS API)

キーデータなしで対称 CMK を作成するために AWS KMS API を使用するには、Origin パラメータを EXTERNAL に設定して、CreateKey リクエストを送信します。次の例では、AWS Command Line Interface (AWS CLI) を使用してこの操作を行う方法を示します。

$ aws kms create-key --origin EXTERNAL

コマンドが成功した場合は、以下のような出力が表示されます。CMK の OriginEXTERNAL で、KeyStatePendingImport です。

{ "KeyMetadata": { "Origin": "EXTERNAL", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Description": "", "Enabled": 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", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }

後のステップで使用するために、コマンド出力から CMK のキー ID をコピーして、ステップ 2: パブリックキーおよびインポートトークンのダウンロード に進みます。