Dataform に対する認証を行う

このドキュメントでは、Dataproc に対する認証をプログラムで行う方法について説明します。Dataform に対する認証方法は、API へのアクセスに使用するインターフェースと、コードが実行されている環境によって異なります。

Google Cloud の認証の詳細については、認証の概要をご覧ください。

API アクセス

Dataform はプログラムによるアクセスをサポートしています。次の方法で API にアクセスできます。

クライアント ライブラリ

Dataform クライアント ライブラリでは、Dataform に対する認証をプログラムで行うための高度な言語サポートが提供されています。 Google Cloud APIs の呼び出しを認証するために、クライアント ライブラリではアプリケーションのデフォルト認証情報(ADC)がサポートされています。このライブラリは、一連の定義済みのロケーションの中から認証情報を探し、その認証情報を使用して API へのリクエストを認証します。ADC を使用すると、アプリケーション コードを変更することなく、ローカルでの開発や本番環境など、さまざまな環境のアプリケーションで認証情報を使用できるようになります。

REST

Dataform API に対する認証には、gcloud CLI 認証情報またはアプリケーションのデフォルト認証情報を使用します。REST リクエストの認証の詳細については、REST を使用して認証するをご覧ください。認証情報の種類については、gcloud CLI の認証情報と ADC の認証情報をご覧ください。

Dataform の認証を設定する

認証の設定方法は、コードが実行されている環境によって異なります。

認証の設定には、次のオプションが最も一般的に使用されます。認証のその他のオプションと詳細については、認証方法をご覧ください。

ローカル開発環境の場合

ローカル開発環境の認証情報は、次の方法で設定できます。

クライアント ライブラリまたはサードパーティ ツール

ローカル環境でアプリケーションのデフォルト認証情報(ADC)を設定します。

  1. Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init
  2. 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 で使用されるローカル認証情報ファイルに認証情報が保存されます。

ローカル環境での ADC 操作の詳細については、ローカル開発環境の ADC を設定するをご覧ください。

コマンドラインからの REST リクエスト

コマンドラインから REST リクエストを行う場合は、リクエストを送信するコマンドの一部として gcloud auth print-access-token を含めることで、gcloud CLI 認証情報を使用できます。

次の例では、指定したプロジェクトのサービス アカウントを一覧表示します。どの REST リクエストに対しても、同じパターンを使用できます。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: Google Cloud プロジェクト ID。

リクエストを送信するには、次のいずれかのオプションを開きます。

 

REST と gRPC を使用した認証の詳細については、REST の使用に対する認証をご覧ください。ローカル ADC 認証情報と gcloud CLI 認証情報の違いについては、gcloud CLI 認証構成と ADC 構成をご覧ください。

サービス アカウントの権限借用

ほとんどの場合、ユーザー認証情報を使用してローカル開発環境から認証できます。これが不可能な場合、またはサービス アカウントに割り当てられた権限をテストする必要がある場合は、サービス アカウントの権限借用を使用できます。iam.serviceAccounts.getAccessToken 権限が必要です。この権限は、サービス アカウント トークン作成者roles/iam.serviceAccountTokenCreator)IAM ロールに含まれています。

サービス アカウントの権限借用を使用するように gcloud CLI を設定するには、gcloud config set コマンドを使用します。

gcloud config set auth/impersonate_service_account SERVICE_ACCT_EMAIL

一部の言語では、サービス アカウントの権限借用を使用して、クライアント ライブラリで使用するローカル ADC ファイルを作成できます。このアプローチは、Go、Java、Node.js、Python のクライアント ライブラリでのみサポートされています。他の言語ではサポートされていません。サービス アカウントの権限借用を使用してローカル ADC ファイルを設定するには、gcloud auth application-default login コマンド--impersonate-service-account フラグを使用します。

gcloud auth application-default login --impersonate-service-account=SERVICE_ACCT_EMAIL

サービス アカウントの権限借用の詳細については、サービス アカウントの権限借用を使用するをご覧ください。

Dataform のアクセス制御

Dataform への認証後、Google Cloud リソースへのアクセスが認可される必要があります。Dataform では Identity and Access Management(IAM)を使用して認可を行います。

Dataform のロールの詳細については、IAM を使用したアクセス制御をご覧ください。IAM と認可の詳細については、IAM の概要をご覧ください。

次のステップ