概要

AWS Key Management Service (KMS) を利用すると、データ保護に使用される暗号化キーを一元管理できます。AWS の他のサービスと統合されているため、これらのサービスに格納されているデータの暗号化と、こうした暗号を復号するキーへのアクセス制御がより容易になります。また、AWS KMS は AWS CloudTrail とも統合されており、誰がどのキーを、どのリソースで、いつ使用したかを監査できます。デベロッパーは AWS KMS を使用すると、暗号化機能やデジタル署名機能をアプリケーションコードに直接または AWS SDK を使用してより簡単に追加できます。AWS Encryption SDK は、アプリケーション内でローカルにデータを暗号化または復号化する必要があるデベロッパー向けのキープロバイダーとして AWS KMS をサポートします。

AWS KMS では、キーのライフサイクルと権限の一元管理ができます。いつでも新しいキーを作成でき、キーを使用できるユーザーとは別に、キーを管理できるユーザーを制御できます。AWS KMS によって生成されたキーを使用する代わりに、独自のキー管理インフラストラクチャのキーをインポートしたり、AWS CloudHSM クラスターに保存されたキーや外部のキーマネージャで AWS 外に保存されているキーを使用したりできます。AWS KMS で生成されたルートキーを 1 年に 1 度自動ローテーションするように選択すると、一度暗号化したデータを再び暗号化する必要がなくなります。こうしたデータの復号に利用できるように、古いルートキーは自動的に保存されます。ルートキーの管理とその使用状況の監査は、AWS マネジメントコンソールから、AWS SDK か AWS コマンドラインインターフェイス (CLI) を使用して行います。

* 非対称キーの場合、インポートするオプションは利用できません。

AWS のサービスの統合

AWS KMS は AWS のサービスと統合され、それによって保管中のデータを暗号化でき、AWS KMS キーを利用して署名や検証が容易になります。保管中のデータを保護するには、統合されたAWS のサービスでエンベロープ暗号化を使用します。この暗号化では、データキーが使用され、データキー自体が AWS KMS に保存される KMS キーに基づいて暗号化されます。署名や検証にあたっては、統合された AWS のサービスでは、AWS KMS の非対称 RSA または ECC KMS キーのキーペアを使用します。統合されたサービスで AWS KMS を使用する方法の詳細については、AWS のサービスに関するドキュメントをご覧ください。

AWS KMS と統合されている AWS のサービス
Alexa for Business[1] Amazon FSx Amazon Omics AWS CloudTrail
Amazon AppFlow AWS Ground Station Amazon Personalize AWS CodeArtifact
Amazon Athena Amazon GuardDuty Amazon QLDB AWS CodeBuild
Amazon Aurora Amazon HealthLake Amazon Redshift AWS CodeCommit[1]
Amazon CloudWatch Logs Amazon Inspector Amazon Rekognition AWS CodePipeline
Amazon CloudWatch Synthetics Amazon Kendra Amazon Relational Database Service (RDS) AWS Control Tower
Amazon CodeGuru Amazon Keyspaces (Apache Cassandra 向け) Amazon Route 53 AWS Database Migration Service
Amazon Comprehend Amazon Kinesis Data Streams Simple Storage Service (Amazon S3) AWS Elastic Disaster Recovery
Amazon Connect Amazon Kinesis Firehose Amazon SageMaker AWS Elemental MediaTailor
Amazon Connect Customer Profiles Amazon Kinesis Video Streams Amazon Simple Email Service (SES) AWS Glue
Amazon Connect Voice ID Amazon Lex Amazon Simple Notification Service (SNS) AWS Glue DataBrew
Amazon Connect Wisdom Amazon Lightsail[1] Amazon Simple Queue Service (SQS) AWS IoT SiteWise
Amazon DocumentDB Amazon Location Service Amazon Textract AWS Lambda
Amazon DynamoDB Amazon Lookout for Equipment Amazon Timestream AWS License Manager
Amazon DynamoDB Accelerator (DAX)[1] Amazon Lookout for Metrics Amazon Transcribe AWS Network Firewall
Amazon EBS Amazon Lookout for Vision Amazon Translate AWS Proton
Amazon EC2 Image Builder Amazon Macie Amazon WorkMail AWS Secrets Manager
Amazon EFS Amazon Managed Blockchain Amazon WorkSpaces AWS Snowball
Amazon Elastic Container Registry (ECR) Amazon Managed Service for Prometheus Amazon WorkSpaces Web AWS Snowball Edge
Amazon Elastic Kubernetes Service (EKS) Amazon Managed Streaming for Kafka (MSK) AWS Audit Manager AWS Snowcone
Amazon Elastic Transcoder Amazon Managed Workflows for Apache Airflow (MWAA) AWS Application Cost Profiler AWS Snowmobile
Amazon ElastiCache Amazon MemoryDB AWS Application Migration Service AWS Storage Gateway
Amazon EMR Amazon Monitron AWS App Runner AWS Systems Manager
Amazon EMR Serverless Amazon MQ AWS Backup AWS X-Ray
Amazon FinSpace Amazon Neptune AWS Certificate Manager[1]  
Amazon Forecast Amazon Nimble Studio AWS Cloud9[1]  
Amazon Fraud Detector Amazon OpenSearch AWS CloudHSM[2]  

[1] AWS 管理のキーのみをサポートします。

[2] AWS KMS は、AWS CloudHSM クラスターによってバックアップされたカスタムキーストアをサポートしています。

[3] Sinnet により運営される AWS 中国 (北京) リージョンおよび NWCD により運営される AWS 中国 (寧夏) リージョンでの AWS KMS と統合されたサービスの一覧については、中国での AWS KMS サービスの統合をご覧ください。

上記リストにない AWS のサービスでは、各サービスが所有および管理するキーを使用して顧客データを自動的に暗号化します。

監査モニタリング

AWS アカウントで AWS CloudTrail を有効にしている場合、AWS KMS への各リクエストはログファイルに記録されます。このログファイルは、AWS CloudTrail を有効にしたときに指定した Amazon Simple Storage Service (Amazon S3) のバケットに配信されます。記録される情報には、ユーザーの詳細、時間、日付、API アクション、関連する場合には使用されるキーが含まれます。

スケーラビリティ、耐久性、高可用性

AWS KMS は、完全マネージド型サービスです。暗号化の使用が増加すると、ニーズに合わせてサービスが自動的にスケールされます。AWS KMS なら、アカウント内の数万規模の KMS キーを管理し、いつでも使用できます。AWS KMSでは、キーの数と要求レートのデフォルト制限が定義されていますが、必要に応じて制限を増やすようにリクエストできます。

ユーザー本人が作成したか、他の AWS のサービスが作成を代行した KMS キーはサービスからエクスポートできないため、AWS KMS がその耐久性に責任を負います。キーおよびデータの可用性を確認するために、AWS KMS は 99.999999999% の耐久性を持つように設計されたシステムに、キーの暗号化されたバージョンの複数のコピーを格納します。

リージョン間を移動する暗号化されたデータまたはデジタル署名ワークフロー (ディザスタリカバリ、マルチリージョンの高可用性アーキテクチャ、DynamoDB Global Tables、グローバルに分散された一貫性のあるデジタル署名) の場合、KMS マルチリージョンキーを作成できます。KMS マルチリージョンキーは、同じキー素材とキー ID を持つ相互運用可能なキーのセットで、複数のリージョンに複製することができます。

AWS KMS は、リージョンの API エンドポイントで高可用性サービスとして設計されています。ほとんどの AWS サービスが暗号化と復号化のためにこれに依存しているため、AWS KMS は可用性のレベルを提供するように設計されています。この可用性は AWS の残りの部分をサポートしAWS KMS Service Level Agreement によって支えられています

セキュア

AWS KMS では、AWS の従業員を含めて誰もこのサービスからプレーンテキストのキーを取得できないように設計されています。FIPS 140-2 に基づき検証済みまたは検証段階にあるハードウェアセキュリティモジュール (HSM) を使用して、キーの機密性と完全性を保護しています。ユーザーのプレーンテキストキーがディスクに書き込まれることはなく、ユーザーがリクエストする暗号化処理の実行に必要な時間に HSM の揮発性メモリでのみ使用されます。これは、AWS KMS にキーの作成をリクエストするか、サービスにインポートするか、カスタムキーストア機能を使用して AWS CloudHSM クラスターにキーを作成するかどうかに関係なく当てはまります。AWS KMS のサービスで作成されたキーは、作成された AWS リージョンから移動されることはありません。また、作成されたリージョン以外では使用できません。AWS KMS HSM のファームウェアの更新は、マルチパーティのアクセスコントロールによって制御されます。このアクセスコントロールは、FIPS 140-2 に準拠し、Amazon 内の独立したグループと NIST 認定ラボによって監査およびレビューされます。

AWS KMS がどのように構築されるか、およびキーを保護するために使用される暗号化の詳細については、AWS KMS の暗号化の詳細を参照してください。

* Sinnet により運営される AWS 中国 (北京) リージョンおよび NWCD により運営される AWS 中国 (寧夏) リージョンでは、HSM は中国政府承認済み (FIPS 140-2 検証なし) であり、上記の Cryptographic Details ホワイトペーパーは適用されません。 

非対称キー

AWS KMS は、非対称 KMS キーとデータキーペアの作成と使用に役立ちます。また、署名用キーペアまたは暗号化用キーペアとして KMS キーを指定できます。指定した KMS キーを使用したキーペアの生成と非対称の暗号化処理は HSM 内で行われます。非対称 KMS キーの公開部分の使用はローカルアプリケーションでリクエストできますが、非公開部分は必ず AWS KMS でリクエストする必要があります。

AWS KMS に非対称データキーペアの生成をリクエストすることもできます。リクエストすると、パブリックキーとプライベートキー、および ユーザーが指定する対称タイプの KMS キーで暗号化されたプライベートキーのコピーのプレーンテキストコピーが返されます。このプレーンテキストのパブリックまたはプライベートキーはローカルアプリケーションで使用できます。また、将来使用するためにプライベートキーの暗号化コピーを保存することもできます。

* 非対称キーはカスタムキーストアでサポートされていません。

HMAC

AWS KMS の FIPS 140-2 検証済みハードウェアセキュリティモジュール (HSM) 内から Hash-based Message Authentication Code (HMAC) を生成して検証することができます。HMAC は暗号化ビルディングブロックであり、ハッシュ関数内にシークレットキーの素材を組み込んで、一意の鍵付きメッセージ認証コードを作成します。HMAC KMS キーは、キーマテリアルが完全に AWS KMS 内で生成および使用されるため、アプリケーションソフトウェアからの HMAC と比較して、メリットがあります。また、キーに設定したアクセスコントロールに従います。AWS KMS が使用する HMAC KMS キーと HMAC アルゴリズムは、RFC 2104 で定義されている業界標準に準拠しています。HMAC KMS キーは、FIPS 140-2 暗号化モジュール検証プログラムの認証を受けた AWS KMS ハードウェアセキュリティモジュール (中国 [北京]、中国 [寧夏] リージョンを除く) で生成され、AWS KMS を暗号化しない状態にしておくことはありません。

* AWS KMS HMAC キーはカスタムキーストアでサポートされていません。

コンプライアンス

AWS KMS のセキュリティコントロールと品質管理は、以下のコンプライアンス制度によって検証および認定されています。

  • AWS Service Organization Controls (SOC 1、SOC 2、および SOC 3) レポート。これらのレポートのコピーは AWS Artifact からダウンロードできます。
  • PCI DSS レベル 1。AWS における PCI DSS 準拠のサービスについては、PCI DSS よくある質問を参照してください。
  • FIPS 140-2。AWS KMS 暗号化モジュールは、すべが FIPS 140-2 レベル 2 で、検証済みまたは検証過程にあり、物理セキュリティを含む複数の他のカテゴリではレベル 3 で検証済みまたは検証過程にあります。詳細は、AWS KMS HSM に対する FIPS 140-2 の証明書と関連するセキュリティポリシーを参照してください。
  • FedRAMP。AWS FedRAMP コンプライアンスの詳細については、FedRAMP 準拠を参照してください。
  • HIPAA.HIPAA コンプライアンスのページで詳細をご覧ください。
 
AWS KMS は、 こちらに記載されている他のコンプライアンス制度に対して検証され、認定されています。
 
* FIPS 140-2 は、中国リージョンの AWS KMS には適用されません。代わりに、中国リージョンのハードウェアセキュリティモジュールは、中国政府によって使用が承認されています。

カスタムキーストア

カスタムキーストアは、AWS KMS の便利で包括的なキー管理インターフェイスと、キーマテリアルや暗号化処理が行われるデバイスを所有し管理する機能を兼ね備えています。その結果、暗号キーの可用性と耐久性、および HSM の運用について、より大きな責任を負うことになります。AWS KMS は、2 種類のカスタムキーストアを提供しています。

CloudHSM バックドキーストア

AWS CloudHSM カスタムキーストアに KMS キーを作成することができます。すべてのキーは、お客様が所有し管理する AWS CloudHSM クラスターに生成され保存されます。カスタムキーストアで KMS キーを使用する場合、そのキーに基づく暗号化処理は AWS CloudHSM クラスターのみで実行されます。

カスタムキーストアの使用には AWS CloudHSM クラスターの追加コストが伴い、当該クラスター内のキーマテリアルの可用性についてはユーザーが責任を負うことになります。カスタムキーストアが要件に適しているかどうかについては、こちらのブログを参照してください。

外部キーストア

暗号キーをオンプレミスまたは AWS クラウド外で保管し使用する規制要件がある場合、AWS KMS 外部キーストア (XKS) で KMS キーを作成し、すべてのキーはお客様が所有および管理する AWS 外部の外部キーマネージャで生成および保管されます。XKS を使用する場合、キーマテリアルが HSM から離れることはありません。

標準的な KMS キーや CloudHSM カスタムキーストア内のキーとは異なり、外部キーストアを使用する場合、キーマテリアルの耐久性、可用性、レイテンシー、パフォーマンス、セキュリティと外部キーの暗号操作に責任を持つ必要があります。KMS 運用のパフォーマンスと可用性は、使用する XKS インフラのハードウェア、ソフトウェア、またはネットワークコンポーネントの影響を受けることがあります。XKS の詳細については、こちらの AWS ニュースブログをご覧ください。

* Sinnet 運営の AWS 中国 (北京) リージョン、NWCD 運営の AWS 中国 (寧夏) リージョンではカスタムキーストアは使用できません。
** カスタムキーストアは、非対称 KMS キーでは利用できません。
*** CodeArtifact は、XKS の KMS キーをサポートしていません。

料金の詳細

料金の例を参照し、コストを計算してください。

詳細はこちら 
無料のアカウントにサインアップ

AWS 無料利用枠にすぐにアクセスできます。 

サインアップ 
コンソールで構築を開始する

AWS コンソールで AWS Key Management Service の構築を開始する

サインイン