クイックスタート

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

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

始める前に

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

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

  2. GCP Console で [リソースの管理] ページに移動し、既存のプロジェクトを選択するか、新しいプロジェクトを作成します。

    [リソースの管理] ページに移動

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

    課金を有効にする方法について

  4. {% dynamic if "no_credentials" in setvar.task_params %}{% dynamic setvar credential_type %}NO_AUTH{% dynamic endsetvar %}{% dynamic if not setvar.redirect_url %}{% dynamic setvar redirect_url %}https://console.cloud.google.com{% dynamic endsetvar %}{% dynamic endif %}{% dynamic endif %}{% dynamic if setvar.in_henhouse_no_auth_whitelist %}{% dynamic if not setvar.credential_type %}{% dynamic setvar credential_type %}NO_AUTH{% dynamic endsetvar %}{% dynamic endif %}{% dynamic elif setvar.in_henhouse_service_account_whitelist %}{% dynamic if not setvar.credential_type %}{% dynamic setvar credential_type %}SERVICE_ACCOUNT{% dynamic endsetvar %}{% dynamic endif %}{% dynamic endif %}{% dynamic if not setvar.service_account_roles and setvar.credential_type == "SERVICE_ACCOUNT" %}{% dynamic setvar service_account_roles %}{% dynamic endsetvar %}{% dynamic endif %}{% dynamic setvar console %}{% dynamic if "no_steps" not in setvar.task_params %}
  5. {% dynamic endif %}{% dynamic if setvar.api_list %}{% dynamic if setvar.in_henhouse_no_auth_whitelist or setvar.in_henhouse_service_account_whitelist %}GCP Console プロジェクトをセットアップします。

    プロジェクトをセットアップする

    クリックして、以下を行います。

    • プロジェクトを作成または選択します。
    • プロジェクトに{% dynamic if setvar.api_names %}{% dynamic print setvar.api_names %}{% dynamic else %}必要な{% dynamic endif %}{% dynamic if "," in setvar.api_list %} API{% dynamic elif "API" in setvar.api_names %}{% dynamic else %} API{% dynamic endif %} を有効にします。
    • {% dynamic if setvar.credential_type == 'SERVICE_ACCOUNT' %}
    • サービス アカウントを作成します。
    • JSON として秘密鍵をダウンロードします。
    • {% dynamic endif %}

    これらのリソースは、GCP Console でいつでも表示および管理できます。

    {% dynamic else %}{% dynamic if "no_text" not in setvar.task_params %}{% dynamic if setvar.api_names %}{% dynamic print setvar.api_names %}{% dynamic else %}必要な{% dynamic endif %}{% dynamic if "," in setvar.api_list %} API{% dynamic elif "API" in setvar.api_names %}{% dynamic else %} API{% dynamic endif %} を有効にします。 {% dynamic endif %}

    {% dynamic if "," in setvar.api_list %}API{% dynamic else %}API{% dynamic endif %}を有効にする

    {% dynamic endif %}{% dynamic endif %}{% dynamic if "no_steps" not in setvar.task_params %}
  6. {% dynamic endif %}{% dynamic endsetvar %}{% dynamic print setvar.console %}
  7. 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 フラグで指定したファイルに保存します。

暗号化されたコンテンツを復号するには、コンテンツの暗号化に使用したものと同じ鍵を使用する必要があります。

クリーンアップ

このクイックスタートで使用したリソースについて GCP アカウントに課金されないようにする手順は次のとおりです。

自分の鍵で使用できるバージョンを一覧表示します。

gcloud kms keys versions list --location global \
  --keyring test --key quickstart

バージョンを破棄するには、次のコマンドを実行します。[VERSION_NUMBER] は破棄するバージョン番号に置き換えます。

gcloud kms keys versions destroy VERSION_NUMBER \
  --location global --keyring test --key quickstart

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...