目次Category
はじめに
この記事の目的
本記事では、AWS Key Management Service (KMS) の基本を解説します。
AWS CLIを使って、キー作成からデータの暗号化・復号までの手順を体験しましょう。
💡 カスタマーマネージドキー (CMK) を使う理由
AWS KMSのキーには「AWSマネージドキー」と
「カスタマーマネージドキー (CMK)」の2種類があります。
CMKはユーザー自身で管理できるキーです。アクセス制限やローテーションの設定を細かく変更できるため、実務でよく使われます。
対象者
- AWSでの暗号化の基本を学びたい方
- AWS CLIの基本操作(
aws configureなど)ができる方
AWS KMSの概要と導入メリット
AWS KMSは、暗号化キーを安全に作成・管理するためのフルマネージド型サービスです。
機密データやファイルを安全に保管するために欠かせない機能を提供しています。
- 高水準なセキュリティ: 専用のハードウェアセキュリティモジュール (HSM) でキーを保護します。
- アクセス制御の容易さ: IAMポリシーを用いて「誰がキーを使えるか」を厳格に管理できます。
- 詳細な操作ログ: AWS CloudTrailと連携し、「いつ・誰がキーを使ったか」を監査できます。
前提条件・環境準備
AWS環境の事前準備
KMSを操作するために、適切なIAM権限を用意してください。
必要な権限は kms:CreateKey、kms:Encrypt、kms:Decryptです。
コマンドラインから操作するために、AWS CLIを導入します。インストールと認証設定を完了させておきましょう。
Step 1: カスタマーマネージドキーの作成
AWS CLIを使い、独自の暗号化キー(KMSキー)を作成します。
ターミナルで以下のコマンドを実行します。
コマンドが成功すると、作成されたキーのメタデータが返却されます。
次以降の手順で使用するため、KeyIdの値を控えておきましょう。
KeyIdは長いため、わかりやすい別名(エイリアス)を付けます。
控えた KeyIdを指定して実行してください。
Step 2: データの暗号化と復号の検証
作成したKMSキーを使用し、データの暗号化と復号を試します。
「Hello KMS」という文字列を暗号化します。
暗号化データは encrypted-data.txtに保存されます。
保存した暗号化ファイルを読み込み、元の文字列に戻します。
画面に Hello KMSと出力されれば成功です。
よくあるエラーと対処法
操作中にエラーが発生した場合は、以下の点を確認してください。
IAMユーザーまたはロールに kms:Encryptや kms:Decryptの権限が付与されているか確認してください。
また、KMSキーのキーポリシーで拒否されていないかも確認が必要です。
指定した KeyId やエイリアス名に誤りがないかご確認ください。
また、AWS CLIで設定されているリージョン(us-east-1や ap-northeast-1など)が、
キーを作成したリージョンと一致しているかもチェックしましょう。
後片付け(リソースの削除・無効化)
検証が終わったら、不要な課金を防ぐために作成したリソースを削除・無効化します。
KMSキーは即時削除ができません。最小7日間の保留期間を設定して削除を予約します。
参考サイト
同じカテゴリーの記事
同じカテゴリの記事を読む