SlideShare a Scribd company logo
AWS KMSを触る
自己紹介
名前:富松 広太(とみまつ こうた)
Blog:https://cloud-aws-gcp.hateblo.jp/
twitter:@kotamemento
所属:株式会社 Turn and Frontier(関西クラウドベンダー)
2020 APN ALL AWS Certifications Engineer
from:滋賀県
AWS KMS(key management service)の概要
● 鍵を安全に保管してくれるサービス
● 各AWSサービスのデータ暗号化・復号化機能として連携
(S3、EBS等)
● セキュリティのポイントを自動的に抑えてくれる
(キーローテーション、暗号化鍵の方式を決定)
よく忘れるので整理してみました
鍵がごちゃごちゃある・・
AWS KMSの概要
KMS
│── CMK(customer master key)
│ ├── (1)AWS owned CMK ・・・・・・・AWSが管理、見れない
│ ├── (2)AWS managed CMK・・・・・・AWSが管理、見れる。aws/service-nameの形式
│ └── (3)Customer managed CMK・・・・利用者が管理
│ ├───(3-1) awsが作成
│ └───(3-2) 自分で作成
│
│── (4)データキー・・・・・・・・・・・・データの暗号
/復号に利用
鍵がごちゃごちゃある・・
AWS KMSの概要
KMS
│── CMK(customer master key)
│ ├── (1)AWS owned CMK ・・・・・・・AWSが管理、見れない
│ ├── (2)AWS managed CMK・・・・・・AWSが管理、見れる。aws/service-nameの形式
│ └── (3)Customer managed CMK・・・・利用者が管理
│ ├───(3-1) awsが作成
│ └───(3-2) 自分で作成
│
│── (4)データキー・・・・・・・・・・・・データの暗号
/復号に利用
特に2つの違いを知りたい・・・・
CMKとデータキーの違い
AWS KMS キー種別
データキー:データを暗号/復号化するために利用する
CMK   :データキーを暗号/復号化するために利用する
AWS外
AWS
なぜCMKで直接暗号/復号化しないのか?
AWS KMS キー種別
Master keyをAWS外部に出したくないから
データをAWSに送るのは不便だから、復号処理が一定時間でないのが嫌だから
Client
取得
復号
AWS外
AWS
Client
復号
取得
送付
エンベロープ暗号化
・暗号化対象のデータ容量が一定
・鍵のrawデータをAWS外に出さなくて良い
暗号/復号化時の利用お作法は?
AWS KMS キー種別
データキー
復号
1
2
実際に作ってみると?
AWS KMS キー種別
aws kms create-key
aws kms create-alias --alias-name alias/test-key-alias
--target-key-id xxxxxxxxxx
aws kms generate-data-key --key-id alias/test-key-alias
--key-spec AES_256
aws kms generate-data-key --key-id alias/test-key-alias
--key-spec AES_256
{
"CiphertextBlob": "AQIDAHgUOG52kcVFzz8bdP・・・・
}
各AWSサービスとの連携は?
AWS KMS サービス連携
KMS
│── CMK(customer master key)
│ ├── (1)AWS owned CMK ・・・・・・・AWSが管理、見れない
│ ├── (2)AWS managed CMK・・・・・・AWSが管理、見れる。aws/service-nameの形式
│ └── (3)Customer managed CMK・・・・利用者が管理
│ ├───(3-1) awsが作成
│ └───(3-2) 自分で作成
│
│── (4)データキー・・・・・・・・・・・・データの暗号
/復号に利用
データキーの管理は各AWSサービスが裏側でやってくれている
EC2にEBSをアタッチすると
1.暗号化されたデータキーを復号指示
2.復号化されたデータキーを取得
3.EBSデータを復号化
4.利用終了時(EBSデタッチ)に復号化されたデータキーを削除
KMSを削除すると即座に EC2動作には影響ないが、
次回EBSアタッチ時に2でエラーとなるので注意
KMSを間違って削除してしまったら EC2が起動しているうちに
データを別の場所に保管すると良い
EC2
EBS暗号化の流れ
AWS KMSサービス連携
EBS
KMS
1
2
3
4
(2)と(3-1),(3-2)の違いは?
AWS KMS CMKの違い
KMS
│── CMK(customer master key)
│ ├── (1)AWS owned CMK ・・・・・・・AWSが管理、見れない
│ ├── (2)AWS managed CMK・・・・・・AWSが管理、見れる。aws/service-nameの形式
│ └── (3)Customer managed CMK・・・・利用者が管理
│ ├───(3-1) awsが作成
│ └───(3-2) 自分で作成
│
│── (4)データキー・・・・・・・・・・・・データの暗号
/復号に利用
マネージドの方が制約が強く、管理が楽
 (2) :特に指定がなく、暗号化さえできれば良い場合
 (3-1):キーポリシーを管理可能(例
.クロスアカウント)
 (3-2):キーの暗号化方式まで細かく管理可能(例
.セキュリティポリシーの遵守)
キーローテーションとは?
AWS KMS ローテーション
・Backing keyというキーの実態を入れ替えること
・key-IDやエイリアスはそのままで利用可能
・過去分のBacking keyも世代管理するため利用者側への影響はない
・AWS管理だと自動ローテーション機能が利用可能
暗号化時
利用したbacking keyのIDを
ヘッダとして暗号化データに含んでおく
過去に暗号化したデータがローテで復号化できなくなる心配はないか?
AWS KMS ローテーション
復号化時
ヘッダからbacking keyのIDを読み取り復号
過去のキー情報も履歴管理しているため復号可能
KMSを削除して良いのか迷ったら?
AWS KMS 削除
削除は慎重に。暗号化データが復号できない可能性も
ScheduleKeyDeletionすると一定期間様子見できる
ScheduleKeyDeletionの間に利用のリクエストがあった場合通知することも可能
AWS KMSまとめ
● 鍵種別を整理
● エンベロープ暗号化はcli等でやってみるのおすすめ
● KMS削除は気をつける(時間差の障害発生の可能性あり)
aws kms poiints

More Related Content

PDF
aws-Organizations-aroud
PDF
AWS Client VPN
PDF
jaws aws-nuke
PDF
Aws organization multi_accounts
PDF
おひとりさまAWS Organizationsのススメ
PDF
ElasticCloud
PDF
Organizations周りの機能
PDF
Cloudnative online-2021-stepfunction
aws-Organizations-aroud
AWS Client VPN
jaws aws-nuke
Aws organization multi_accounts
おひとりさまAWS Organizationsのススメ
ElasticCloud
Organizations周りの機能
Cloudnative online-2021-stepfunction

What's hot (20)

PDF
Jaws controltower
PDF
Cloudfront cli tips
PDF
AWS SSO x On-Prem AD Easy IAM user management on Jtf2021
PPTX
Jaws ug aws-#30@anakagawa.pptx
PDF
ClientVPNとPrivateca
PDF
aws-multiaccount-notify
PPTX
Word press preinstall-iam対応版-aws体験ハンズオン-セキュア&スケーラブルウェブサービス構築編
PDF
AWS as MBaaS 〜APIキーとかの話〜
PDF
Sophos UTM 9のAutoscalingを試してみた
PPTX
20211223 Intellectual Constipation, To the World!
PDF
Running Amazon S3 Encryption
PDF
CloudFront マルチオリジンの利用事例と反省点
PDF
IVS_CTO_Night_and_Day_2016_Morning_Session_B-4_hkiriyam
PPTX
急なトラフィック増にも動じない、Amazon S3とCloudFrontを活用したWebサイト構築
PPTX
Amazon Inspectorについて
PDF
Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」
PPTX
20211111 Security-JAWS Introduction
PDF
Ops jaws meetup#3
PDF
AWSについて @ JAWS-UG 沖縄 CMS祭り!
PDF
Aws lambda 事始め
Jaws controltower
Cloudfront cli tips
AWS SSO x On-Prem AD Easy IAM user management on Jtf2021
Jaws ug aws-#30@anakagawa.pptx
ClientVPNとPrivateca
aws-multiaccount-notify
Word press preinstall-iam対応版-aws体験ハンズオン-セキュア&スケーラブルウェブサービス構築編
AWS as MBaaS 〜APIキーとかの話〜
Sophos UTM 9のAutoscalingを試してみた
20211223 Intellectual Constipation, To the World!
Running Amazon S3 Encryption
CloudFront マルチオリジンの利用事例と反省点
IVS_CTO_Night_and_Day_2016_Morning_Session_B-4_hkiriyam
急なトラフィック増にも動じない、Amazon S3とCloudFrontを活用したWebサイト構築
Amazon Inspectorについて
Develipers.IO 2016 E-1 「AWS Configを使ったAWS環境の見える化」
20211111 Security-JAWS Introduction
Ops jaws meetup#3
AWSについて @ JAWS-UG 沖縄 CMS祭り!
Aws lambda 事始め
Ad

aws kms poiints