このページでは、対称暗号鍵の作成方法について説明します。
非対称鍵、Cloud HSM 鍵、または Cloud External Key Manager 鍵を作成することもできます。
概要
鍵を作成するときは、その鍵を指定された Google Cloud ロケーションの鍵リングに追加します。キーリングは新しく作成するか、既存のものを使用できます。ここでは、鍵リングを新規作成して、新しい鍵をそこに追加します。
キーリングの作成
新しい鍵のキーリングを作成する手順は次のとおりです。鍵リングは作成せず、既存のものを使用する場合は、鍵を作成できます。
Console
Cloud Console で [暗号鍵リング] ページに移動します。
[キーリングを作成] をクリックします。
[鍵リング名] フィールドに、鍵リングの名前を入力します。
[鍵リングの場所] プルダウンから、
"us-east1"
などの場所を選択します。[作成] をクリックします。
gcloud
コマンドラインで Cloud KMS を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
gcloud kms keyrings create key-ring \ --location location
key-ring は鍵リングの名前に置き換えます。location は、鍵リングと鍵に使用される Cloud KMS のロケーションに置き換えます。
すべてのフラグと有効な値については、--help
フラグを指定してコマンドを実行してください。
C#
このコードを実行するには、まず C# 開発環境を設定し、Cloud KMS C# SDK をインストールします。
Go
このコードを実行するには、まず Go 開発環境を設定し、Cloud KMS Go SDK をインストールします。
Java
このコードを実行するには、まず Java 開発環境を設定し、Cloud KMS Java SDK をインストールします。
Node.js
このコードを実行するには、まず Node.js 開発環境を設定し、Cloud KMS Node.js SDK をインストールします。
PHP
このコードを実行するには、まず Google Cloud での PHP の使用について学び、Cloud KMS PHP SDK をインストールします。
Python
このコードを実行するには、まず Python 開発環境を設定し、Cloud KMS Python SDK をインストールします。
Ruby
このコードを実行するには、まず Ruby 開発環境を設定し、Cloud KMS Ruby SDK をインストールします。
API
これらの例では、HTTP クライアントとして curl を使用して API の使用例を示しています。アクセス制御の詳細については、Cloud KMS API へのアクセスをご覧ください。
curl "https://cloudkms.googleapis.com/v1/projects/project-id/locations/location-id/keyRings" \ --request "POST" \ --header "authorization: Bearer token" \ --header "content-type: application/json" \ --header "x-goog-user-project: project-id" \ --data "{\"name\": {\"key-ring-name\": {}}}"
詳しくは、KeyRing.create
API ドキュメントをご覧ください。
キーを作成
次の手順に従って、指定したキーリングとロケーションに対称暗号鍵を作成します。
Console
Cloud Console で [暗号鍵リング] ページに移動します。
鍵を作成するキーリングの名前をクリックします。
[鍵を作成] をクリックします。
[作成する鍵の種類] で [生成された鍵] を選択します。
[鍵名] フィールドに、鍵の名前を入力します。
[保護レベル] プルダウンをクリックし、[ソフトウェア] を選択します。
[目的] プルダウンをクリックし、[対称暗号化 / 復号化] を選択します。
[ローテーション期間] と [開始日] はデフォルト値のままにします。
[作成] をクリックします。
gcloud
コマンドラインで Cloud KMS を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
gcloud kms keys create key \ --keyring key-ring \ --location location \ --purpose "encryption"
key を鍵の名前に置き換えます。key-ring は、鍵が配置される鍵リングの名前に置き換えます。 location を鍵リングの Cloud KMS の場所に置き換えます。
すべてのフラグと有効な値については、--help
フラグを指定してコマンドを実行してください。
C#
このコードを実行するには、まず C# 開発環境を設定し、Cloud KMS C# SDK をインストールします。
Go
このコードを実行するには、まず Go 開発環境を設定し、Cloud KMS Go SDK をインストールします。
Java
このコードを実行するには、まず Java 開発環境を設定し、Cloud KMS Java SDK をインストールします。
Node.js
このコードを実行するには、まず Node.js 開発環境を設定し、Cloud KMS Node.js SDK をインストールします。
PHP
このコードを実行するには、まず Google Cloud での PHP の使用について学び、Cloud KMS PHP SDK をインストールします。
Python
このコードを実行するには、まず Python 開発環境を設定し、Cloud KMS Python SDK をインストールします。
Ruby
このコードを実行するには、まず Ruby 開発環境を設定し、Cloud KMS Ruby SDK をインストールします。
鍵のローテーション期間と開始時間を設定する
鍵はローテーション期間を指定して作成できます。この期間は、新しい鍵バージョンが自動的に生成される時間の間隔です。鍵は、次のローテーション時間を指定して作成することもできます。
Console
Google Cloud Console を使用して鍵を作成するときに独自のローテーション期間と次のローテーション時間を指定しなかった場合、Cloud KMS は鍵のローテーション期間と次のローテーション時間を自動的に設定します。
異なるローテーション期間と開始時間を指定する場合は、鍵の作成時に次の操作を行ってから、[作成] ボタンをクリックします。
[ローテーション期間] プルダウンをクリックし、ローテーション期間の値を選択します。
[開始日] フィールドで日付をクリックし、次のローテーションの日付を選択します。
gcloud
コマンドラインで Cloud KMS を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
gcloud kms keys create key \ --keyring key-ring \ --location location \ --purpose "encryption" \ --rotation-period rotation-period \ --next-rotation-time next-rotation-time
key を鍵の名前に置き換えます。key-ring は、鍵が配置される鍵リングの名前に置き換えます。
location を鍵リングの Cloud KMS の場所に置き換えます。rotation-period は、30d
などの間隔と置き換え、30 日ごとに鍵をローテーションします。next-rotation-time は、最初のローテーションを開始するタイムスタンプ("1970-01-01T01:02:03"
など)に置き換えます。
すべてのフラグと有効な値については、--help
フラグを指定してコマンドを実行してください。
C#
このコードを実行するには、まず C# 開発環境を設定し、Cloud KMS C# SDK をインストールします。
Go
このコードを実行するには、まず Go 開発環境を設定し、Cloud KMS Go SDK をインストールします。
Java
このコードを実行するには、まず Java 開発環境を設定し、Cloud KMS Java SDK をインストールします。
Node.js
このコードを実行するには、まず Node.js 開発環境を設定し、Cloud KMS Node.js SDK をインストールします。
PHP
このコードを実行するには、まず Google Cloud での PHP の使用について学び、Cloud KMS PHP SDK をインストールします。
Python
このコードを実行するには、まず Python 開発環境を設定し、Cloud KMS Python SDK をインストールします。
Ruby
このコードを実行するには、まず Ruby 開発環境を設定し、Cloud KMS Ruby SDK をインストールします。
手動で新しい鍵バージョンを作成する
自動ローテーションに加えて、手動で鍵のローテーションを行うことができます。詳細については、鍵のローテーションをご覧ください。