AWS KMSとは?データを簡単に暗号化!表示方法と有効化を解説


AWS KMSとは?
AWS KMSはKey Management Serviceの略で、データ暗号化に使用されるカスタマーキーを作成、管理できるマネージド型サービスです。 AWS KMSは、AWSサービスほとんどをデータ暗号化で利用することができます。
AWS CloudTrailとも連携して暗号化利用の監査ログを記録することができます。 キーの作成やストレージはもちろん、期限を管理して自動ローテーションする仕組みもあります。また、手元の暗号化マテリアルをインポートして使用することも可能です。
AWS KMSの利用料金
AWS KMSでユーザーが作成したCMK(マスターキー)はカスタムキーストアで作成したもの、またはインポートしたものを問わず、月々1USDのストレージ利用料がかかります。
また、GenerateDataKeyPair、GenerateDataKeyPairWithoutPlaintext APIリクエストで作成されたデータキーペアの場合は、APIリクエストの量によって料金がかかります。 また、APIリクエストには無料枠が設けられており、その範囲内であれば料金はかかりません。
AWS KMSと統合するAWSサービスのリソースを暗号化する場合は、自動的にキーが作成されますが、このキーの作成料金とストレージ料金はかかりません。
KMSの設定方法
AWS KMSの使用を開始するにはまず、AWS KMS CMK(カスタマーマスタキー)を作成します。 この記事ではCMKの作成、表示方法と有効化のやり方を解説していきます。AWS KMSの操作はAWSマネジメントコンソールで実施することができます。
CMKを作成する
AWS KMSでCMKを作成するにはまず、AWSマネジメントコンソールにログインしてサービス一覧のセキュリティ、ID、およびコンプライアンス欄からAWS Key Management Serviceを開きます。 ナビゲーションペインで[カスタマー管理型のキー]-[キーの作成]を選択します。キーのタイプは対称/非対称を選択します。
対称は暗号化オペレーションと復号オペレーションの両方に使用される単一の暗号化キーです。非対称は暗号化と復号化、署名と検証オペレーションに使用できるパブリックキーとプライベートのキーペアです。
キーのタイプを選択したら任意のエイリアスを入力します。ただし先頭に/awsを用いることは出来ません。タグを付けて管理したい場合はこの画面で任意のタグを追加して[次へ]を選択します。
CMKのアクセスユーザーおよびロールの選択を行う
次に、CMKにアクセスするIAMユーザー/ロールを選択していきます。
まず、CMKの管理者となるIAMユーザー/ロールを選択します。このとき、キーの管理者ユーザーがこのキーを削除出来ないようするには、[キーの管理者がこのキーを削除できるようにします。]にチェックを入れて[次へ]を選択します。
次に、CMKを使用アクセスするIAMユーザー/ロールを選択して[次へ]を選択します。
最後に確認画面でこれまで選択した内容がキーポリシードキュメントで表示されますので、内容を確認して[完了]ボタンを選択します。これでCMKの作成は完了です。
キーの表示や編集を行う方法
AWS KMSで作成したCMKは[カスタマー管理型のキー]に一覧として表示されます。
キーの有効/無効化や編集、削除などはキーにチェックを入れて[キーのアクション]から行うことができます。
AWS KMSでのアクセスコントロール方法
AWS KMSへアクセスする際は、AWS KMSカスタマーマスターキーなどのリクエストの認証情報が必要になります。
AWS KMSとIAMを利用することで、AWSリソースへのアクセスコントロールを行うことができます。アクセスコントールを行う主な方法はポリシーを使うことです。ポリシーは誰が何にアクセスできるかを定義したドキュメントです。
ポリシーを使ったアクセスコントロールの方法は3パターンあります。ひとつめはキーポリシーを単独で使用する方法、ふたつめはキーポリシーとIAMポリシーを合わせた方法、最後に許可とキーポリシーを組み合わせた方法になります。
IAMユーザーにポリシーをアタッチすることで、細かいアクセスコントロールを行うことが可能です。
キーポリシーを使用する
キーポリシーは、AWS KMSカスタマーマスターキーへのアクセスコントロールを行うためのものです。
他の方法とも組み合わせることは可能ですが、カスタマーマスタキーへのアクセスコントールを行うためには、キーポリシーは必ず使用する必要があります。
キーポリシーは、JSON形式で記載されたアクセスコントロールに関するドキュメントです。このJSONドキュメントを直接編集するか、AWSマネジメントコンソールからGUIで編集することもできます。
各AWSサービスでKMSを使用する方法
ほとんどのAWSサービスでは、AWS KMSを使ったデータ暗号化をサポートしています。AWSサービスとAWS KMSを統合することで、カスタマーマスターキーをAWSアカウントで利用することができ、データの保護が可能となります。
また、デフォルトでAWS所有のカスタマーキーを使用しているサービスもあるため、適切なセキュリティ対応をできるように、KMSの機能について把握しておくことが重要になります。
AWS CloudTrailでAWS KMSを使用する方法
AWS CloudTrailでAWS KMSを使用する方法を紹介します。
AWS CloudTrailは、AWSのAPI呼び出しやAWSアカウントのアクティビティを記録して、Amazon S3バケット内にログファイルとして保存することができます。
デフォルトでは、CloudTrailによってS3バケットに保存されるログファイルは、Amazon S3で管理された暗号化キーでサーバー側の暗号化 (SSE-S3) を使用していますが、AWS KMSで管理するサーバー側の暗号化(SSE-KMS)を使用することも可能です。
詳しい方法の手順は「AWS CloudTrail User Guide」の「AWS KMS– 管理キー (SSE-KMS) によるCloudTrailログファイルの暗号化」を参照しましょう。
Amazon DynamoDBでAWS KMSを使用する方法
Amazon DynamoDBでAWS KMSを使用する方法を紹介します。
Amazon DynamoDBは、完全マネージド型のNoSQLデータベースを提供するサービスです。DynamoDBはAWS KMSを統合することで、サーバー側におけるデータ保管時の暗号化をサポートします。
AWS KMSを利用することでDynamoDBはDynamoDBテーブルをディスク保存するたびに、プライマリキーやローカル、グローバルのセカンダリインデックスなどを含む、すべてのカスタマーデータを透過的に暗号化することができます。
DynamoDBのテーブルは、デフォルトですべてAWS CMKを使って暗号化されており、無効にすることはできません。ただし、顧客管理CMKまたはAWS管理CMK for DynamoDBアカウントの下にあるテーブルの一部、またはすべてを暗号化するオプションを選択できます。
AWS KMSについてのまとめ
今回はAWS KMSについての概要や使用方法を紹介しました。
AWS KMSを使うことでAWSサービスのデータ暗号化を簡単に行うことができ、また、カスタマーキーのローテーションや、キーのインポートなどのカスタマイズも可能で、幅広いニーズに対応したセキュリティ管理が可能です。
AWSサービスの中にはデフォルトでAWS KMSを使っているものもあるため、その仕組みについて知っておき、適切な管理を行なっていくことが重要になるでしょう。]]>
この記事の監修者・著者

- AWSパートナー/Salesforce認定コンサルティングパートナー 認定企業
-
ITエンジニア派遣サービス事業を行っています。AWSやSalesforceなど専門領域に特化したITエンジニアが4,715名在籍し、常時100名以上のITエンジニアの即日派遣が可能です。
・2021年:AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
・2022年3月:人材サービス型 AWSパートナー認定
・AWS認定資格保有者数1,154名(2024年6月現在)
・Salesforce認定コンサルティングパートナー
・Salesforce認定資格者276名在籍(2024年5月現在)
・LPIC+CCNA 認定資格者:472 名(2024年6月時点)
最新の投稿
- 2024-12-27営業インタビュー情報共有の活性化の中心に。SP企画部の新たな取り組み
- 2024-07-01営業インタビュー最短で当日にご提案可能。 OPE営業の対応が早い3つの理由
- 2024-07-01営業インタビュー研修見学ツアーが高評価!「お客様のOPEに対する期待を高め、継続に貢献できればと思います。」
- 2024-07-01営業インタビュー信頼関係を構築し、エンジニアの長期就業へ

- 求人・転職サイトや自社採用サイトを使っているが、自社に合ったITエンジニアが応募してこない…
- すぐに採用したいが、応募がぜんぜん集まらない
オープンアップITエンジニアをご検討ください!
当社のITエンジニア派遣サービスは
- 派遣スピードが速い!(最短即日)
- 4,500名のエンジニアから貴社にマッチした人材を派遣
- 正社員雇用も可能
こんな特長があり、貴社の事業やプロジェクトに合った最適なITエンジニアを派遣可能です。
まずは下記ボタンから無料でご相談ください。