クイックスタート

このクイックスタートでは、Cloud Key Management Service で暗号鍵を作成して使用する方法について説明します。

このクイックスタートでは、コマンドラインを使用して Cloud KMS API にリクエストを送信します。クライアント ライブラリを使用して Cloud KMS API にリクエストを送信するプログラミングの例については、暗号化と復号をご覧ください。

始める前に

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Cloud Console のプロジェクト セレクタページで、Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタのページに移動

  3. Google Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  4. 必要な API を有効にします。

    API を有効にする

  5. Cloud SDK をインストールして初期化します。

鍵リングと鍵

コンテンツを暗号化および復号するには、鍵リングの一部である 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"

次のステップ