このドキュメントでは、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)を設定します。
-
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.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
ログイン画面が表示されます。ログインすると、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 の概要をご覧ください。
次のステップ
- Google Cloud 認証方法について学習する。
- 認証のユースケースを確認する。