Tableau Connector for Google Spanner

Build 21.0.7930

OAuth の使用

OAuth では認証するユーザーにブラウザでGoogle Spanner との通信を要求します。下記で説明するとおり、connector はさまざまな方法でこれをサポートします。

埋め込みクレデンシャル

connector の埋め込みクレデンシャルに接続してカスタムOAuth アプリの作成をスキップするには、埋め込みクレデンシャル を参照してください。

カスタムクレデンシャル

connector の埋め込みクレデンシャルを使って接続する代わりに、アプリを登録してOAuthClientIdOAuthClientSecret を取得できます。

カスタムOAuth アプリを作成するタイミング

connector はすでにGoogle Spanner に登録されており、埋め込みOAuth クレデンシャルで接続できるため、カスタムOAuth アプリの作成は任意です。 カスタムOAuth アプリを作成して、ユーザーがGoogle Spanner OAuth エンドポイントにログインしてconnector にアクセス権を与えるときに表示される情報を変更することもできます。

カスタムOAuth アプリの作成

手順については、カスタムOAuth アプリの作成 を参照してください。

サービスアカウントを使って、Domain-Wide データに接続

このOAuth フローのサービスアカウントを使って、ユーザーもしくはドメインの代わりにGoogle API にアクセスすることができます。ドメイン管理者はドメイン全体のアクセスをサービスアカウントに委任することができます。

サービスアカウントフローを完了させるには、Google API Console で秘密キーを生成します。サービスアカウントフローにおいて、connector はOAuthAccessToken へのJSON Web Token (JWT) を交換します。OAuthAccessToken が認証し、connector はサービスアカウントと同じアクセス許可が与えられます。秘密キーはJWT の署名に必要です。

秘密キーの生成

下記の手順に従って、アプリケーションのクレデンシャルを取得します。

  1. Google API コンソールにログインします。
  2. [プロジェクトの作成]をクリック、または既存のプロジェクトを選択します。
  3. API Manager で、[認証情報]->[認証情報を作成]->[サービスアカウントキー]をクリックします。サービスアカウントメニューで[新しいサービスアカウント]か既存のサービスアカウントを選択します。[キーのタイプ]で[P12 キー]を選択します。
  4. [作成]をクリックして、キーペアをダウンロードします。秘密キーのパスワードが表示されます。これは、OAuthJWTCertPassword 内にあります。
  5. クレデンシャルページのサービスアカウントキーセクションでは[Manage Service Accounts]をクリックして、OAuthJWTIssuer をサービスアカウントID で表示されたE メールアドレスに設定します。
  6. [ライブラリ]->[Spanner API]->[有効にする]をクリックします。

サービスアカウントで認証する

次の接続プロパティを設定して、接続してください。

  • InitiateOAuth:GETANDREFRESH に設定。InitiateOAuth を使って、手動でのOAuthAccessToken 接続プロパティの生成やOAuth 交換の繰り返しを避けられます。
  • OAuthJWTCertType:"PFXFILE" に設定。
  • OAuthJWTCertPassword:.p12ファイルのパスワードに設定。
  • OAuthJWTCertSubject:"*" に設定すると、証明書ストアの1番目の証明書が選択されます。
  • OAuthJWTIssuer:サービスアカウントのE メールアドレスに設定。
  • OAuthJWTCert:.p12ファイルのパスに設定。
  • OAuthJWTSubject:アクセスの委譲を要求しているアプリケーションのユーザーのE メールアドレスを設定。
  • InstanceId:接続するインスタンスのID に設定。
  • Database:接続するデータベース名に設定。
  • ProjectId:接続するプロジェクトのID に設定。
接続すると、connector はサービスアカウントでのOAuth フローを完了します。
  1. connector に要求されるclaim set でJWT を作成し、サインします。
  2. JWT はアクセストークンと交換されます。
  3. トークンの期限が切れたときは、JWT を送り、新しいアクセストークンと交換します。

Copyright (c) 2021 CData Software, Inc. - All rights reserved.
Build 21.0.7930