クライアントは REST API 経由で Cloud Key Management Service にアクセスできます。つまり、HTTP リクエストの送信をサポートするどの言語でも API にアクセスできます。ただし、多くのユーザーがより使い慣れたクライアント ライブラリを好むと考えられます。
長期的には、Google では、大幅なパフォーマンス向上のためにクライアントが gRPC を使用することを希望しています。ただし、デベロッパーによっては、既存の Google API クライアント ライブラリのほうが使い慣れていることもあります。このため、現状では REST API に基づいて構築されたライブラリを使用することをおすすめします。
Cloud Console の Cloud KMS にはウェブベースのインターフェースもあり、これを使用して鍵の管理オペレーションを行うことができます。暗号化オペレーションと復号化オペレーションは、ウェブ インターフェースでは実行できません。
Google では、すべての言語とプラットフォームから Cloud KMS に快適にアクセスできるようにするための作業を進めています。ご不明な点がありましたら Google までお問い合わせください。
プラットフォーム
クライアントが API にアクセスする方法は、コードが実行されているプラットフォームによって若干異なり、特に認証において顕著です。Google アプリケーションのデフォルト認証情報において違いはほとんどありませんが、いくつかの留意点があります。
Google Compute Engine
Compute Engine で実行されるソフトウェアは、一般的にデフォルトのサービス アカウントを使用して、環境に自動的にプロビジョニングされた認証情報を使用して認証します。Cloud KMS も同様です。インスタンスを作成するときに、https://www.googleapis.com/auth/cloudkms
(最小権限の原則をサポートしているため、こちらが望ましい)または https://www.googleapis.com/auth/cloud-platform
OAuth スコープにアクセスできるようにしてください。
例:
コマンドライン
gcloud compute instances create instance-1 --zone us-east1-b --scopes=https://www.googleapis.com/auth/cloudkms
詳細については Google Compute Engine のドキュメントをご覧ください。
Google App Engine
App Engine は簡単に使えます。アプリケーションのデフォルト認証情報を使用し、スコープ https://www.googleapis.com/auth/cloudkms
(最小権限の原則をサポートしているため、こちらが望ましい)または https://www.googleapis.com/auth/cloud-platform
を指定するのみです。鍵を管理または使用するには、App Engine サービス アカウント(PROJECT_NAME@appspot.gserviceaccount.com
)に IAM 権限を付与する必要があります。
オンプレミス本番環境
オンプレミス本番環境では、Cloud KMS を含む Google Cloud Platform API への認証方法として、サービス アカウントを使用することをおすすめします。サービス アカウントの使用方法については、認証の開始をご覧ください。
クライアント認証
アプリケーションでユーザーを直接認証する必要がある場合は、ユーザーの代わりに認証情報を取得して使用できます。詳細については、エンドユーザーとしての認証をご覧ください。
デベロッパー ワークステーション
デベロッパー ワークステーションについても、サービス アカウントを使用して認証することをおすすめします。サービス アカウントの使用方法については、認証の開始をご覧ください。
Google 以外の本番環境
Google 以外で管理する環境の場合は、次の手順に従う必要があります。
- サービス アカウントを作成します。
- 作成したサービス アカウントの JSON キーファイルをダウンロードします。
- ダウンロードしたキーファイルをなんらかの方法で本番環境にプロビジョニングします。
- キーファイルの認証情報をコードに読み込みます。
このプロセスは、Google Identity のドキュメントで詳細に説明されています。