Cloud Key Management Service には、高パフォーマンスの Google API クライアント ライブラリを使用してアクセスすることをおすすめします。Cloud KMS gRPC API に接続するこれらのライブラリは、複数の一般的なプログラミング言語で提供されています。
Google の REST API を使用して Cloud KMS にアクセスすることもできます。したがって、HTTP リクエストの送信をサポートするどの言語でも API にアクセスできます。ただし、ほとんどのユーザーは汎用的なクライアント ライブラリを好みます。
また、Google Cloud Console の Cloud KMS 用のウェブベースのインターフェースを使用して、鍵管理オペレーションを行うこともできます。暗号化オペレーションと復号化オペレーションは、ウェブ インターフェースでは実行できません。
Google では、すべての言語とプラットフォームから Cloud KMS に快適にアクセスできるようにするための作業を進めています。ご不明な点がありましたら Google までお問い合わせください。
プラットフォーム
クライアントが API にアクセスする方法は、コードが実行されているプラットフォームによって若干異なり、特に認証において顕著です。Google アプリケーションのデフォルト認証情報において違いはほとんどありませんが、いくつかの留意点があります。認証の詳細については、認証の概要をご覧ください。
Compute Engine と Google Kubernetes Engine
Google Kubernetes 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"
詳細については、Compute Engine のドキュメントまたは GKE のドキュメントをご覧ください。
App Engine
App Engine で Cloud KMS を使用するには:
- App Engine サービス アカウント(
PROJECT_ID@appspot.gserviceaccount.com
)に、鍵を管理または使用するための Identity and Access Management 権限を付与します。 - [アプリケーションのデフォルト認証情報] を使用して、スコープ
https://www.googleapis.com/auth/cloudkms
を指定します。また、範囲https://www.googleapis.com/auth/cloud-platform
を指定することもできますが、Cloud KMS だけでなくより幅広いスコープも指定できます。
詳細については、App Engine ドキュメントの API へのアクセスとアクセスの制御をご覧ください。
クライアント認証
アプリケーションでユーザーを直接認証する必要がある場合は、ユーザーの代わりに認証情報を取得して使用できます。詳しくは、ユーザー アカウントをご覧ください。