ローカル開発環境の ADC にユーザー認証情報またはサービス アカウント認証情報を指定できます。
ユーザー認証情報
開発用ワークステーションなどのローカル開発環境でコードを実行している場合は、ユーザー アカウントに関連付けられた認証情報を使用することをおすすめします。
ユーザー アカウントで ADC を構成する方法は、ユーザー アカウントが Google によって管理されているか(つまり、Google アカウント)、別の ID プロバイダ(IdP)で管理されていて Workforce Identity 連携で連携されているかによって異なります。
Google アカウントで ADC を構成する
Google アカウントで ADC を構成するには、Google Cloud CLI を使用します。
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
ログイン画面が表示されます。ログインすると、ADC で使用されるローカル認証情報ファイルに認証情報が保存されます。
外部 IdP によって管理されているアカウントで ADC を構成する
外部 IdP で管理され、Workforce Identity 連携で連携されているユーザー アカウントの ADC を構成するには、次の操作を行います。
-
After installing the Google Cloud CLI, configure the gcloud CLI to use your federated identity and then initialize it by running the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
ログイン画面が表示されます。ログインすると、ADC で使用されるローカル認証情報ファイルに認証情報が保存されます。
ユーザー認証情報で ADC を構成するためのヒント
ユーザー アカウントで ADC を構成する場合は、次の点に注意してください。
ユーザー アカウントで構成された ADC は、追加の構成手順がないと、一部の API で機能しない場合があります。プロジェクトで API が有効になっていない、または利用可能な割り当てプロジェクトがないというエラー メッセージが表示された場合は、ユーザーの認証情報が機能しないをご覧ください。
ローカル ADC ファイルには、更新トークンが含まれています。ファイル システムにアクセスできるすべてのユーザーが、これを使用して有効なアクセス トークンを取得できます。これらのローカル認証情報が不要になった場合は、
gcloud auth application-default revoke
コマンドを使用して取り消すことができます。ローカル ADC ファイルは、gcloud CLI 構成ではなく、ユーザー アカウントに関連付けられます。別の gcloud CLI 構成に変更すると、gcloud CLI で使用される ID が変更される可能性がありますが、ローカル ADC ファイルや ADC 構成に影響はありません。
サービス アカウント認証情報
サービス アカウントの認証情報を使用して ADC を設定するには、サービス アカウントの権限借用を使用するか、サービス アカウント キーを使用します。
サービス アカウントの権限借用
サービス アカウントの権限借用を使用して、ローカルのアプリケーションのデフォルト認証情報(ADC)ファイルを設定できます。権限借用をサポートするクライアント ライブラリは、これらの認証情報を自動的に使用できます。権限借用を使用して作成されたローカル ADC ファイルは、次の言語でサポートされています。
- C#
- Go
- Java
- Node.js
- Python
権限を借用するサービス アカウントに対するサービス アカウント トークン作成者(roles/iam.serviceAccountTokenCreator
)の IAM ロールが必要です。詳細については、必要なロールをご覧ください。
サービス アカウントの権限借用を使用して、ローカル ADC ファイルを作成します。
gcloud auth application-default login --impersonate-service-account SERVICE_ACCT_EMAIL
これで、サポートされている言語でクライアント ライブラリを使用できます。ローカル ADC ファイルをユーザー認証情報で設定した後と同じ方法で使用できます。認証ライブラリによって認証情報が自動的に検索されます。詳細については、クライアント ライブラリを使用するための認証をご覧ください。
サービス アカウント キー
ローカル開発でユーザー アカウントやサービス アカウントの権限借用を使用できない場合は、サービス アカウント キーを使用できます。
サービス アカウント キーを作成して ADC で使用できるようにするには:
- サービス アカウント キーの作成の手順に沿って、アプリケーションに必要なロールとサービス アカウント キーを使用して、サービス アカウントを作成します。
-
Set the environment variable
GOOGLE_APPLICATION_CREDENTIALS
to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again.
次のステップ
- サービス アカウント キーの使用に関するベスト プラクティスを理解する。
- ADC が認証情報を検出する仕組みを確認する。
- Cloud クライアント ライブラリを使用して認証する。
- REST を使用して認証する。
- 認証方法を確認する。