AWS Key Managementでプロのように暗号化キーを使用する方法

暗号化およびデータの素早い復号化方法をお探しですか?AWS Key Managementをチェックしてみてください!このサービスは、暗号鍵を作成および管理することで、データの高レベルのセキュリティを提供します。また、誰が鍵にアクセスできるか、およびそれらを使用して何の操作ができるかを制御することもできます。

このチュートリアルは、AWS Key Managementに関するすべてを網羅しているわけではありませんが、この強力なツールの基本的な使用方法についての良い概要を提供します。

AWS Key Managementのセキュリティの利点を活用するために、以下を読んでください!

前提条件

このチュートリアルは実演形式です。一緒に進める場合は、以下をご用意ください。

  • 有効な課金のあるAWSアカウント。無料でAWSアカウントを作成できますこちら。無料枠には、このチュートリアルを開始するのに十分なサービスが含まれています。
  • マシンにAWS CLIがインストールおよび構成されています。詳細については、このチュートリアルを参照してください。

AWSコンソールを使用してKMSキーを作成

AWSコンソール(GUI)をAWS CLIの代わりに使用する場合は、次のセクションを読んでください。以下のセクションでは、コンソールを使用してKMSキーを作成する方法を案内します。

IAMユーザーの作成

始めるには、AWSコマンドラインインターフェイス(CLI)からAWS Key Management Serviceにアクセスするために使用するIAMユーザーを作成する必要があります。

IAMユーザーはAWSルートアカウントの資格情報とは別です。 IAMユーザーを使用することが推奨されるベストプラクティスです。これにより、AWSアカウント内のリソースへのアクセス権を細かく制御できます。

AWS Key Management Service用のパスワードアクセスを持つIAMユーザーを作成する手順に従ってください:

1.ルートユーザーとしてAWS管理コンソールにサインインします。 AWS管理コンソール

2. IAMをFind services検索バーに入力し、IAMを選択してIAMコンソールを開きます。このコンソールでは、IAMユーザーとその権限を管理できます。

Opening the IAM console

3. ユーザー → ユーザーの追加 を選択して新しいIAMユーザーを追加します。

Adding a new IAM user

4.次の手順をAdd userページで実行します。

新しいユーザーの名前を入力します。この例では、KMSUserConsoleと呼ばれます。

パスワード – AWS管理コンソールへのアクセスラジオボタンを選択します>自動生成されたパスワード。このオプションを選択すると、ユーザーのランダムなパスワードが生成されます。

ユーザーが次回サインイン時に新しいパスワードを作成する必要があるチェックボックスがチェックされていないことを確認してください。この操作により、パスワードをリセットすることなくこのユーザーとしてログインできます。

次へをクリック: アクセス許可 をクリックしてください。

Adding the IAM user details

5. 「アクセス許可の設定」ページで、既存のポリシーを直接アタッチを選択してください。利用可能なポリシーのリストから AdministratorAccess を選択します。このポリシーにより、ユーザーは AWS へのフルアクセスが可能になり、キーの作成や管理も行えます。

次へ: タグ をクリックして続行してください。

Setting permissions

6. 「タグの追加 (オプション)」ページで、ユーザーに関連するタグを追加できます。このチュートリアルでは、タグを追加しません。次へ: レビュー をクリックして、ユーザーの権限と情報を確認してください。

Viewing the Add tags (optional) page

7. AdministratorAccess ポリシーが選択されていることを確認し、新しい IAM ユーザーの作成を完了するために、ユーザーの作成 をクリックしてください。

AdministratorAccess

8. IAM ユーザーの作成が数分後に終了し、成功のバナーメッセージが表示されます。

メッセージを閉じるために、パスワードを安全な場所にコピーまたはダウンロードしてください。この新しい IAM ユーザーとしてログインする際に必要になります。

メッセージの横にある URL をクリックして、IAM ユーザーのサインインページに移動してください。

メッセージウィンドウを閉じるために、閉じる をクリックしてください。

IAM User creation completion

9. 次のページで、生成したばかりのユーザー名とパスワードを入力し、新しい IAM ユーザーとしてログインする をクリックしてください。

Signing in as the IAM user

AWS コンソールを使用して KMS キーを作成する

IAM ユーザーとして AWS マネジメントコンソールにログインしたので、最初の KMS キーを作成する準備が整いました。

AWS コンソールを使用して KMS キーを作成する手順に従ってください。

1. サービスの検索バーに KMS と入力してください。検索結果から Key Management Service を選択して KMS コンソールを開いてください。

Opening the KMS console

2. 左側のサイドバーで「Customer managed keys」をクリックし、新しいKMSキーを作成します。

Creating a new key

3. 次の画面で以下の手順を実行してください。

キーの種類: 対称. このタイプのキーは、暗号化および復号化に使用され、ほとんどのユースケースに最適です。

キーの使用法: 暗号化と復号化. このキーの使用法を選択すると、キーを暗号化および復号化に使用できます。

その他の設定はデフォルト値のままにして、次へをクリックしてください。

Configuring keys

4. キーのエイリアスを入力してください。このエイリアスは、KMSコンソールでキーをすばやく識別するのに役立ちます。エイリアスは1〜256文字の長さで、英数字、ハイフン(-)、アンダースコア(_)のみを含めることができます。

aws/で始まるエイリアスは使用できません。このプレフィックスはAWS管理キー用に予約されています。このプレフィックスを使用しようとすると、以下のエラーメッセージが表示されます。

Getting the aws/ is a restricted prefix error.

キーの説明を入力してください。このフィールドはオプションですが、後でキーの使用法を思い出すために説明を含めることは常に良いアイデアです。

その他の設定はデフォルト値のままにして、次をクリックして続行してください。

Adding an alias

5. 以前に作成したユーザーである「KMSUserConsole」の横にあるチェックボックスを選択します。このユーザーのみがこのキーを使用できるようになります。

キーの管理者にこのキーを削除する権限を許可するチェックボックスをチェックせずに、次をクリックして続行してください。

Selecting key admin

以前に作成したユーザー、KMSUserConsoleを選択し、次へをクリックします。この操作により、ユーザーは暗号化操作(データの暗号化や復号化など)でキーを使用できるようになります。

Selecting the IAM users and roles that can access the KMS key in cryptographic operations

7. 最後に、完了ボタンをクリックしてキーの作成プロセスを完了します。

Completing the key creation process

新しいKMSキーは、KMSコンソールの顧客管理キーのセクションに表示されます。キーのステータス、キーID、エイリアスなどの情報を確認できます。

Viewing your keys

AWSコンソールを使用してKMSキーを管理する方法

KMSキーを作成したので、次のセクションではAWSコンソールを使用してキーを管理する方法について説明します。

KMSキーの編集

いつでもKMSキーの設定を変更するためにキーを編集することができます。以下の手順に従ってください:

1. 編集したいキーのハイパーリンクをクリックします。これにより、キーの詳細ページが開きます。

Opening the key details page.

2. ページの右上隅にある「編集」ボタンをクリックします。

Click on the Edit button.

3. キーに加えたい変更を行い、保存をクリックします。変更できるのは説明のみです。

make to the key and click Save

KMSキーの無効化と有効化

KMSキーはいつでも無効化および有効化することができます。デフォルトでは、すべてのキーは最初に作成されたときに有効化されています。キーが危険にさらされた可能性がある場合、調査するまでキーを無効化するのが良い考えです。

1. 無効化したいキーの横にあるチェックボックスをクリックし、「キーアクション」→「無効化」をクリックします。

Disabling a KMS Key

2. キーを無効にすることを確認するウィンドウが表示されます。このキーを無効にすることを確認する横のチェックボックスをクリックし、[無効にする] をクリックします。

Confirming to disable a key

キーは今無効になり、キーの詳細ページにメッセージが表示されます。キーのステータスも無効になり、以下のように表示されます。

Viewing your key is disabled

3. 調査が完了したら、キーを再度有効にして、キーを使用できるように準備します。有効にするキーの横のチェックボックスをクリックして → キーアクション → [有効にする] をクリックします。

Key actions → Enable.

AWS CLIを使用してKMSキーを作成する

AWS CLIの使用者ですか?よろしいですね!AWS CLIを使用してKMSキーを作成する方法もあります。このセクションでは、[プログラム的な](diy6) アクセスを持つIAMユーザーを作成する方法を説明します。

ユーザーを作成した後、その認証情報をAWSプロファイルに保存します。そのプロファイルを使用してAWSとやり取りし、KMSキーを作成します。

プログラム的なアクセスを持つIAMユーザーを作成する

パスワードなしでAWS CLIを使用して認証するには、プログラム的なアクセスが必要です。プログラム的なアクセスには、アクセスキーIDとシークレットアクセスキーの組み合わせを使用してAPI呼び出しを行います。

以下の手順に従って、プログラム的なアクセスを持つIAMユーザーを作成します。

1. AWSコンソールで新しいIAMユーザーを KMSUserCli として作成します。以前の[IAMユーザーの作成] セクション (ステップ1から4) を参照してください。

2. [AWSアクセスの種類を選択] に到達したら、[プログラマ的なアクセス] を選択し、[次へ: 権限] をクリックします。

Selecting Programmatic access

3. [既存のポリシーを直接アタッチ] を選択します。AdministratorAccess の横のチェックボックスをクリックし、[次へ: タグ] をクリックします。

Selecting permissions

4. タグを追加せずにスキップして「次へ:レビュー」をクリックします。

Skip adding tags

5. 最後に、ユーザーを作成するために「ユーザーの作成」をクリックします。

Creating an IAM user

プロセスが完了すると、以下の画面が表示されます。新しいユーザーのアクセスキー ID とシークレットアクセスキーが表示されます。これらは AWS CLI を設定するために使用するキーです。このページを離れると、これらのキーを再度表示することはできませんので、安全な場所にこれらのキーを保存してください。

これらのキーをパブリックな CI/CD パイプラインや GitHub のコメント、または他の公開フォーラムで共有しないでください。

Viewing your access keys

AWS CLI プロファイルの構成

IAM ユーザーを作成したので、そのユーザーの資格情報を使用して AWS Key Management Service にアクセスできるように、マシン上で AWS プロファイルを設定する必要があります。

次の手順に従って、AWS プロファイルを構成します。

1. 管理者として PowerShell またはコマンドプロンプトを開きます。

2. 以下のコマンドを実行して AWS CLI がインストールされているかを確認します。インストールされている場合は、以下のスクリーンショットに類似したものが表示されます。

aws --version
Verify if you have the AWS CLI installed.

3. 次に、以下のコマンドを実行して新しいプロファイルを設定します。

aws configure

4. プロンプトに、以下の情報を入力します。

  • AWSアクセスキーID:先に作成したIAMユーザーのアクセスキーIDを入力してください。
  • AWS Secret Access Key:先に作成したIAMユーザーのシークレットアクセスキーを入力してください。
  • デフォルトリージョン名:希望のリージョンを入力してください。このチュートリアルでは、us-west-2を使用します。
  • デフォルトの出力形式JSON を入力してください。JSON形式の出力は読みやすいです。
Configuring a profile in AWS CLI

AWS CLIを使用してKMSキーを作成する

IAMユーザーがプログラムアクセス権を持つようになったので、KMSキーの作成を開始できます。

次のコマンドを実行して新しいKMSキーを作成します。

aws km create-key

以下のような出力が表示されます。 KeyId は新しいKMSキーの識別子です。後で必要になるのでメモしておいてください。

Creating a KMS Key Using The AWS CLI.

明示的にキーポリシーを指定しない場合、AWS KMSは新しいキーのデフォルトのキーポリシーを作成します。このポリシーにより、ルートユーザーにキーの完全な制御権限が与えられ、AWS Identity and Access Management (IAM) ユーザーやロールの作成が可能です。

次のコマンドを実行して新しいKMSキーのキーポリシーを取得します。 --key-id 引数を新しいKMSキーの KeyId に置き換えてください。このコマンドは、新しいKMSキーのキーポリシーを含むテキストドキュメントを返します。

aws km get-key-policy --key-id you_KeyId_here --policy-name default --output text

出力は以下のように見えるはずです。

Retrieving the key policy of your new KMS key.

AWS CLIを使用したKMSキーの管理

今、KMSキーを作成したので、AWS CLIを使用してその管理方法を学ぶことができます。このセクションでは、KMSキーのリスト、無効化、有効化の方法を学びます。

いつでもKMSキーを無効化および有効化できます。 KMSキーを無効にすると、潜在的な誤用を調査したい場合や一時的にキーの使用を停止する必要がある場合に便利です。

1. 次のコマンドを実行して、KMSキーを無効にします。 -key-id引数を自分のKMSキーの実際のKeyIdで置き換えます。このコマンドには出力がありません。

aws aws kms disable-key --key-id you_KeyId_here
Disabling a KMS key.

2. キーが無効になっていることを確認するには、次のコマンドを実行します。出力には、「KeyState」:「Disabled」フィールドが含まれる必要があります。

aws kms describe-key --key-id you_KeyId_here
Verifying that the key is disabled.

3. キーを有効にするには、次のコマンドを実行します。再度、このコマンドには出力がありません。

aws kms enable-key --key-id you_KeyId_here
aws kms describe-key --key-id you_KeyId_here
Enabling the key.

4. 最後に、次のコマンドを実行して、アカウント内のすべてのKMSキーをリストします。出力には、各キーのkeyIdとKeyArnなどの情報が含まれます。

aws kms list-keys
Listing all the KMS keys in your account,

結論

この記事では、AWS CLIおよびAWSコンソールを使用してKMSキーを作成および管理する方法について学びました。また、AWS CLIがKMSキーを管理するためにプログラムアクセスを許可するIAMユーザーを作成する方法も学びました。

AWSキー管理スキルは、特に機密データの管理を担当している場合など、AWSを使用するすべての人にとって重要です。この記事の手順に従うことで、AWS KMSを使用するために必要なスキルを身につけることができるはずです。

この新たに得た知識を活用して、時間と労力を節約するために AWS CloudFormationを使用してAWS KMSリソースを作成してみませんか?

Source:
https://adamtheautomator.com/aws-key-management/