Cloud KMS を使ってみる

T-Systems Sovereign Cloud では、すべてのデータを Cloud External Key Manager(Cloud EKM)鍵を使用して暗号化する必要があります。これは、外部鍵マネージャー(EKM とも略されます)に接続された暗号鍵です。お客様は独自の Cloud EKM を設定して使用できますが、 Google Cloud と T-Systems Sovereign Cloud によってプロビジョニングされたプロジェクトも提供されます。このプロジェクト(鍵管理プロジェクト)では、お客様に代わって T-Systems International(TSI)が運用する外部鍵マネージャーを使用して鍵を作成できます。

このトピックでは、TSI をバックエンドとする場合に Cloud KMS を使用する手順について説明します。

概要

T-Systems Sovereign Cloud で Cloud EKM を使用して鍵を作成、管理するには、Issue Tracker というチケット システムを使用します。ウェルカム メールに、問題トラッカー ツールへのリンクと、管理者の主要なアクセス グループ情報が記載されています。すべてのキー管理者をアクセス グループに追加する必要があります。これらの管理者は、Issue Tracker コンポーネントにアクセスして TSI にチケットを提出できるようになります。TSI はお客様に代わって鍵管理オペレーションを実行します。

TSI 管理の鍵はすべて、事前プロビジョニングされた鍵管理プロジェクトで作成する必要があります。Cloud KMS 鍵が存在するプロジェクト以外のプロジェクトでは、データをホストできます。この機能は、鍵管理者とデータ管理者の職務の分離に関するベスト プラクティスに対応しています。

お客様固有の情報を確認する

鍵の作成を開始する前に、最初のウェルカム メールから次の情報を確認します。

  1. Cloud KMS プロジェクト番号
  2. 鍵管理者のアクセス グループ
  3. Issue Tracker のリンク

アクセス グループを構成する

鍵管理者のアクセス グループは、組織内の鍵管理者(Cloud KMS 管理者の Identity and Access Management(IAM)ロールが付与されるユーザー)専用の非公開の Google グループです。鍵管理者のアクセス グループは、ユーザーが管理します。

アクセス グループは、ウェルカム メールで通知されます。形式は次のようになります。

<customer-name>-<KMS-project-number>-key-admin@googlegroups.com

プロジェクトの Cloud KMS 管理者ロールを付与するユーザーを Google グループに追加します。グループの管理方法について詳しくは、グループにユーザーを追加するをご覧ください。

Cloud EKM 鍵を作成する

Cloud EKM 鍵は、 Google Cloudでデータを暗号化するために使用されます。TSI の外部鍵マネージャーの鍵を使用するには、まず Cloud EKM 鍵を作成する必要があります。この TSI リンクの Cloud EKM 鍵は、TSI の EKM 内の特定の鍵を参照するために使用され、事前プロビジョニングされた鍵管理プロジェクトでのみ作成できます。

キーリングの作成

Cloud EKM 鍵を保持するキーリングを作成します。T-Systems Sovereign Cloud の場合、鍵リングのロケーションは常に europe-west3 にする必要があります。KEY_RING_NAME プレースホルダは、鍵リングに付ける名前に置き換えます。

gcloud

gcloud kms keyrings create KEY_RING_NAME \
--location europe-west3

Cloud EKM 接続リソース名を取得する

次に、鍵管理プロジェクトで TSI の Cloud EKM 接続リソース名を取得する必要があります。default-ekm-connection という名前になります。

gcloud

次のコマンドを実行して、接続名 default-ekm-connection を含む Cloud EKM 接続リソース名を見つけます。形式は projects/[PROJECT-ID]/locations/europe-west3/ekmConnections/default-ekm-connection です。

gcloud kms ekm-connections list \
--location europe-west3

出力例:

NAME: projects/test-project/locations/europe-west3/ekmConnections/default-ekm-connection
SERVICE_DIRECTORY_SERVICE: projects/host-project/locations/europe-west3/namespaces/tsi-ekm-000000001/services/tsi-ekm-00000001
HOSTNAME: test_host.example.com

NAME セクションでハイライト表示されている完全なリソース名をコピーします。これは、対称鍵または非対称鍵を作成するときに --crypto-key-backend 値として使用されます。

対称暗号鍵を作成する

対称 Cloud EKM 鍵を作成するには、Google Cloud CLI で次のコマンドを使用します。

gcloud

gcloud kms keys create KEY_NAME \
--keyring KEY_RING_NAME \
--location europe-west3 \
--purpose encryption \
--protection-level external-vpc \
--default-algorithm external-symmetric-encryption \
--skip-initial-version-creation \
--crypto-key-backend EKM_CONNECTION

フラグ --skip-initial-version-creation は、鍵バージョンが作成されないようにするために使用されます。TSI Sovereign Cloud で Cloud KMS を使用する場合、鍵バージョンの作成は TSI が行います。

鍵の目的が encryption の場合、鍵は対称暗号鍵です。TSI の EKM は VPC 接続を介して EKM を使用して Cloud KMS に接続されているため、external-vpc 保護レベルを使用する必要があります。

EKM_CONNECTION は、上記の Cloud EKM 接続リソース名を取得するセクションでコピーした EKM 接続名に置き換えます。リソース名は完全な名前にする必要があります。

上記の手順では、キーリングに空の対称暗号鍵が作成されます。鍵のバージョンを作成するには、以下の最後の手順に沿って操作します。

非対称署名鍵を作成する

非対称署名鍵の作成は、対称暗号鍵の作成に似ています。主な違いは、鍵の目的とデフォルトのアルゴリズムです。

新しい鍵を作成するときは、鍵バージョンが作成されないように --skip-initial-version-creation を追加してください。T-Systems Sovereign Cloud で Cloud KMS を使用する場合、鍵バージョンの作成は TSI が行います。

gcloud

gcloud kms keys create KEY_NAME \
--keyring KEY_RING_NAME \
--location europe-west3 \
--purpose asymmetric-signing \
--protection-level external-vpc \
--skip-initial-version-creation \
--default-algorithm ec-sign-p256-sha256 \
--crypto-key-backend EKM_CONNECTION

鍵の目的を asymmetric-signing に設定して、鍵が非対称署名鍵であることを指定します。TSI の EKM は VPC 接続を介して EKM を使用して Cloud KMS に接続されているため、external-vpc 保護レベルを使用する必要があります。

EKM_CONNECTION は、上記の Cloud EKM 接続リソース名を取得するセクションでコピーした EKM 接続名に置き換えます。リソース名は完全な名前にする必要があります。

上記の手順では、キーリングに空の非対称暗号鍵が作成されます。鍵のバージョンを作成するには、以下の最後の手順に沿って操作します。

最終ステップ

Google Cloudで Cloud EKM 鍵を作成したら、最後のステップとして、Issue Tracker リクエスト フォームを使用して TSI にチケットを送信します。これにより、最初の鍵バージョンが作成されます。リクエストは TSI に転送され、TSI 側で鍵のプロビジョニングが完了します。

鍵バージョンの作成やローテーションなど、他の鍵管理オペレーションの詳細なチュートリアルについては、TSI で管理される鍵オペレーションをご覧ください。

次のステップ