パブリックキーのダウンロード - AWS Key Management Service

パブリックキーのダウンロード

AWS Management Console または AWS KMS API を使用して、非対称 KMS キーペアから公開キーを表示、コピー、ダウンロードできます。非対称 KMS キーに対する kms:GetPublicKey アクセス許可が必要です。

各非対称 KMS キーペアは、AWS KMS を暗号化されないままにしないプライベートキーと、ダウンロードして共有できる公開キーで構成されます。

パブリックキーを共有して、プライベートキーでのみ復号できる AWS KMS 外部のデータを他のユーザーが暗号化できるようにすることもできます。または、プライベートキーを使用して生成した AWS KMS の外部にあるデジタル署名を他のユーザーが確認できるようにすることができます。

AWS KMS 内の非対称 KMS キーで公開キーを使用すると、すべての AWS KMS オペレーションの一部である認証、認可、ロギングの利点を得ることができます。また、復号できないデータを暗号化するリスクも軽減します。これらの機能は、AWS KMS の外部では有効ではありません。詳細については、「パブリックキーのダウンロードに関する特別な考慮事項」を参照してください。

ヒント

データキーまたは SSH キーをお探しですか。このトピックでは、AWS Key Management Service で非対称キーを管理する方法を説明しており、プライベートキーをエクスポートすることはできません。プライベートキーが対称暗号化 KMS キーで保護されているエクスポート可能なデータキーペアについては、「GenerateDataKeyPair」を参照してください。Amazon EC2 インスタンスに関連付けられたパブリックキーのダウンロード方法については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」および「Windows インスタンス用 Amazon EC2 ユーザーガイド」の「パブリックキーの取得」を参照してください。

パブリックキーのダウンロードに関する特別な考慮事項

KMS キーを保護するために、AWS KMS は、アクセス制御、認証された暗号化、すべてのオペレーションの詳細なログを提供します。AWS KMS は、KMS キーの使用を一時的または永続的に阻止することもできます。最後に、AWS KMS オペレーションは、復号できないデータを暗号化するリスクを最小限に抑えるように設計されています。これらの機能は、ダウンロードしたパブリックキーを AWS KMS の外部で使用する場合には使用できません。

承認

AWS KMS 内の KMS キーへのアクセスを制御するキーポリシーおよび IAM ポリシーは、AWS の外部で実行されるオペレーションには影響しません。公開キーを取得できるユーザーは、KMS キーで、データを暗号化、または署名を検証する許可がない場合でも、AWS KMS の外部で公開キーを使用できます。

キー使用法の制限

キー使用法の制限は、AWS KMS の外部では有効ではありません。SIGN_VERIFYKeyUsage を持つ KMS キーで Encrypt オペレーションを呼び出すと、AWS KMS オペレーションは失敗します。ただし、SIGN_VERIFYKeyUsage で、KMS キーから公開キーを使用して AWS KMS の外部のデータを暗号化する場合、データを復号することはできません。

アルゴリズムの制限

AWS KMS がサポートする暗号化および署名アルゴリズムの制限は、AWS KMS の外部では有効ではありません。AWS KMS の外部の KMS キーからの公開キーを使用してデータを暗号化し、AWS KMS がサポートしていない暗号化アルゴリズムを使用すると、データを復号できません。

KMS キーの無効化と削除

AWS KMS 内の暗号化オペレーションで KMS キーの使用を阻止するために実行できるアクションは、AWS KMS の外部で公開キーを使用することを妨げません。例えば、KMS キーの無効化、KMS キーの削除のスケジューリング、KMS キーの削除、KMS キーからのキーマテリアルの削除は、AWS KMS の外部の公開キーには影響しません。非対称 KMS キーを削除、またはそのキーマテリアルを削除したり紛失したりすると、AWS KMS の外部にある公開キーで暗号化したデータを回復できなくなります。

ログ記録

リクエスト、レスポンス、日付、時刻、許可されたユーザーなど、すべての AWS CloudTrail オペレーションを記録する AWS KMS ログには、AWS KMS の外でのパブリックキーの使用は記録されません。

公開キーをダウンロードする (コンソール)

AWS Management Console を使用して、AWS アカウント アカウントの非対称 KMS キーから公開キーを表示、コピー、ダウンロードできます。別の AWS アカウント で非対称 KMS キーから公開キーをダウンロードするには、AWS KMS API を使用します。

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

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

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

  4. 非対称 KMS キーのエイリアスまたはキー ID を選択します。

  5. [ 暗号構成 ] タブを選択します。キー仕様キーの使用方法暗号化アルゴリズム、または署名アルゴリズムフィールドの値を記録します。AWS KMS の外部でパブリックキーを使用するには、これらの値を使用する必要があります。パブリックキーを共有するときは、必ずこの情報を共有してください。

  6. [パブリックキー] タブを選択します。

  7. パブリックキーをクリップボードにコピーするには、[コピー] を選択します。パブリックキーをファイルにダウンロードするには、[ダウンロード] を選択します。

公開キーをダウンロードする (AWS KMS API)

GetPublicKey オペレーションは、非対称 KMS キーで公開キーを返します。また、キーの使用方法や暗号化アルゴリズムなど、AWS KMS の外部でパブリックキーを正しく使用するために必要な重要な情報も返されます。これらの値を保存し、パブリックキーを共有する場合は必ず共有してください。

このセクションの例では AWS Command Line Interface (AWS CLI) を使用しますが、サポートされている任意のプログラミング言語を使用することができます。

KMS キーを指定するには、そのキー IDキー ARNエイリアス名エイリアス ARN を使用します。エイリアス名を使用する場合は、接頭辞として alias/ を付けます。別の AWS アカウント で KMS キーを指定するには、そのキー ARN またはエイリアス ARN を使用する必要があります。

このコマンドを実行する前に、サンプルのエイリアス名を KMS キーの有効な識別子に置き換えます。このコマンドを実行するには、KMS キーに対する kms:GetPublicKey アクセス許可が必要です。

$ aws kms get-public-key --key-id alias/example_RSA_3072 { "KeySpec": "RSA_3072", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "KeyUsage": "ENCRYPT_DECRYPT", "EncryptionAlgorithms": [ "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256" ], "PublicKey": "MIIBojANBgkqhkiG..." }