Cloud KMS で暗号鍵を作成する
このクイックスタートでは、所有するプロジェクトで Cloud Key Management Service を使用して暗号鍵を作成、使用する方法について説明します。この手順では、Google Cloud コンソールを使用して、Cloud KMS でキーリング、鍵、鍵バージョンを作成します。他の方法を使用する手順については、入門ガイドをご覧ください。
このクイックスタートでは、コマンドラインを使用して Cloud KMS API にリクエストを送信します。クライアント ライブラリを使用して Cloud KMS API にリクエストを送信するプログラミングの例については、暗号化と復号をご覧ください。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud KMS API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud KMS API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
鍵リングと鍵
コンテンツを暗号化および復号するには、鍵リングの一部である Cloud KMS 鍵が必要です。
test
という名前の鍵リングと quickstart
という名前の鍵を作成します。これらのオブジェクトとその関係について詳しくは、オブジェクト階層の概要をご覧ください。
gcloud kms keyrings create "test" \
--location "global"
gcloud kms keys create "quickstart" \
--location "global" \
--keyring "test" \
--purpose "encryption"
list
オプションを使用すると、作成した鍵の名前とメタデータを表示できます。
gcloud kms keys list \
--location "global" \
--keyring "test"
以下のように表示されます。
NAME PURPOSE PRIMARY_STATE projects/project-id/locations/global/keyRings/test/cryptoKeys/quickstart ENCRYPT_DECRYPT ENABLED
データの暗号化
鍵が作成されたので、その鍵を使用してテキストまたはバイナリのコンテンツを暗号化できます。
暗号化するテキストを mysecret.txt というファイルに保存します。
echo -n "Some text to be encrypted" > mysecret.txt
gcloud kms encrypt
でデータを暗号化します。鍵情報を入力して、暗号化するプレーンテキスト ファイルの名前を指定し、暗号化されたコンテンツを含むファイルの名前を指定します。
gcloud kms encrypt \
--location "global" \
--keyring "test" \
--key "quickstart" \
--plaintext-file ./mysecret.txt \
--ciphertext-file ./mysecret.txt.encrypted
encrypt
メソッドを使用して、暗号化されたコンテンツを --ciphertext-file
フラグで指定したファイルに保存します。
暗号テキストの復号
gcloud kms decrypt
でデータを復号します。鍵情報を入力して、暗号化されたファイル(暗号テキスト ファイル)の名前を指定し、復号後のコンテンツを含むファイルの名前を指定します。
gcloud kms decrypt \
--location "global" \
--keyring "test" \
--key "quickstart" \
--ciphertext-file ./mysecret.txt.encrypted \
--plaintext-file ./mysecret.txt.decrypted
decrypt
メソッドを使用して、復号されたコンテンツを --plaintext-file
フラグで指定したファイルに保存します。
暗号化されたコンテンツを復号するには、コンテンツの暗号化に使用したものと同じ鍵を使用する必要があります。
クリーンアップ
このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。
自分の鍵で使用できるバージョンを一覧表示します。
gcloud kms keys versions list \
--location "global" \
--keyring "test" \
--key "quickstart"
バージョンを破棄するには、次のコマンドを実行して、key-version を破棄する鍵バージョンの番号に置き換えます。
gcloud kms keys versions destroy key-version \ --location "global" \ --keyring "test" \ --key "quickstart"
次のステップ
- API の使用を始めます。
- API リファレンスを参照します。
- 保存データの暗号化方法の詳細を確認します。