対称鍵によるデータの暗号化と復号

このページでは、Cloud Key Management Service(Cloud KMS)を使用して次の対称鍵操作を行う方法について説明します。

  • Cloud KMS 鍵を使用して、テキストまたはバイナリのコンテンツ(平文)を暗号化します。
  • Cloud KMS 鍵により暗号化された暗号テキストを復号します。

非対称鍵を使用して暗号化を行う場合は、非対称鍵によるデータの暗号化と復号をご覧ください。未加工の対称暗号化については、未加工の対称暗号化をご覧ください。

始める前に

  1. キーリングを作成し、鍵を作成します。

  2. 暗号化メソッドと復号メソッドを呼び出すユーザーに、鍵に対する cloudkms.cryptoKeyVersions.useToEncrypt 権限と cloudkms.cryptoKeyVersions.useToDecrypt 権限があることを確認してください。

    暗号化または復号をユーザーに許可する方法の 1 つは、ユーザーをその鍵の roles/cloudkms.cryptoKeyEncrypterroles/cloudkms.cryptoKeyDecrypter、または roles/cloudkms.cryptoKeyEncrypterDecrypter IAM 役割に追加することです。roles/cloudkms.admin ロールでは、これらの 2 つの権限は付与されません。詳細については、権限と役割をご覧ください。

暗号化

gcloud

コマンドラインで Cloud KMS を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします

gcloud kms encrypt \
    --key KEY_NAME \
    --keyring KEY_RING \
    --location LOCATION  \
    --plaintext-file FILE_TO_ENCRYPT \
    --ciphertext-file ENCRYPTED_OUTPUT

以下を置き換えます。

  • KEY_NAME: 暗号化に使用する鍵の名前。
  • KEY_RING: 鍵を含むキーリングの名前
  • LOCATION: キーリングを含む Cloud KMS のロケーション。
  • FILE_TO_ENCRYPT: 暗号化するファイルへのパス。
  • ENCRYPTED_OUTPUT: 暗号化された出力を保存するパス。

すべてのフラグと有効な値については、