COLUMN

AWS Key Management Service(KMS)とは?仕組みや使い方を解説

AWSのお役立ち情報、活用事例やイベント情報などNTT東日本のクラウドエンジニアから週1回お届けするクラソルメールマガジンです。ぜひご登録ください。

AWSのサービスの中には、データを暗号化して保存する機能を提供しているものがあります。たとえば、Amazon S3やAmazon EBSなどが挙げられます。

しかし、暗号化には鍵が必要です。鍵をどのように管理するかは、情報セキュリティや運用の観点から重要な課題です。そこで、AWSが提供する鍵管理サービスであるAWS Key Management Service(KMS)の役割と仕組み、使い方について解説します。

1.AWS Key Management Service(KMS)とは?

AWS Key Management Service(KMS)とは、AWSのサービスやアプリケーションで使用する暗号化/復号化のためのキーを管理するサービスです。AWS KMSでは、KMSキーと呼ばれる暗号化/復号化のためのキーを作成、保管、使用、無効化、削除することができます。

KMSキーは、暗号化/復号化のためのキーをAWS KMS上で簡単に生成・保管でき、AWSのリージョンごとに管理されます。また、これらのキーはAWSの情報セキュリティ基準に従って安全に保護された状態で運用できる点が特徴です。

1-1.AWS KMSを使うメリット

AWS KMSを使う具体的なメリットは以下の3つです。

フルマネージド型

AWS KMSはAWSのフルマネージド型サービスのひとつです。そのため、キーを保管している物理的なサーバーの状態や情報セキュリティ対策に関して、ユーザーは管理する必要がありません。

AWS上で安全にキーを管理できる

暗号化/復号化のためのキーはAWS KMSで管理され、マスターキーはユーザーのローカル環境にはダウンロードできません。そのため、安全に保管できます。

キーの使用状況などは記録される

AWS KMS上で管理される暗号化/復号化のためのキーは、「ユーザーの詳細」「時間」「日付」「APIアクション」「使用状況」などがすべて記録されます。

ソフトウェアからAPIによってリクエストされた記録が残り、その記録はリスク管理はもちろん、デジタル的な法的証拠としても利用することができます。

AWSのお役立ち情報、活用事例やイベント情報などNTT東日本のクラウドエンジニアから週1回お届けするクラソルメールマガジンです。ぜひご登録ください。

2.AWS KMSの仕組みと使い方:データ暗号化/復号化

AWS KMSを実際利用する場合、どのように使えばよいでしょうか。ここでは、AWS KMSの使い方と仕組みについて、データ暗号化/復号化の流れを紹介します。

2-1.AWS KMSを使った暗号化の流れ

AWS KMSを使ってデータを暗号化する流れを紹介します。暗号化には、AWS Command Line Interface (CLI) やAWS SDK for Java 、AWS SDK for .NET 、AWS SDK for Python (Boto3) 、AWS SDK for JavaScript in Node.js等を使用します。

2-1-1. 1.AWS KMS上にCMK(カスタマーマスターキー)を作成

まず、マネージメントコンソールで、データを暗号化するときに利用するキーを生成するためのCMKを作成します。この際に、暗号化/復号化のためのキーの種類や、管理者・利用者権限の設定、キーポリシー設定を行います。

2-1-2. 2. CMKのKeyIDからデータキーを作成

AWS KMS上にCMKを作成したら、CMKを元にしたKeyIDから「データキー」を作成します。ここでは、暗号化と復号化を行うためのペアとして、以下の2種類のキーが作成されます。データを暗号化するために利用するのは、「暗号化用のデータキー」です。

  • 暗号化用のデータキー:データを暗号化するためのキー
  • CMKを元に暗号化されたデータキー:データ復号化のために利用するキー

CMK自体を用いてデータを直接暗号化することもできますが、通常は実際に実データの暗号化処理を行うためのデータキーを発行して、それを用いて暗号化を行います。

暗号化は、AWS CLIだけでなくAWS Management ConsoleやAWS SDKs、AWS CloudFormationなどで作成することが可能です。

2-1-3. 3. ローカル環境にてデータを暗号化

「2. CMKのKeyIDからデータキーを作成」で受け取った「暗号化用のデータキー」を使ってデータを暗号化します。

暗号化をするときには、AWS KMSへ何かをリクエストすることなく、ローカル環境のみで暗号化できます。

2-1-4. 4. 暗号化されていないデータキーを破棄

暗号化が完了したら、暗号化に利用した「暗号化用のデータキー」をすぐに破棄します。

万が一「暗号化用のデータキー」が第三者の手に渡った場合、暗号化したデータを簡単に復号化することができてしまい、セキュアな状態を保つことができなくなるためです。

2-2.AWS KMSを使った復号化の流れ

続いて、AWS KMSを使ってデータを復号化する流れを紹介します。復号化する際には、AWS Command Line Interface (CLI) やAWS SDK for Java 、AWS SDK for .NET 、AWS SDK for Python (Boto3) 、AWS SDK for JavaScript in Node.js等を使用できます。

2-2-1. 1. データキーの復号化

まずは、「暗号化の流れ」の中でユーザーが受け取った「CMKを元に暗号化されたデータキー」を復号化します。

このときに、データキーを復号化するため「KeyID」と「CMKを元に暗号化されたデータキー」をAWS KMSに渡し、「復号化されたデータキー」を受け取ります。

2-2-2. 2. ローカル環境にてデータを復号化

「1. データキーの復号化」で復号化したデータキーで、「暗号化されているデータ」を復号化します。

2-2-3. 3. 復号化したデータキーを破棄

データの復号化に利用した「復号化されたデータキー」を破棄します。

これで、データの復号化は完了です。

AWSのお役立ち情報、活用事例やイベント情報などNTT東日本のクラウドエンジニアから週1回お届けするクラソルメールマガジンです。ぜひご登録ください。

3.AWS KMSとAWS Secret Managerとの違い

前述の通り、AWS KMSは暗号化/復号化のためのCMKを管理しますが、同じようにAWSには認証情報を管理するサービス「AWS Secret Manager」があります。

どちらも機密情報を保管するサービスという意味では共通していますが、両者には以下のような違いがあります。

AWS Secret Manager:認証情報などのシークレットを保管する

AWS KMS:データを暗号化/復号化するために利用するキーを作成するためのCMKを保管する

データベースに接続するための認証情報であるシークレットを利用する場合はAWS Secret Managerを利用し、データの暗号化や復号化を安全に行いたい場合にはAWS KMSを利用するなど、利用シーンに合わせてサービスを選定できるということです。

4.AWS KMSの利用料金

AWS KMSの料金は、CMKの使用量や暗号化リクエストの回数によって決定されます。

AWS KMSでCMKなどを保管している期間は、月1USD(1時間ごとに割り引かれる)の料金がかかります。キー作成やキーを保管するストレージに対する料金はかかりません。

ただし、APIリクエストに対して無料利用枠(合計20,000リクエスト/月)を超えた場合は費用がかかります。

無料利用枠を超えた場合の料金についてはリージョンによって異なります。ここでは「アジアパシフィック(東京)」の場合を紹介します。

  • 10,000リクエストあたり0.03USD
  • RSA2048キーを含むリクエスト10,000 件あたり0.03USD
  • 10,000 ECC GenerateDataKeyPairリクエストあたり0.10USD
  • RSA2048を除く非対称リクエスト10,000 件あたり0.15USD
  • RSA GenerateDataKeyPairリクエスト10,000件あたり12.00USD

詳しくは、以下の公式ページをご参照ください。

AWS Key Management Service の料金(AWS)

AWSのお役立ち情報、活用事例やイベント情報などNTT東日本のクラウドエンジニアから週1回お届けするクラソルメールマガジンです。ぜひご登録ください。

5.AWSの運用ならぜひNTT東日本にご相談ください

AWS KMSは、AWSが提供する鍵管理サービスで、AWSで利用する暗号化/復号化のためのキーを作成、保管、使用、無効化などができます。しかし、利用するには、多くの知識や経験が必要です。

AWSの認定パートナーであるNTT東日本は、AWSのサービスに関する豊富な知識と経験を持っています。また、お客さまのニーズに合わせて、AWSのサービス選定や設計、構築や運用などをご提案いたします。

不明点や気になる点がありましたら、以下「クラウドに関するご相談・お問い合わせフォーム」よりお問い合わせください。

NTT東日本のクラウド導入・運用 for AWS / Microsoft Azure

AWS KMSについてまとめ

AWS KMSとは、AWSのサービスやアプリケーションで使用する暗号化/復号化のためのキーを管理するサービスで、利用することで、KMSキーと呼ばれる暗号化/復号化のためのキーを作成、保管、使用、無効化、削除することができます。

貴社でAWS KMSについてお悩みのことがありましたら、ぜひNTT東日本へお気軽にご相談ください。

ページ上部へ戻る

無料ダウンロード

自社のクラウド導入に必要な知識、ポイントを
このに総まとめ!

あなたはクラウド化の
何の情報を知りたいですか?

  • そもそも自社は本当にクラウド化すべき?オンプレとクラウドの違いは?
  • 【AWS・Azure・Google Cloud】
    どれが自社に最もマッチするの?
  • 情シス担当者の負荷を減らしてコストを軽減するクラウド化のポイントは?
  • 自社のクラウド導入を実現するまでの具体的な流れ・検討する順番は?

初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。

NTT東日本では
そんなあなたにクラウド導入に必要な情報を

1冊の冊子にまとめました!

クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・

  • システムインフラの維持にかかるトータルコストがあまり変わらない。。
  • 情シス担当者の負担が減らない。。
  • セキュリティ性・速度など、クラウド期待する効果を十分に享受できない。。
理想的なクラウド環境を実現するためにも、
最低限の4つのポイントを
抑えておきたいところです。
  • そもそも”クラウド化”とは?
    その本質的なメリット・デメリット
  • 自社にとって
    最適なクラウド環境構築のポイント
  • コストを抑えるため
    具体的なコツ
  • 既存環境からスムーズにクラウド化
    実現するためのロードマップ

など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。

クラウドのわからない・
面倒でお困りのあなたへ

クラウドのご相談できます!
無料オンライン相談窓口

NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!

NTT東日本が選ばれる5つの理由

  • クラウド導入を
    0からワンストップでサポート可能!
  • 全体最適におけるコスト効率・業務効率の改善
    中立的にご提案
  • クラウド環境に問題がないか、
    第3者目線でチェック
    してもらいたい
  • 安心の24時間・365日の対応・保守
  • NTT東日本が保有する豊富なサービスの組み合わせで
    ”課題解決”と”コスト軽減”を両立

特に以下に当てはまる方はお気軽に
ご相談ください。

  • さまざまな種類やクラウド提供事業者があってどれが自社に適切かわからない
  • オンプレミスのままがよいのか、クラウド移行すべきなのか、迷っている
  • オンプレミスとクラウド移行した際のコスト比較を行いたい
  • AWSとAzure、どちらのクラウドが自社に適切かわからない
  • クラウド環境に問題がないか、第3者目線でチェックしてもらいたい
  • クラウド利用中、ネットワークの速度が遅くて業務に支障がでている

クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。

相談無料!プロが中立的にアドバイスいたします

クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。