の主要な管理のベストプラクティス AWS KMS - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

の主要な管理のベストプラクティス AWS KMS

AWS Key Management Service (AWS KMS) を使用する場合、設計に関する基本的な決定事項がいくつかあります。これには、キーの管理とアクセスに集中型モデルを使用するか分散型モデルを使用するか、使用するキーのタイプ、使用するキーストアのタイプが含まれます。以下のセクションは、組織やユースケースに適した意思決定を行うのに役立ちます。このセクションでは、データとキーを保護するために実行する必要があるアクションなど、KMS キーの無効化と削除に関する重要な考慮事項をまとめました。

集中型モデルまたは分散型モデルの選択

AWS では、複数の を使用し AWS アカウント 、それらのアカウントを 1 つの組織として管理することをお勧めしますAWS Organizations。 AWS KMS keys マルチアカウント環境で を管理するには、2 つの幅広いアプローチがあります。

最初のアプローチは、分散型アプローチです。このアプローチでは、これらのキーを使用する各アカウントにキーを作成します。保護するリソースと同じアカウントに KMS キーを保存すると、 AWS プリンシパルとキーのアクセス要件を理解しているローカル管理者にアクセス許可を委任する方が簡単です。キーポリシーのみを使用してキーの使用を承認するか、 AWS Identity and Access Management (IAM) でキーポリシーとアイデンティティベースのポリシーを組み合わせることができます。

2 番目のアプローチは、1 つまたは少数の指定された KMS キーを維持する一元的なアプローチです AWS アカウント。暗号化オペレーションにのみキーを使用することを他の アカウントに許可します。キー、そのライフサイクル、およびアクセス許可は、一元化されたアカウントから管理します。他の AWS アカウント にキーの使用を許可しますが、他のアクセス許可は許可しません。外部アカウントは、キーのライフサイクルまたはアクセス許可について何も管理できません。この一元化されたモデルは、委任された管理者またはユーザーによるキーの意図しない削除や特権のエスカレーションのリスクを最小限に抑えるのに役立ちます。

選択するオプションは、いくつかの要因によって異なります。アプローチを選択するときは、次の点を考慮してください。

  1. キーとリソースへのアクセスをプロビジョニングする自動プロセスまたは手動プロセスはありますか? これには、デプロイパイプラインやInfrastructure as Code (IaC) テンプレートなどのリソースが含まれます。これらのツールは、多くの にリソース (KMS キー、キーポリシー、IAM ロール、IAM ポリシーなど) をデプロイして管理するのに役立ちます AWS アカウント。これらのデプロイツールがない場合は、キー管理への一元化されたアプローチがビジネスにとってより管理しやすい場合があります。

  2. KMS キーを使用するリソース AWS アカウント を含むすべての を管理できますか? その場合、一元化されたモデルによって管理が簡素化され、キーを管理する AWS アカウント ための切り替えが不要になります。ただし、キーを使用するための IAM ロールとユーザーアクセス許可は、引き続きアカウントごとに管理する必要があります。

  3. 独自の AWS アカウント および リソースを持つ顧客またはパートナーに KMS キーを使用するためのアクセスを提供する必要がありますか? これらのキーの場合、一元化されたアプローチにより、顧客やパートナーの管理上の負担を軽減できます。

  4. 一元化されたアクセスアプローチまたはローカルアクセスアプローチのいずれかによって解決された AWS リソースへのアクセスに対する認可要件はありますか? 例えば、さまざまなアプリケーションやビジネスユニットが独自のデータのセキュリティを管理する場合は、キー管理への分散アプローチが適しています。

  5. のサービスリソースクォータを超えていますか AWS KMS? これらのクォータは ごとに設定されるため AWS アカウント、分散モデルはアカウント間で負荷を分散し、サービスクォータを効果的に乗算します。

    注記

    リクエストクォータを考慮する場合、キーの管理モデルは関係ありません。これらのクォータは、キーを所有または管理するアカウントではなく、キーに対してリクエストを行うアカウントプリンシパルに適用されるためです。

一般的に、一元化された KMS キーモデルの必要性を明確にしない限り、分散アプローチから始めることをお勧めします。

カスタマーマネージドキー、 AWS マネージドキー、または AWS 所有キーの選択

独自の暗号化アプリケーションで使用するために作成および管理する KMS キーは、カスタマーマネージドキーと呼ばれます。 は、カスタマーマネージドキーを使用して、サービスがユーザーに代わって保存するデータを暗号化 AWS のサービス できます。ライフサイクルとキーの使用を完全に制御する場合は、カスタマーマネージドキーをお勧めします。アカウント内でカスタマーマネージドキーを使用する場合、月額料金が発生します。さらに、キーを使用または管理するリクエストには、使用コストが発生します。詳細については、「AWS KMS 料金表」を参照してください。

AWS のサービス でデータを暗号化したいが、キー管理のオーバーヘッドやコストが不要な場合は、 AWS マネージドキーを使用できます。このタイプのキーはアカウントに存在しますが、特定の状況でのみ使用できます。これは、運用 AWS のサービス している のコンテキストでのみ使用でき、キーを含むアカウント内のプリンシパルのみが使用できます。これらのキーのライフサイクルやアクセス許可については、何も管理できません。一部の は AWS マネージドキー AWS のサービス を使用します。 AWS マネージドキーエイリアスの形式は ですaws/<service code>。たとえば、 aws/ebsキーは、 キーと同じアカウントの Amazon Elastic Block Store (Amazon EBS) ボリュームの暗号化にのみ使用でき、そのアカウントの IAM プリンシパルのみが使用できます。 AWS マネージドキーは、そのアカウントのユーザーと、そのアカウントのリソースに対してのみ使用できます。 AWS マネージドキーで暗号化されたリソースを他のアカウントと共有することはできません。これがユースケースの制限である場合は、代わりにカスタマーマネージドキーを使用することをお勧めします。そのキーの使用を他のアカウントと共有できます。アカウントに AWS マネージドキーが存在する場合は課金されませんが、このキータイプの使用は、キー AWS のサービス に割り当てられた によって課金されます。

AWS マネージドキーは、2021 AWS のサービス 年の時点で新しい 用に作成されなくなったレガシーキータイプです。代わりに、新しい (およびレガシー) AWS のサービス は AWS 所有キーを使用してデフォルトでデータを暗号化します。 AWS 所有キーは、 が複数の で使用するために AWS のサービス 所有および管理する KMS キーのコレクションです AWS アカウント。これらのキーは にはありませんが AWS アカウント、 は キーを使用してアカウントのリソースを保護 AWS のサービス できます。

きめ細かな制御が最も重要な場合はカスタマーマネージドキーを使用し、利便性が最も重要な場合は AWS 所有キーを使用することをお勧めします。

次の表に、各キータイプのキーポリシー、ログ記録、管理、および料金の違いを示します。キータイプの詳細については、AWS KMS 「 の概念」を参照してください。

考慮事項 カスタマーマネージドキー AWS マネージドキー AWS 所有キー
キーポリシー カスタマーが排他的に制御する サービスによって制御され、カスタマーは閲覧可能 排他的に制御され、データを暗号化 AWS のサービス する でのみ表示可能
ログ記録 AWS CloudTrail カスタマー証跡またはイベントデータストア CloudTrail カスタマー証跡またはイベントデータストア カスタマーは閲覧できない
ライフサイクル管理 お客様がローテーション、削除、および AWS リージョン AWS のサービス がローテーション (年単位)、削除、リージョンを管理する AWS のサービス がローテーション (年単位)、削除、リージョンを管理する
料金表 キー存在の月額料金 (時間単位で按分)。呼び出し元には API の使用料金が請求されます。 キーの存在に対して料金はかかりません。呼び出し元は API の使用に対して課金されます。 カスタマーへの請求はなし

AWS KMS キーストアの選択

キーストアは、暗号化キーマテリアルを保存して使用するための安全な場所です。キーストアの業界のベストプラクティスは、セキュリティレベル 3 の NIST Federal Information Processing Standards (FIPS) 140 暗号化モジュール検証プログラムで検証されたハードウェアセキュリティモジュール (HSM) と呼ばれるデバイスを使用することです。支払いの処理に使用されるキーストアをサポートする他のプログラムもあります。 AWS Payment Cryptography は、支払いワークロードに関連するデータを保護するために使用できるサービスです。

AWS KMS は、 を使用して暗号化キーを作成および管理するときにキーマテリアルを保護する AWS KMS のに役立つ複数のキーストアタイプをサポートしています。が提供するすべてのキーストアオプション AWS KMS は、セキュリティレベル 3 の FIPS 140 で継続的に検証されます。これらは、 AWS オペレーターを含むすべてのユーザーが、プレーンテキストキーにアクセスしたり、アクセス許可なしで使用したりできないように設計されています。使用可能なキーストアのタイプの詳細については、 AWS KMS ドキュメントの「キーストア」を参照してください。

AWS KMS 標準キーストアは、ほとんどのワークロードに最適な選択肢です。別のタイプのキーストアを選択する必要がある場合は、規制やその他の要件 (内部など) でこの選択を必須としているかどうかを慎重に検討し、コストと利点を慎重に検討してください。

KMS キーの削除と無効化

KMS キーを削除すると、大きな影響を与える可能性があります。今後使用しない KMS キーを削除する前に、キーの状態を Disabled に設定することが適切かどうかを検討してください。キーが無効になっている間は、暗号化オペレーションには使用できません。まだ に存在し AWS、必要に応じて後で再度有効にすることができます。無効になっているキーには、引き続きストレージ料金が発生します。キーがデータやデータキーを保護しないと確信するまでは、キーを削除するのではなく、キーを無効にすることをお勧めします。

重要

キーの削除は慎重に計画する必要があります。対応するキーが削除された場合、データは復号できません。 AWS には、削除されたキーが削除された後に復元する手段はありません。の他の重要なオペレーションと同様に AWS、キーの削除をスケジュールし、キーの削除に多要素認証 (MFA) を必要とするユーザーを制限するポリシーを適用する必要があります。

誤ってキーが削除されないように、 は、キーを削除する前に、DeleteKey呼び出しの実行から 7 日間のデフォルトの最小待機期間 AWS KMS を適用します。待機期間は、最大値の 30 日に設定できます。待機期間中、キーは削除保留中の状態のまま AWS KMS に保存されます。暗号化または復号オペレーションには使用できません。暗号化または復号のために削除保留中状態のキーを使用しようとすると、 に記録されます AWS CloudTrail。CloudTrail ログでこれらのイベントに Amazon CloudWatch アラームを設定できます。これらのイベントでアラームを受け取った場合は、必要に応じて削除プロセスをキャンセルできます。待機期間が終了するまで、削除保留中の状態からキーを復元し、無効または有効状態に復元できます。

マルチリージョンキーを削除するには、元のコピーの前にレプリカを削除する必要があります。詳細については、「マルチリージョンキーの削除」を参照してください。

インポートされたキーマテリアルでキーを使用している場合は、インポートされたキーマテリアルをすぐに削除できます。これは、いくつかの点で KMS キーを削除するのとは異なります。DeleteImportedKeyMaterial アクションを実行すると、 はキーマテリアル AWS KMS を削除し、キーの状態はインポート保留中に変わります。キーマテリアルを削除すると、そのキーはすぐに使用できなくなります。待機期間はありません。キーを再度使用できるようにするには、同じキーマテリアルを再度インポートする必要があります。KMS キーの削除の待機期間は、インポートされたキーマテリアルを持つ KMS キーにも適用されます。

データキーが KMS キーによって保護され、 によってアクティブに使用されている場合 AWS のサービス、関連する KMS キーが無効になっているか、インポートされたキーマテリアルが削除されても、すぐには影響を受けません。たとえば、インポートされたマテリアルを持つキーが SSE-KMS でオブジェクトを暗号化するために使用されたとします。オブジェクトを Amazon Simple Storage Service (Amazon S3) バケットにアップロードしています。オブジェクトをバケットにアップロードする前に、マテリアルをキーにインポートします。オブジェクトがアップロードされたら、インポートされたキーマテリアルをそのキーから削除します。オブジェクトは暗号化された状態でバケットに残りますが、削除されたキーマテリアルがキーに再インポートされるまでオブジェクトにアクセスすることはできません。このフローでは、キーからキーマテリアルをインポートおよび削除するための正確な自動化が必要ですが、環境内で追加のレベルの制御を提供することができます。

AWS は、KMS キーの予定された削除を (必要に応じて) モニタリングおよび修復するのに役立つ規範的なガイダンスを提供します。詳細については、「スケジュールされた AWS KMS キーの削除のモニタリングと修復」を参照してください。