Cloud KMS で暗号鍵を作成する
このクイックスタートでは、所有するプロジェクトで Cloud Key Management Service を使用して暗号鍵を作成、使用する方法について説明します。この手順では、Cloud de Confiance コンソールを使用して、Cloud KMS でキーリング、鍵、鍵バージョンを作成します。他の方法を使用する手順については、Autokey の概要、キーリングを作成する、キーを作成するをご覧ください。
このクイックスタートでは、コマンドラインを使用して Cloud KMS API にリクエストを送信します。クライアント ライブラリを使用して Cloud KMS API にリクエストを送信するプログラミングの例については、暗号化と復号をご覧ください。
始める前に
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
-
Enable the Cloud KMS API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
連携 ID を使用するように gcloud CLI を構成します。
詳細については、連携 ID を使用して gcloud CLI にログインするをご覧ください。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
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.txtgcloud kms encryptでデータを暗号化します。鍵情報を入力して、暗号化するプレーンテキスト ファイルの名前を指定し、暗号化されたコンテンツを含むファイルの名前を指定します。gcloud kms encrypt \ --location "global" \ --keyring "test" \ --key "quickstart" \ --plaintext-file ./mysecret.txt \ --ciphertext-file ./mysecret.txt.encryptedencryptメソッドを使用して、暗号化されたコンテンツを--ciphertext-fileフラグで指定したファイルに保存します。暗号テキストの復号
gcloud kms decryptでデータを復号します。鍵情報を入力して、暗号化されたファイル(暗号テキスト ファイル)の名前を指定し、復号後のコンテンツを含むファイルの名前を指定します。gcloud kms decrypt \ --location "global" \ --keyring "test" \ --key "quickstart" \ --ciphertext-file ./mysecret.txt.encrypted \ --plaintext-file ./mysecret.txt.decrypteddecryptメソッドを使用して、復号されたコンテンツを--plaintext-fileフラグで指定したファイルに保存します。暗号化されたコンテンツを復号するには、コンテンツの暗号化に使用したものと同じ鍵を使用する必要があります。
クリーンアップ
このページで使用したリソースについて、 Cloud de Confiance アカウントに課金されないようにするには、次の手順を実施します。
自分の鍵で使用できるバージョンを一覧表示します。
gcloud kms keys versions list \ --location "global" \ --keyring "test" \ --key "quickstart"バージョンを破棄するには、次のコマンドを実行します。ここで、
1は破棄する鍵バージョンの番号です。gcloud kms keys versions destroy 1 \ --location "global" \ --keyring "test" \ --key "quickstart"次のステップ
- API の使用を始めます。
- API リファレンスを参照します。
- 保存データの暗号化方法の詳細を確認します。