このページでは、ユーザーが管理するサービス アカウントとその秘密鍵を使用して、Cloud IoT Core API に対してアプリケーションを認証する方法について説明します。
アプリケーションを使用して、レジストリとデバイスを管理できます。例については、Cloud IoT Core のコードサンプルをご覧ください。
サービス アカウントを使用して認証する
ユーザー管理サービス アカウントは、アプリケーションを表す Google アカウントの一種です。ユーザー管理サービス アカウントは、主にサーバー間 API 認証に使用されます。
Cloud IoT Core には 2 種類の認証があります。Cloud IoT Core に対してデバイスを認証する場合は、秘密鍵/公開鍵のペアと JSON ウェブトークンを使用します。ただし、Cloud IoT Core API に対してアプリケーションを認証する場合は、ユーザーが管理するサービス アカウントの形式で GCP 認証を使用する必要があります。
ユーザー管理サービス アカウントには、さまざまな形式の独自の秘密鍵があります。 ユーザー管理のサービス アカウントの秘密鍵をアプリケーションに提供することで、認証情報を作成してアプリケーションを認証できます。
アプリケーションを認証するには、最も広くサポートされている柔軟なメソッドである、ユーザー管理のサービス アカウントと非公開の JSON キーを使用することをおすすめします。認証の開始の手順で、ユーザー管理のサービス アカウントを作成し、秘密 JSON キーをダウンロードできます。
次のサンプルは、ユーザー管理のサービス アカウントの秘密 JSON キーを使用して Cloud IoT Core API に対してアプリケーションを認証する方法を示しています。
C#
C# サンプルでは、JSON キーファイルは明示的に指定されていません。代わりに、GOOGLE_APPLICATION_CREDENTIALS
環境変数で指定された場所を使用します。そうすると、クライアント ライブラリが認証情報を暗黙的に判別できます。
Go
Go のサンプルでは、JSON キーファイルが明示的に指定されていません。それよりも、GOOGLE_APPLICATION_CREDENTIALS
環境変数で指定されたロケーションを使用します。クライアント ライブラリによって、認証情報を暗黙的に判別できます。このサンプルは、レジストリの作成の状況でも使用されますが、実際の認証は後述します。
Java
Java のサンプルでは、JSON キーファイルが明示的に指定されていません。それよりも、GOOGLE_APPLICATION_CREDENTIALS
環境変数で指定されたロケーションを使用します。クライアント ライブラリによって、認証情報を暗黙的に判別できます。このサンプルは、レジストリの作成の状況でも使用されますが、実際の認証は後述します。
Node.js
PHP
PHP のサンプルでは、JSON キーファイルが明示的に指定されていません。それよりも、GOOGLE_APPLICATION_CREDENTIALS
環境変数で指定されたロケーションを使用します。クライアント ライブラリによって、認証情報を暗黙的に判別できます。このサンプルは、レジストリの作成の状況でも使用されますが、実際の認証は後述します。
Python
Python のサンプルでは、JSON キーファイルが明示的に指定されていません。それよりも、GOOGLE_APPLICATION_CREDENTIALS
環境変数で指定されたロケーションを使用します。そうすると、クライアント ライブラリが認証情報を暗黙的に判別できます。
Ruby
Ruby のサンプルでは、JSON キーファイルが明示的に指定されていません。それよりも、GOOGLE_APPLICATION_CREDENTIALS
環境変数で指定されたロケーションを使用します。クライアント ライブラリによって、認証情報を暗黙的に判別できます。このサンプルは、レジストリの作成の状況でも使用されますが、実際の認証は後述します。