翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS KMS 概念
で使用される基本的な用語と概念について説明します。 AWS Key Management Service (AWS KMS) とそれらがどのように連携してデータを保護するか。
トピック
AWS KMS keys
AWS KMS keys (KMS キー) は、 のプライマリリソースです。 AWS KMS。 KMS キーを使用して、データを暗号化、復号、再暗号化できます。また、 の外部で使用できるデータキーを生成することもできます。 AWS KMS。 通常、対称暗号化KMSキー を使用しますが、暗号化または署名に非対称KMSキーを作成して使用したり、HMACKMSキーを作成して使用してHMACタグを生成および検証したりできます。
注記
AWS KMS は、カスタマーマスターキー (CMK) という用語を に置き換えています。 AWS KMS key およびKMSキー 。この概念に変更はありません。重大な変更を防ぐため、 AWS KMS では、この用語のバリエーションがいくつか残されています。
AWS KMS key は、暗号化キーの論理表現です。KMS キーには、キー ID、キー仕様 、キーの使用方法 、作成日、説明、キーの状態 などのメタデータが含まれます。最も重要なのは、キーを使用して暗号化オペレーションを実行するときに使用されるKMSキーマテリアルへの参照が含まれています。
で生成された暗号化KMSキーマテリアルを使用してキーを作成できます。 AWS KMS FIPS 検証済みハードウェアセキュリティモジュール
デフォルトでは、 AWS KMS はキーのKMSキーマテリアルを作成します。このキーマテリアルを抽出、エクスポート、表示、管理することはできません。唯一の例外は、非対称キーペアのパブリックキーであり、 の外部で使用するためにエクスポートできます。 AWS。 また、このキーマテリアルを削除することはできません。KMSキー を削除する必要があります。ただし、独自のキーマテリアルをキーにインポートすることも、カスタムキーストアを使用して のKMSキーマテリアルを使用するキーを作成することもできます。 KMS AWS CloudHSM クラスター、または の外部で所有および管理している外部キーマネージャーのキーマテリアル AWS.
AWS KMS は、1 つの でデータを暗号化できるマルチリージョンキー もサポートしています。 AWS リージョン 別の で復号する AWS リージョン.
KMS キーの作成と管理の詳細については、「」を参照してくださいキーの管理。KMS キーの使用の詳細については、「」を参照してください。 AWS Key Management Service API 「」を参照してください。
カスタマーキーと AWS キー
作成するKMSキーはカスタマーマネージドキー です。 AWS のサービス キーを使用してサービスリソースを暗号化する はKMS、多くの場合、キーを作成します。KMS キー AWS のサービス で を作成する AWS アカウントは AWS マネージドキーKMSキー AWS のサービス サービスアカウントで を作成する AWS 所有のキー.
KMS キーのタイプ | KMS キーメタデータを表示可能 | KMS キーを管理できる | 自分の にのみ使用 AWS アカウント | 自動ローテーション | 料金表 |
---|---|---|---|---|---|
カスタマーマネージドキー | あり | はい | あり | オプション。毎年 (約 365 日) | 月額料金 (時間単位の日割り計算) 従量課金料金 |
AWS マネージドキー | あり | いいえ | あり | 必須。毎年 (約 365 日) | 月額料金なし 使用料 (一部 AWS のサービス この料金を支払う) |
AWS 所有のキー | なし | いいえ | なし | 可変 | 料金はかかりません |
AWS と統合する のサービス AWS KMS KMSキーのサポートは異なります。ある程度 AWS のサービスは、デフォルトで を使用してデータを暗号化します。 AWS 所有のキー または AWS マネージドキー。 一部の AWS のサービスは、カスタマーマネージドキーをサポートします。その他 AWS サービスでは、すべてのタイプのKMSキーをサポートしているため、 を簡単に使用できます。 AWS 所有のキー、 の可視性 AWS マネージドキー、またはカスタマーマネージドキーの制御。の暗号化オプションの詳細については、「」を参照してください。 AWS サービスオファーについては、 ユーザーガイドの保管時の暗号化トピックまたは サービスのデベロッパーガイドを参照してください。
カスタマーマネージドキー
作成するKMSキーはカスタマーマネージドキー です。カスタマーマネージドキーは のKMSキーです AWS アカウント ユーザーが作成、所有、管理する 。これらのKMSキーは、キーポリシー、IAMポリシー、権限の確立と維持、有効化と無効化、暗号化マテリアルのローテーション、タグの追加、KMSキーを参照するエイリアスの作成、KMSキーの削除のスケジュールなど、完全に制御できます。
カスタマーマネージドキーは、 のカスタマーマネージドキーページに表示されます。 AWS Management Console
を AWS KMS。 カスタマーマネージドキーを明確に識別するには、 DescribeKeyオペレーションを使用します。カスタマーマネージドキーでは、DescribeKey
レスポンスの KeyManager
フィールドの値は CUSTOMER
です。
カスタマーマネージドキーは、暗号化オペレーションや での監査での使用に使用できます。 AWS CloudTrail ログ。さらに、多くの AWS と統合する のサービス AWS KMS では、カスタマーマネージドキーを指定して、保存および管理されるデータを保護できます。
カスタマーマネージドキーの使用には、月額料金と、無料利用枠を超えた使用に対する料金がかかります。これらは に対してカウントされます。 AWS KMS アカウントの クォータ。詳細については、「」を参照してください。AWS Key Management Service 料金
AWS マネージドキー
AWS マネージドキー は、 によってユーザーに代わって作成、管理、使用されるアカウントのKMSキーです。 AWS と統合された サービス AWS KMS
ある程度 AWS サービスでは、 を選択できます。 AWS マネージドキー またはカスタマーマネージドキーを使用して、そのサービスのリソースを保護します。一般に、リソースを保護する暗号化キーを制御する必要がある場合を除き、 AWS マネージドキー は良い選択です。キーまたはそのキーポリシーを作成または維持する必要はなく、 の月額料金も発生しません。 AWS マネージドキー.
を表示するアクセス許可がある AWS マネージドキー アカウントで、キーポリシー を表示し、 での使用を監査する AWS CloudTrail ログ。ただし、 のプロパティは変更できません。 AWS マネージドキー、ローテーション、キーポリシーの変更、削除のスケジュール。また、 を使用することはできません。 AWS マネージドキー 暗号化オペレーションを直接使用すると、それらを作成するサービスがユーザーに代わってそれらを使用します。
AWS マネージドキー が に表示される AWS マネージドキー の ページ AWS Management Console を AWS KMS。 また、 AWS マネージドキー エイリアスで、 aws/
などの形式 ですservice-name
aws/redshift
。を明確に識別するには AWS マネージドキー、 DescribeKeyオペレーションを使用します。[ AWS マネージドキー、DescribeKey
レスポンスの KeyManager
フィールドの値は ですAWS
。
すべて AWS マネージドキー は毎年自動的にローテーションされます。このローテーションスケジュールは変更できません。
注記
2022 年 5 月、 AWS KMS が のローテーションスケジュールを変更しました AWS マネージドキー を 3 年ごと (約 1,095 日) から毎年 (約 365 日) に。
New AWS マネージドキー は、作成されてから 1 年後、その後はほぼ毎年自動的にローテーションされます。
既存 AWS マネージドキー は、最新のローテーションから 1 年後に自動的にローテーションされ、その後は毎年ローテーションされます。
の月額料金はかかりません。 AWS マネージドキー。 無料利用枠を超える使用には料金がかかる場合がありますが、一部は AWS サービスがこれらのコストをカバーします。詳細については、サービスのユーザーガイドまたはデベロッパーガイドの「保管時の暗号化 」トピックを参照してください。詳細については、「」を参照してください。AWS Key Management Service
料金
AWS マネージドキー は、アカウントの各リージョンのKMSキー数のリソースクォータにはカウントされません。ただし、アカウント内のプリンシパルに代わって使用する場合、KMSキーはリクエストクォータにカウントされます。詳細については、「クォータ」を参照してください。
AWS 所有のキー
AWS 所有のキー は、 のKMSキーのコレクションです。 AWS サービスは、複数の で使用するために を所有および管理します。 AWS アカウント。 ただし、 AWS 所有のキー が にない AWS アカウント、 AWS サービスは を使用できます。 AWS 所有のキー アカウント内のリソースを保護する 。
ある程度 AWS サービスでは、 を選択できます。 AWS 所有のキー またはカスタマーマネージドキー。一般に、リソースを保護する暗号化キーを監査または制御する必要がない限り、 AWS 所有のキー は良い選択です。 AWS 所有のキー は完全に無料です (月額料金や使用料はかかりません)。 AWS KMS アカウントの クォータ、および使いやすい。キーまたはそのキーポリシーを作成または管理する必要はありません。
のローテーション AWS 所有のキー はサービスによって異なります。特定の のローテーションに関する情報 AWS 所有のキー、 サービスのユーザーガイドまたはデベロッパーガイドの保管時の暗号化トピックを参照してください。
対称暗号化KMSキー
を作成する場合 AWS KMS keyでは、デフォルトで対称暗号化のKMSキーを取得します。これは、キーの基本的なタイプであり、最も一般的に使用されるタイプですKMS。
In AWS KMS、対称暗号化KMSキーは 256 ビットの AES暗号化GCMキーを表します。ただし、中国リージョンでは 128 ビットのSM4暗号化キーを表します。対称キーマテリアルが を離れない AWS KMS 暗号化されていません。対称暗号化KMSキーを使用するには、 を呼び出す必要があります。 AWS KMS。 対称暗号化キーは対称暗号化で使用され、暗号化と復号には同じキーが使用されます。タスクに非対称暗号化、対称暗号化KMSキーが明示的に必要でない限り、 は を離れません。 AWS KMS 暗号化されていない が適しています。
AWS と統合されている のサービス AWS KMS
技術的には、対称キーのキー仕様は SYMMETRIC_DEFAULT、キーの使用法は ENCRYPT_DECRYPT、暗号化アルゴリズムは SYMMETRIC_ ですDEFAULT。詳細については、「SYMMETRIC_DEFAULT キー仕様」を参照してください。
で対称暗号化KMSキーを使用できます。 AWS KMS は、データを暗号化、復号、再暗号化し、データキーとデータキーペアを生成します。マルチリージョンの対称暗号化KMSキーを作成し、独自のキーマテリアルを対称暗号化キーにインポートし、カスタムKMSキーストア で対称暗号化キーを作成できます。 KMS カスタムキーストアさまざまなタイプのKMSキーで実行できるオペレーションを比較する表については、「」を参照してくださいキータイプリファレンス。
非対称KMSキー
非対称KMSキーは で作成できます。 AWS KMS。 非対称KMSキーは、数学的に関連するパブリックキーとプライベートキーのペアを表します。プライベートキーが を離れない AWS KMS 暗号化されていません。プライベートキーを使用するには、 を呼び出す必要があります。 AWS KMS。 パブリックキーは 内で使用できます。 AWS KMS を呼び出して AWS KMS API オペレーション、またはパブリックキーをダウンロードして の外部で使用できます。 AWS KMS。 マルチリージョンの非対称KMSキーを作成することもできます。
RSA キーペア、楕円曲線KMSキーペア、またはキーペアを表す非対称SM2キーを作成できます (中国リージョンのみ)。KMS キーペアを持つ RSAキーを使用して、データの暗号化または復号化、メッセージの署名と検証を行うことができます (両方はできません)。KMS NIST推奨の楕円曲線キーペアを持つ キーは、メッセージに署名して検証したり、共有シークレットを取得したりするために使用できます (両方ではありません)。KMS キーペアを持つ ECC_SECG_P256K1
キーは、メッセージの署名と検証にのみ使用できます。KMS SM2 (中国リージョンのみ) キーペアを持つ キーは、データの暗号化と復号、メッセージの署名と検証、共有シークレットの取得に使用できます (キー使用タイプを 1 つ選択する必要があります)。
非対称KMSキーの作成と使用の詳細については、「」を参照してくださいの非対称キー AWS KMS。
HMAC KMS キー
HMAC KMS キーは、ハッシュベースのメッセージ認証コード () の生成と検証に使用される、さまざまな長さの対称キーを表しますHMAC。キーのHMACキーマテリアルが から離れない AWS KMS 暗号化されていません。HMAC キーを使用するには、 GenerateMac
または VerifyMac
APIオペレーションを呼び出します。
マルチリージョンHMACKMSキーを作成することもできます。
HMAC KMS キーの作成と使用の詳細については、「」を参照してくださいAWS KMS での HMAC キー。
データキー
データキーは、大量のデータ、および他のデータ暗号化キーなどのデータを暗号化するために使用できる暗号化キーです。ダウンロードできない対称KMSキー とは異なり、データキーは の外部で使用するために返されます。 AWS KMS.
メトリック AWS KMS はデータキーを生成し、すぐに使用するためのプレーンテキストのデータキー (オプション) と、データと共に安全に保存できる暗号化されたデータキーのコピーを返します。データを復号する準備ができたら、まず AWS KMS 暗号化されたデータキーを復号します。
AWS KMS はデータキーを生成、暗号化、復号します。ただし、 AWS KMS は、データキーを保存、管理、追跡したり、データキーを使用して暗号化オペレーションを実行したりしません。の外部でデータキーを使用および管理する必要があります AWS KMS。 データキーを安全に使用する方法については、「」を参照してください。 AWS Encryption SDK.
データキーの作成
データキーを作成するには、 GenerateDataKeyオペレーションを呼び出します。 AWS KMS はデータキーを生成します。次に、指定した対称暗号化キーでデータKMSキーのコピーを暗号化します。オペレーションは、データキーのプレーンテキストコピーと、キーで暗号化されたデータKMSキーのコピーを返します。以下の図では、このオペレーションを示しています。
AWS KMS は、暗号化されたデータキーのみを返す GenerateDataKeyWithoutPlaintextオペレーションもサポートしています。データキーを使用する必要がある場合は、 AWS KMS を復号化します。
データキーでデータを暗号化する
AWS KMS は、データキーを使用してデータを暗号化することはできません。ただし、 の外部でデータキーを使用できます。 AWS KMS Open SSLや などの暗号化ライブラリを使用するなど、 AWS Encryption SDK.
プレーンテキストのデータキーを使用してデータを暗号化したら、できる限り早急にメモリからそれを削除します。暗号化したデータと一緒に暗号化データキーを安全に保存して、データの復号に利用することができます。
データキーでデータを復号する
データを復号化するには、暗号化されたデータキーを 復号化 操作に渡します。 AWS KMS はKMSキーを使用してデータキーを復号し、プレーンテキストのデータキーを返します。プレーンテキストのデータキーを使ってデータを復号し、続いてできる限り早急にメモリからプレーンテキストのデータキーを削除します。
以下の図では、Decrypt
オペレーションを使用して暗号化されたデータキーを復号する方法を示しています。
使用できないKMSキーがデータキーに与える影響
KMS キーが使用できなくなると、その効果はほぼ即時に発生します (結果整合性が伴います)。KMS キーのキーステータスは新しい条件を反映するように変更され、暗号化オペレーションでKMSキーを使用するすべてのリクエストは失敗します。
ただし、KMSキーによって暗号化されたデータキー、およびデータキーによって暗号化されたデータに対する影響は、データキーの復号化など、KMSキーが再び使用されるまで遅延します。
KMS キーは、次のようなアクションを実行するなど、さまざまな理由で使用できなくなる可能性があります。
-
インポートされたキーマテリアルを持つキーからキーマテリアルを削除するか、インポートされたキーマテリアルの有効期限が切れるようにします。 KMS
-
の切断 AWS CloudHSM キーをホストするKMSキーストア、または からキーを削除する AWS CloudHSM KMS キーのキーマテリアルとして機能する クラスター。
-
キーをホストする外部キーストアを切断する、または外部キーストアプロキシへの暗号化および復号リクエストを妨害するその他のアクション。これには、外部キーマネージャーから外部キーを削除することが含まれます。 KMS
この効果は、多くの にとって特に重要です。 AWS のサービス サービスが管理するリソースを保護するためにデータキーを使用する 。次の例では、Amazon Elastic Block Store (Amazon EBS) と Amazon Elastic Compute Cloud (Amazon ) を使用していますEC2。異なる AWS のサービス は、さまざまな方法でデータキーを使用します。詳細については、「 のセキュリティ」章の「データ保護」セクションを参照してください。 AWS のサービス.
例えば、次のシナリオが考えられます。
-
暗号化されたEBSボリュームを作成し、そのボリュームを保護するためのKMSキーを指定します。Amazon がEBS質問する AWS KMS は、 KMS キーを使用してボリュームの暗号化されたデータキーを生成します。Amazon は、暗号化されたデータキーをボリュームのメタデータとともにEBS保存します。
-
EBS ボリュームをEC2インスタンスにアタッチすると、Amazon EC2はKMSキーを使用してEBSボリュームの暗号化されたデータキーを復号します。Amazon は、Nitro ハードウェアのデータキーEC2を使用します。これは、EBSボリュームへのすべてのディスク I/O を暗号化する役割を果たします。データキーは、EBSボリュームがEC2インスタンスにアタッチされている間、Nitro ハードウェアに保持されます。
-
KMS キーを使用できないようにするアクションを実行します。これは、EC2インスタンスまたはEBSボリュームにすぐには影響しません。Amazon EC2 は、ボリュームがインスタンスにアタッチされている間、キーではなくデータKMSキーを使用してすべてのディスク I/O を暗号化します。
-
ただし、暗号化されたEBSボリュームがEC2インスタンスからデタッチされると、Amazon は Nitro ハードウェアからデータキーEBSを削除します。次回、暗号化されたEBSボリュームがEC2インスタンスにアタッチされると、Amazon はKMSキーを使用してボリュームの暗号化されたデータキーを復号EBSできないため、アタッチメントは失敗します。EBS ボリュームを再度使用するには、KMSキーを再度使用できるようにする必要があります。
データキーペア
データキーペアは、数学的に関連するパブリックキーとプライベートキーで構成される非対称データキーです。クライアント側の暗号化と復号、または 以外の署名と検証に使用するように設計されています。 AWS KMS.
OpenSSL などのツールが生成するデータキーペアとは異なり、 AWS KMS は、 の対称暗号化キーで各データキーペアのプライベートKMSキーを保護します。 AWS KMS 指定した 。ただし、 AWS KMS は、データキーペアを保存、管理、追跡したり、データキーペアを使用して暗号化オペレーションを実行したりしません。の外部でデータキーペアを使用および管理する必要があります AWS KMS.
AWS KMS では、次のタイプのデータキーペアがサポートされています。
-
RSA キーペア: RSA_2048、RSA_3072、および RSA_4096
-
楕円曲線のキーペア: ECC_NIST_P256、ECCNIST__P384、ECCNIST__P521、ECCSECG_P256K1
-
SM キーペア (中国リージョンのみ): SM2
選択するデータキーペアのタイプは、通常、ユースケースまたは規制要件によって異なります。ほとんどの証明書にはRSAキーが必要です。楕円曲線キーは、デジタル署名や共有シークレットの取得に使用されることがよくあります。ECC_SECG_P256K1 キーは、暗号通貨に一般的に使用されます。 AWS KMS では、署名にECCキーペアを使用し、暗号化または署名にRSAキーペアを使用することをお勧めしますが、両方には使用しないでください。ただし、 AWS KMS は、 の外部でのデータキーペアの使用に制限を適用できません。 AWS KMS.
データキーペアを作成する
データキーペアを作成するには、 GenerateDataKeyPairまたは GenerateDataKeyPairWithoutPlaintextオペレーションを呼び出します。プライベートKMSキーの暗号化に使用する対称暗号化キーを指定します。
GenerateDataKeyPair
は、プレーンテキストパブリックキー、プレーンテキストプライベートキー、暗号化されたプライベートキーを返します。このオペレーションは、デジタル署名を生成する場合など、プレーンテキストプライベートキーをすぐに必要とする場合に使用します。
GenerateDataKeyPairWithoutPlaintext
は、プレーンテキストのパブリックキーと暗号化されたプライベートキーを返しますが、プレーンテキストプライベートキーは返しません。このオペレーションは、パブリックキーで暗号化する場合など、プレーンテキストプライベートキーがすぐに必要ない場合に使用します。後で、データを復号化するために平文の秘密鍵が必要な場合は、Dec rypt オペレーションを呼び出すことができます。
以下の図では、GenerateDataKeyPair
オペレーションを示しています。GenerateDataKeyPairWithoutPlaintext
オペレーションは、プレーンテキストプライベートキーを省略します。
データキーペアでデータを暗号化する
データキーペアを使用して暗号化する場合、ペアのパブリックキーを使用してデータを暗号化し、同じペアのプライベートキーを使用してデータを復号します。通常、データキーペアは、プライベートキーを保持している当事者のみが復号できるデータを、多くの当事者が暗号化する必要がある場合に使用されます。
次の図に示すように、パブリックキーを持つ当事者は、そのキーを使用してデータを暗号化します。
データキーペアでデータを復号する
データを復号するには、データキーペアでプライベートキーを使用します。オペレーションを成功させるには、パブリックキーとプライベートキーが同じデータキーペアのものである必要があり、また、同じ暗号化アルゴリズムを使用する必要があります。
暗号化された秘密鍵を復号化するには、復号オペレーションに渡します。プレーンテキストプライベートキーを使用してデータを復号します。その後、できるだけ早くプレーンテキストのプライベートキーをメモリから削除します。
次の図は、データキーペアのプライベートキーを使用して暗号テキストを復号する方法を示しています。
データキーペアでメッセージに署名する
メッセージの暗号化署名を生成するには、データキーペアのプライベートキーを使用します。パブリックキーを持つすべてのユーザーは、メッセージが自分のプライベートキーで署名されたこと、および署名されてから変更されていないことを確認するために使用できます。
プライベートキーを暗号化する場合は、暗号化されたプライベートキーを Decrypt オペレーションに渡します。 AWS KMS はKMSキーを使用してデータキーを復号し、プレーンテキストのプライベートキーを返します。署名を生成するには、プレーンテキストプライベートキーを使用します。その後、できるだけ早くプレーンテキストのプライベートキーをメモリから削除します。
メッセージに署名するには、Open の dgst
次の図は、データキーペアのプライベートキーを使用してメッセージに署名する方法を示しています。
データキーペアを使用した署名の検証
データキーペアにパブリックキーを持っているユーザーは、誰でもそれを使用して、プライベートキーで生成した署名を検証できます。検証では、承認されたユーザーが指定したプライベートキーと署名アルゴリズムを使用してメッセージに署名し、メッセージが署名後に変更されていないことを確認します。
署名を検証する当事者は、同じタイプのダイジェストを生成し、同じアルゴリズムを使用して、メッセージの署名に使用されるプライベートキーに対応するパブリックキーを使用する必要があります。
次の図は、データキーペアのパブリックキーを使用してメッセージ署名を検証する方法を示しています。
データキーペアを使用して共有シークレットを取得する
キーアグリーメントにより、2 つのピアがそれぞれ楕円曲線のパブリックキーとプライベートキーのペアを持ち、安全でないチャネルで共有シークレットを確立できます。共有シークレット を取得するには、2 人のピアが安全でない通信チャネル (インターネットなど) を介してパブリックキーを交換する必要があります。次に、各関係者はプライベートキーとピアのパブリックキーを使用して、キー契約アルゴリズムを使用して同じ共有シークレットを計算します。共有シークレット値を使用して、2 つのピア間で送信されるデータを暗号化および復号化できる対称キー、または を生成して検証できる対称キーを導出できますHMACs。
注記
AWS KMS では、パブリックキーを使用して共有シークレットを取得する前に、受信するパブリックキーが想定する当事者からのものであることを強くお勧めします。
エイリアス
エイリアスをKMSキーのわかりやすい名前として使用します。例えば、KMSキーを 1234abcd-12ab-34cd-56efab の代わりに test-key と呼びます。-1234567890
エイリアスを使用すると、 でKMSキーを識別しやすくなります。 AWS Management Console。 エイリアスを使用して、一部の でKMSキーを識別できます。 AWS KMS 暗号化オペレーションを含む オペレーション。アプリケーションでは、1 つのエイリアスを使用して、各 の異なるKMSキーを参照できます。 AWS リージョン.
ポリシーを編集したり、許可を管理したりすることなく、エイリアスに基づいてKMSキーへのアクセスを許可または拒否することもできます。この機能は の一部です。 AWS KMS 属性ベースのアクセスコントロール (ABAC) のサポート。詳細については、「AWS KMS の ABAC」を参照してください。
In AWS KMS、エイリアスは独立したリソースであり、KMSキーのプロパティではありません。そのため、関連付けられたKMSキーに影響を与えずにエイリアスを追加、変更、削除できます。
重要
エイリアス名には、機密情報や重要情報を含めないでください。エイリアスは、 CloudTrail ログやその他の出力にプレーンテキストで表示されます。
詳細はこちら:
-
エイリアスの詳細については、「エイリアスの使用」を参照してください。
-
エイリアスを含むキー識別子の形式については、「キー識別子 (KeyId)」を参照してください。
-
KMS キーに関連付けられたエイリアスの検索については、「」を参照してください。 エイリアス名とエイリアスの検索 ARN
-
複数のプログラミング言語でエイリアスを作成する例については、「」を参照してくださいCreateAlias で を使用する AWS SDK または CLI。
カスタムキーストア
カスタムキーストアは AWS KMS の外部でキーマネージャーによってバックアップされる リソース AWS KMS 所有および管理する 。暗号化オペレーションにカスタムKMSキーストアのキーを使用する場合、暗号化オペレーションは実際には、その暗号化キーを使用してキーマネージャーで実行されます。
AWS KMS が をサポート AWS CloudHSM によってバックアップされる キーストア AWS CloudHSM の外部で外部キーマネージャーによってバックアップされる クラスターと外部キーストア AWS.
詳細については、「カスタムキーストア」を参照してください。
暗号化オペレーション
In AWS KMS、暗号化オペレーションは、KMSキーを使用してデータを保護するAPIオペレーションです。KMS キーは 内にとどまるため AWS KMS、 を呼び出す必要があります AWS KMS 暗号化オペレーションでKMSキーを使用する 。
KMS キーを使用して暗号化オペレーションを実行するには、 を使用します。 AWS SDKs, AWS Command Line Interface (AWS CLI)、または AWS Tools for PowerShell。 で暗号化オペレーションを実行できない AWS KMS console。いくつかのプログラミング言語で暗号化オペレーションを呼び出す例については、を参照してください のコード例 AWS KMS を使用する AWS SDKs。
次の表に、 AWS KMS 暗号化オペレーション。また、オペレーションで使用されるキーのキータイプとKMSキー使用要件も表示されます。
操作 | キーのタイプ | キーの用途 |
---|---|---|
Decrypt | 対称または非対称 | ENCRYPT_DECRYPT |
DeriveSharedSecret | 非対称 | KEY_AGREEMENT |
暗号化 | 対称または非対称 | ENCRYPT_DECRYPT |
GenerateDataKey | 対称 | ENCRYPT_DECRYPT |
GenerateDataKeyPair | 非対称 [1] カスタムKMSキーストアのキーではサポートされていません。 |
ENCRYPT_DECRYPT |
GenerateDataKeyPairWithoutPlaintext | 非対称 [1] カスタムKMSキーストアのキーではサポートされていません。 |
ENCRYPT_DECRYPT |
GenerateDataKeyWithoutPlaintext | 対称 | ENCRYPT_DECRYPT |
GenerateMac | HMAC | GENERATE_VERIFY_MAC |
GenerateRandom | 該当なし。 このオペレーションではKMSキーを使用しません。 | 該当なし |
ReEncrypt | 対称または非対称 | ENCRYPT_DECRYPT |
Sign | 非対称 | SIGN_VERIFY |
検証 | 非対称 | SIGN_VERIFY |
VerifyMac | HMAC | GENERATE_VERIFY_MAC |
[1] 対称暗号化キーで保護されている非対称データKMSキーペアを生成します。
暗号化オペレーションのアクセス許可については、「AWS KMS アクセス許可」を参照してください。
を作成するには AWS KMS すべてのユーザーに対する応答性と機能性 AWS KMS は、1 秒ごとに呼び出される暗号化オペレーションの数にクォータを設定します。詳細については、「暗号化オペレーションの共有クォータ」を参照してください。
キー識別子 (KeyId)
キー識別子はKMS、キーの名前のように動作します。コンソールでKMSキーを認識するのに役立ちます。これらを使用して、 で使用するKMSキーを指定します。 AWS KMS API オペレーション、キーポリシー、IAMポリシー、許可。キー識別子の値は、キーに関連付けられたKMSキーマテリアルとは完全に無関係です。
AWS KMS は、複数のキー識別子を定義します。KMS キーを作成すると、 AWS KMS は、キーのプロパティであるキーARNとKMSキー ID を生成します。エイリアス を作成すると、 AWS KMS は、定義したエイリアス名ARNに基づいてエイリアスを生成します。キー識別子とエイリアス識別子は、 AWS Management Console の および AWS KMS API.
左 AWS KMS コンソールでは、KMSキー ARN、キー ID、またはエイリアス名でキーを表示およびフィルタリングし、キー ID とエイリアス名でソートできます。コンソールでキー ID を検索する方法については、「キー ID とキーの検索 ARN」を参照してください。
左 AWS KMS API、KMSキーの識別に使用するパラメータは、 KeyId
または などのバリエーションに名前が付けられTargetKeyId
ますDestinationKeyId
。ただし、これらのパラメータの値はキー に限定されませんIDs。いくつかは、任意の有効なキー識別子を受け取ることができます。各パラメータの値の詳細については、「」の「 パラメータの説明」を参照してください。 AWS Key Management Service API リファレンス。
注記
を使用する場合 AWS KMS API、使用するキー識別子に注意してください。異なる APIsでは、異なるキー識別子が必要です。通常、タスクに対して実用的で最も完全なキー識別子を使用します。
AWS KMS は、次のキー識別子をサポートします。
- キー ARN
-
キーARNは、KMSキーの Amazon リソースネーム (ARN) です。これは、KMSキーの一意の完全修飾識別子です。キーには ARNが含まれます。 AWS アカウント、リージョン、およびキー ID。キーARNのKMSキーを検索する方法については、「」を参照してくださいキー ID とキーの検索 ARN。
キーの形式ARNは次のとおりです。
arn:
<partition>
:kms:<region>
:<account-id>
:key/<key-id>
以下は、単一リージョンキーARNのKMSキーの例です。
arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
-
key-id
マルチリージョンキーのキーARNsの 要素はmrk-
、プレフィックスで始まります。 のマルチリージョンキー AWS KMSマルチリージョンキーARNの例を次に示します。arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab
- キー ID
-
キー ID は、アカウントとリージョン内のKMSキーを一意に識別します。キーのKMSキー ID を検索する方法については、「」を参照してくださいキー ID とキーの検索 ARN。
以下は、単一リージョンキーのKMSキー ID の例です。
1234abcd-12ab-34cd-56ef-1234567890ab
マルチリージョンキーIDsのキーは
mrk-
プレフィックスで始まります。以下はマルチリージョンキーのサンプルキー ID です。mrk-1234abcd12ab34cd56ef1234567890ab
- エイリアス ARN
-
エイリアスARNは、 の Amazon リソースネーム (ARN) です。 AWS KMS エイリアス。これは、エイリアスとそれが表すKMSキーの一意の完全修飾識別子です。エイリアスARNには、 AWS アカウント、リージョン、およびエイリアス名。
エイリアスはいつでも特定のKMSキーARNを識別します。ただし、エイリアスに関連付けられたKMSキーを変更できるため、エイリアスARNは異なるタイミングで異なるKMSキーを識別できます。KMS キーARNのエイリアスを検索する方法については、「」を参照してくださいエイリアス名とエイリアスの検索 ARN。
エイリアスの形式ARNは次のとおりです。
arn:
<partition>
:kms:<region>
:<account-id>
:alias/<alias-name>
以下は、架空の ARNのエイリアスです
ExampleAlias
。arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias
- エイリアス名
-
エイリアス名は、最大 256 文字の文字列です。アカウントとリージョン内の関連付けられたKMSキーを一意に識別します。左 AWS KMS API、エイリアス名は常に で始まります
alias/
。KMS キーのエイリアス名を検索する方法については、「」を参照してくださいエイリアス名とエイリアスの検索 ARN。エイリアス名の形式は次のとおりです。
alias/
<alias-name>
例:
alias/ExampleAlias
エイリアス名の
aws/
プレフィックスは、 用に予約されています。 AWS マネージドキー。 このプレフィックスを使用してエイリアスを作成することはできません。例えば、 のエイリアス名 AWS マネージドキー for Amazon Simple Storage Service (Amazon S3) は次のとおりです。alias/aws/s3
キーマテリアル
キーマテリアルは、暗号化アルゴリズムで使用されるビット単位の文字列です。キーマテリアルを使用する暗号化オペレーションを保護するには、シークレットキーを秘密にしておく必要があります。パブリックキーマテリアルは共有されるように設計されています。
各KMSキーには、メタデータ内のキーマテリアルへの参照が含まれます。対称暗号化キーのキーマテリアルのオリジンは異なる場合があります。 KMS次のキーマテリアルを使用できます。 AWS KMS は、 で生成されたキーマテリアルを生成します。 AWS CloudHSM カスタムキーストア の クラスター、または独自のキーマテリアル をインポートします。を使用する場合 AWS KMS 対称暗号化キーの KMSキーマテリアルでは、キーマテリアルの自動ローテーションを有効にできます。
デフォルトでは、各KMSキーには一意のキーマテリアルがあります。ただし、同じキーマテリアルでマルチリージョンキーのセットを作成することができます。
キーマテリアルのオリジン
キーマテリアルのオリジンは、KMSキー内のキーマテリアルのソースを識別するKMSキープロパティです。キーの作成時にKMSキーマテリアルのオリジンを選択し、変更することはできません。キーマテリアルのソースは、KMSキーのセキュリティ、耐久性、可用性、レイテンシー、スループット特性に影響します。
キーのKMSキーマテリアルのオリジンを見つけるには、 DescribeKeyオペレーションを使用するか、 のKMSキーの詳細ページの暗号化設定タブにあるオリジン値を参照してください。 AWS KMS console。ヘルプについては、「キーの表示」を参照してください。
KMS キーには、次のいずれかのキーマテリアルオリジン値を指定できます。
AWS_KMS
-
AWS KMS は、独自のキーストアでKMSキーのキーマテリアルを作成および管理します。これはデフォルトであり、ほとんどのKMSキーに推奨される値です。
からのキーマテリアルを使用したキーの作成に関するヘルプ AWS KMS「キーの作成」を参照してください。
EXTERNAL (Import key material)
-
KMS キーにインポートされたキーマテリアル があります。KMS キーマテリアルのオリジンを使用して
External
キーを作成する場合、KMSキーにはキーマテリアルがありません。後で、キーマテリアルをKMSキーにインポートできます。インポートされたキーマテリアルを使用する場合は、 の外部でそのキーマテリアルを保護および管理する必要があります。 AWS KMS。有効期限が切れた場合のキーマテリアルの置き換えも含まれます。詳細については、「インポートしたキーマテリアルについて」を参照してください。インポートされたKMSキーマテリアルのキーの作成については、「」を参照してくださいステップ 1: キーマテリアルなしで KMS キーを作成する。
AWS_CLOUDHSM
-
AWS KMS は、 でキーマテリアルを作成します。 AWS CloudHSM の クラスター AWS CloudHSM キーストア 。
でのKMSキーの作成に関するヘルプ AWS CloudHSM キーストアについては、「」を参照してくださいでKMSキーを作成する AWS CloudHSM キーストア。
EXTERNAL_KEY_STORE
-
キーマテリアルは、 の外部にある外部キーマネージャーの暗号化キーです。 AWS。 このオリジンは、外部KMSキーストア のキーでのみサポートされます。 外部キーストア
外部KMSキーストアでキーを作成する方法については、「」を参照してください外部キーストアで KMS キーを作成する。
キー仕様
キー仕様は、キーの暗号化設定を表すプロパティです。キー仕様の意味は、キータイプによって異なります。
-
AWS KMS keys — キー仕様はKMS、キーが対称か非対称かを決定します。また、そのキーマテリアルのタイプとサポートするアルゴリズムも決定します。キーを作成するときにKMSキー仕様を選択し、変更することはできません。デフォルトのキー仕様 SYMMETRIC_DEFAULT は、256 ビットの対称暗号化キーを表します。
注記
KMS キー
KeySpec
の は と呼ばれていましたCustomerMasterKeySpec
。CreateKey オペレーションのCustomerMasterKeySpec
パラメータは廃止されました。代わりに、同様に機能するKeySpec
パラメータを使用します。重大な変更を防ぐために、CreateKey
および DescribeKeyオペレーションのレスポンスに、同じ値を持つKeySpec
およびCustomerMasterKeySpec
メンバーの両方が含まれるようになりました。主要仕様のリストと主要仕様の選択に関するヘルプについては、「キー仕様の選択」を参照してください。キーのKMSキー仕様を確認するには、 DescribeKeyオペレーションを使用するか、 の詳細ページのKMS暗号化設定タブを参照してください。 AWS KMS console。ヘルプについては、「キーの表示」を参照してください。
プリンシパルがキーの作成時に使用できるKMSキー仕様を制限するには、kms:KeySpec 条件キーを使用します。
kms:KeySpec
条件キーを使用して、プリンシパルに の呼び出しを許可することもできます。 AWS KMS は、特定のKMSキー仕様を持つキーに対してのみ オペレーションを実行します。例えば、 KMSキーRSA_4096
仕様のキーの削除をスケジュールするアクセス許可を拒否できます。 -
データキー (GenerateDataKey) — キー仕様によってAESデータキーの長さが決まります。
-
データキーペア (GenerateDataKeyPair) — キーペア仕様は、データキーペア内のキーマテリアルのタイプを決定します。
キーの用途
キー用途は、キーがサポートする暗号化オペレーションを決定するプロパティです。KMS キーには、、ENCRYPT_DECRYPT
、、GENERATE_VERIFY_MAC
または SIGN_VERIFY
のキー使用量を含めることができますKEY_AGREEMENT
。各KMSキーは、キーの使用を 1 つだけ持つことができます。KMS キーを複数のタイプのオペレーションに使用すると、両方のオペレーションの結果が攻撃に対して脆弱になります。
キーのKMSキーの使用方法の選択については、「」を参照してくださいキーの用途の選択。KMS キーのキーの使用方法を確認するには、 DescribeKeyオペレーションを使用するか、 の詳細ページでKMSキーの暗号化設定タブを選択します。 AWS KMS console。ヘルプについては、「キーの表示」を参照してください。
エンベロープ暗号化
データを暗号化するとデータは保護されますが、暗号化キーを保護する必要があります。1 つの方法としては、それを暗号化します。エンベロープ暗号化は、データキーでプレーンテキストデータを暗号化してから、そのデータキーを別のキーで暗号化する手法です。
データ暗号化キーを別の暗号化キーで暗号化し、その暗号化キーを別の暗号化キーで暗号化することもできます。しかし、最終的には、キーとデータを復号するために、1 つのキーをプレーンテキストで保持する必要があります。この最上位プレーンテキストキーの暗号化キーは、ルートキーと呼ばれます。
AWS KMS は、暗号化キーを安全に保存および管理することで、暗号化キーを保護するのに役立ちます。に保存されているルートキー AWS KMS、 と呼ばれます。 AWS KMS keys、 を離れないでください AWS KMS FIPS は、ハードウェアセキュリティモジュール
エンベロープ暗号化には、いくつかの利点があります。
-
データキーの保護
データキーを暗号化する場合、暗号化されたデータキーの保存について心配する必要がありません。これは、そのデータキーが暗号化によって本質的に保護されているためです。暗号化されたデータとともに、暗号化されたデータキーを安全に保存できます。
-
複数のキーを使用した同じデータの暗号化
暗号化オペレーションには時間がかかります (特に、暗号化するデータが大きいオブジェクトである場合)。異なるキーで raw データを複数回にわたって再暗号化する代わりに、raw データを保護するデータキーのみを再暗号化できます。
-
複数のアルゴリズムの強度の結合
一般に、対称キーアルゴリズムは、パブリックキーアルゴリズムよりも高速で、より小さい暗号文を生成します。一方、パブリックキーのアルゴリズムはロールを本質的に分離し、キー管理を簡単にします。エンベロープ暗号化により、それぞれの方法を組み合わせることができます。
暗号化コンテキスト
すべて AWS KMS 対称暗号化KMSキーを使用した暗号化オペレーションは、暗号化コンテキスト を受け入れます。これは、データに関する追加のコンテキスト情報を含むことができる、シークレット以外のキーと値のペアのオプションセットです。 AWS KMS は、追加の認証データ (AAD) として暗号化コンテキストを使用して、認証された暗号化 をサポートします。
暗号化リクエストに暗号化コンテキストが含まれている場合、暗号文に暗号化されてバインドされます。このため、データを復号する (または復号して再暗号化する) には、同じ暗号化コンテキストが必要です。復号リクエストで指定された暗号化コンテキストが大文字と小文字を区別して完全に一致しない場合、復号リクエストは失敗します。暗号化コンテキストでのキーと値のペアの順序のみを変更できます。
注記
非対称キー または KMSキー を使用した暗号化オペレーションで暗号化コンテキストを指定することはできませんHMACKMS。非対称アルゴリズムとMACアルゴリズムは、暗号化コンテキストをサポートしていません。
この暗号化コンテキストは秘密ではなく、暗号化されていません。でプレーンテキストで表示されます。 AWS CloudTrail ログを使用して暗号化オペレーションを識別および分類できるようにするログ。暗号化コンテキストには機密情報を含めないようにしてください。暗号化または復号されるデータの内容を説明した暗号化テキストの使用をお勧めします。例えば、ファイルを暗号化するときは、ファイルパスの一部を暗号化コンテキストとして使用することもあります。
"encryptionContext": { "department": "10103.0" }
例えば、Amazon Elastic Block Store (Amazon EBS) CreateSnapshotオペレーションで作成されたボリュームとスナップショットを暗号化する場合、Amazon EBSはボリューム ID を暗号化コンテキスト値として使用します。
"encryptionContext": { "aws:ebs:id": "
vol-abcde12345abc1234
" }
暗号化コンテキストを使用して、 へのアクセスを絞り込んだり制限したりすることもできます。 AWS KMS keys アカウント内の 。暗号化コンテキストはグラントの制約として、およびポリシーステートメントの条件として使用できます。
暗号化コンテキストを使用して暗号化されたデータの整合性を保護する方法については、「 を使用して暗号化されたデータの整合性を保護する方法」の投稿を参照してください。 AWS Key Management Service EncryptionContext
暗号化コンテキストの詳細。
AWS KMS は、暗号化コンテキストのキーと値に次のルールを適用します。
-
暗号化コンテキストペアのキーと値はシンプルなリテラル文字列であることが必要です。整数や浮動小数点数など、別の型を使用する場合は、 AWS KMS はこれを文字列として解釈します。
-
暗号化コンテキストのキーと値には、Unicode 文字を含めることができます。暗号化コンテキストにキーポリシーまたはIAMポリシーで許可されていない文字が含まれている場合、 kms:EncryptionContext:context-keyや などのポリシー条件キーで暗号化コンテキストを指定することはできませんkms:EncryptionContextKeys。キーポリシードキュメントのルールに関する詳細については、「キーポリシー形式」を参照してください。IAM ポリシードキュメントルールの詳細については、「 ユーザーガイド」のIAM「名前の要件IAM」を参照してください。
暗号化コンテキストは主に整合性と信頼性を検証するために使用されます。ただし、暗号化コンテキストを使用して対称暗号化へのアクセスを制御することもできます。 AWS KMS keys キーポリシーと IAM ポリシーの 。
kms:EncryptionContext: および kms:EncryptionContextKeys 条件キーは、リクエストに特定の暗号化コンテキストキーまたはキーと値のペアが含まれている場合にのみ、アクセス許可を許可 (または拒否) します。
例えば、次のキーポリシーステートメントでは、 Decrypt
オペレーションで KMS キーを使用することをRoleForExampleApp
ロールに許可します。また、kms:EncryptionContext:context-key
条件キーを使用して、リクエストの暗号化コンテキストに AppName:ExampleApp
暗号化コンテキストペアが含まれる場合にのみ、このアクセス許可を付与します。
{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/RoleForExampleApp" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:AppName": "ExampleApp" } } }
これらの暗号化コンテキスト条件キーの詳細については、「の条件キー AWS KMS」を参照してください。
許可を作成するときに、許可のアクセス許可の条件を設定する許可制約を含めることができます。 AWS KMS は、 EncryptionContextEquals
と EncryptionContextSubset
の 2 つの許可制約をサポートします。どちらも暗号化オペレーションのリクエストに暗号化コンテキストが含まれます。これらのグラント制約を使用するとき、グラントの許可は、暗号化オペレーションのリクエストで暗号化コンテキストがグラント制約の要件を満たしている場合にのみ有効になります。
例えば、 GenerateDataKeyオペレーションを許可するEncryptionContextEquals
グラントにグラント制約を追加できます。この制約により、このグラントは、リクエストの暗号化コンテキストがグラント制約の暗号化コンテキストで大文字と小文字を区別して一致する場合にのみ、この操作を許可します。
$
aws kms create-grant \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --grantee-principal arn:aws:iam::111122223333:user/exampleUser \ --retiring-principal arn:aws:iam::111122223333:role/adminRole \ --operations GenerateDataKey \ --constraints EncryptionContextEquals={Purpose=Test}
被付与者プリンシパルからの次のようなリクエストは、EncryptionContextEquals
の制約を満たします。
aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-spec AES_256 \ --encryption-context Purpose=Test
$
グラント制約の詳細については、「グラントの制約の使用」を参照してください 。グラントの詳細については、「での許可 AWS KMS」を参照してください。
AWS KMS uses AWS CloudTrail は、暗号化コンテキストをログに記録して、アクセスされたKMSキーとデータを特定できるようにします。ログエントリには、ログエントリの暗号化コンテキストによって参照される特定のデータの暗号化または復号に使用されたKMSキーが正確に示されます。
重要
暗号化コンテキストは記録されるため、機密情報が含まれていてはなりません。
Decrypt
または ReEncrypt
オペレーションを呼び出すときに暗号化コンテキストを簡単に使用できるように、暗号化コンテキストを暗号化されたデータとともに格納できます。暗号化や復号で必要になったときに完全な暗号化コンテキストを作成できる十分な暗号化コンテキストのみを保存することをお勧めします。
例えば、暗号化コンテキストがファイルへの完全修飾パスである場合、そのパスの一部のみを、暗号化されたファイルの内容とともに保存します。次に、完全な暗号化コンテキストが必要になったら、保存されたフラグメントからコンテキストを再構築します。誰かがファイルを改ざんした場合 (名前の変更、別の場所への移動など)、暗号化コンテキスト値が変更され、復号リクエストは失敗します。
キーポリシー
KMS キーを作成するときに、そのKMSキーを使用および管理できるユーザーを決定します。これらのアクセス許可は、キーポリシーと呼ばれるドキュメントに含まれます。キーポリシーを使用して、カスタマーマネージドキーに対するアクセス許可をいつでも追加、削除、変更できます。ただし、 のキーポリシーを編集することはできません。 AWS マネージドキー。 詳細については、「」を参照してくださいのキーポリシー AWS KMS。
権限
許可は、 を許可するポリシーインストルメントです。 AWS 使用するプリンシパル AWS KMS keys 暗号化オペレーションの 。また、KMSキー (DescribeKey) を表示し、権限を作成および管理することもできます。KMS キーへのアクセスを許可する場合、権限はキーポリシー および IAMポリシー とともに考慮されます。権限は、キーポリシーやIAMポリシーを変更せずに作成、使用、削除できるため、一時的なアクセス許可としてよく使用されます。グラントは限定的であり、作成と取り消しが容易であるため、一時的なアクセス許可やよりきめ細かなアクセス許可を付与するためによく使用されます。
グラントの用語を含む、グラントの詳細については「での許可 AWS KMS」を参照してください。
KMS キーの使用状況の監査
以下を使用できます..。 AWS CloudTrail キー使用状況を監査するには。 の履歴を含むログファイル CloudTrail を作成します。 AWS API アカウントの 呼び出しおよび関連イベント。これらのログファイルには、すべての が含まれます。 AWS KMS API で行われた リクエスト AWS マネジメントコンソール、 AWS SDKs、、およびコマンドラインツール。ログファイルには、 へのリクエストも含まれます。 AWS KMS that AWS サービスはユーザーに代わって を行います。これらのログファイルを使用して、KMSキーが使用された日時、リクエストされたオペレーション、リクエスタの ID、送信元 IP アドレスなどの重要な情報を見つけることができます。詳細については、を使用したログ記録 AWS CloudTrail「」および「」を参照してください。 AWS CloudTrail ユーザーガイド 。
キー管理インフラストラクチャ
暗号化の一般的なプラクティスは、 AES (Advanced Encryption Standard) やシークレットキーなどの公開されているピアレビューアルゴリズムを使用して暗号化および復号することです。暗号化での主な問題の 1 つは、キーを秘密にしておくのが非常に困難なことです。これは通常、キー管理インフラストラクチャ () のジョブですKMI。 AWS KMS がキーインフラストラクチャをお客様に代わって運用します。 AWS KMS は、 と呼ばれるルートキーを作成して安全に保存します。 AWS KMS keys。 方法の詳細については、 AWS KMS が動作します。「」を参照してくださいAWS Key Management Service 暗号化の詳細 。