こんにちは、かずきゅーです。
今回はAWSサービスの中でもデータを保護する際には絶対に知っておきたいAWS KMSについて基本用語を初心者向けに解説していきます。
AWSに限らずデータ暗号化方法の一つであるエンベロープ暗号化の解説もしていますのでぜひご覧ください。
この記事を読んで、AWS KMSやデータ暗号化について理解していきましょう!
AWS KMS とは
AWS KMS(以下KMS)の基本用語の解説の前にこのサービスについて簡単に説明します。
KMSは、データを暗号化するための暗号化キーを簡単に作成し制御することができるマネージドサービスです。
マネージドサービスとは
モニタリングについて
KMSのポイントは以下になります。
用語解説
エンベロープ暗号化
エンベロープ暗号化とは暗号化の仕組みの1つで、KMSはこの暗号化方式を採用しています。
簡単に説明すると、データを暗号化するキーとデータを暗号化したキーを暗号化するキーを利用する方式がエンベロープ暗号化です。
データを暗号化するキーはデータキーと呼ばれ、データを暗号化したキーを暗号化するキーをルートキーやマスターキーと呼ばれます。
KMSではルートキーのことをAWS KMS keysと呼んでおり、このキーを安全に保存保管しています。
AWS KMS keys(KMS キー)
KMSでのルートキーであるAWS KMS keys(以下KMSキー)は、データの暗号化、復号に使用するための鍵となります。
KMSキーには3種類があり、ユーザーが自身で作成するKMSキーはカスタマーマネージドキー、AWSがユーザーのAWSアカウントで作成するKMSキーはAWSマネージドキー、AWSがユーザーのサービスアカウントで作成するKMSキーはAWS所有のキーとなります。
それぞれの種類によって、主にKMSキーの管理方法・自動キーローテーション設定・料金形態が変わってきます。
続いてはKMSキーの種類の解説の前に簡単に自動キーローテーションの説明をします。
自動キーローテーション
自動キーローテーションとは、そのままAWSが自動でキーのローテーションを実施してくれる機能のことです。
KMSキーの種類ごとにデフォルトで有効化であるかと、ローテーションの周期が変わります。
ローテーションで行われていることは、キーマテリアルという暗号化に必要な情報のみを変更し、使用中のKMSキーへの影響やその他KMSキーのプロパティ情報に影響は与えません。
それではKMSキーの種類について解説していきます。
カスタマーマネージドキー
カスタマーマネージドキーはユーザーが作成、所有、管理をするKMSキーとなります。
カスタマーマネージドキーはあらゆることをユーザーがコントロールでき、具体的にコントロールできる項目は以下となります。
たくさんコントロール可能な項目がありますが、初心者の方はカスタマーマネージドキーは自分で設定できることがたくさんあるんだなあくらいの理解で問題ありません。それぞれ詳しい解説は今後記事を作成しますのでお待ちください!
自動キーローテーションはユーザーによってコントロール可能な項目であり、オプションとなり有効化した場合は1年ごとにローテーションされます。
料金形態は使用するAWSサービスによって月額料金または従量課金料金となります。
AWSマネージドキー
AWSマネージドキーはAWSが作成、所有、管理をするKMSキーとなります。KMSと統合されているサービスを使用する際に、KMSキーをユーザー側でコントロールする必要がない場合にはAWSマネージドキーを選択することが良いと言わせています。
KMSと統合されているサービスとは?となると思いますが一部記載すると「Amazon S3」「Amazon SQS」「Amazon DynamoDB」などです。全て確認されたい方は公式をご覧ください。
自動キーローテーションは、AWSマネージドキーはAWS側がKMSキーをコントロールしていることもあり、必須で有効化され1年ごとにローテーションします。
料金形態は、基本的に月額料金はかかりませんが、一部AWSサービスでは従量課金料金となります。
AWS所有のキー
AWS所有のキーは、KMSキー自体がユーザーのAWSアカウントもありませんがユーザーのリソースを保護できます。KMSキーをユーザー側でコントロールまたは監査する必要がない場合にはAWS所有のキーを選択することが良いと言わせています。
自動キーローテーションは、AWSサービスによって異なり、ユーザーによって管理することはできません。
料金形態は、完全に無料となります。
データキー
データキーは、データや他のデータ暗号化キーなどを暗号化するために使用するキーとなります。
KMSでは、データキーの生成・暗号化・復号はしますが、KMSキーのようにキーの保存や管理、追跡などはすることはできません。
まとめ
ここまでAWS KMSの基本用語をまとめてきましたが、いかがでしたでしょうか。今回は、KMSの暗号化方式であるエンベロープ暗号化や、KMSキー等かなり絞って解説しました。
KMSを理解していくにはこれらの用語は必須の知識となりますので、この記事が皆さんの学びになれば幸いです。KMSを使いこなせるようさらに学びを進めていきましょう!
以上、かずきゅーでした。