カスタムOAuth アプリの作成
カスタムOAuth アプリケーションの作成
CData はOAuth アプリケーション認証情報を製品に組み込んでおり、デスクトップアプリケーションまたはヘッドレスマシン経由でGoogle BigQuery に接続する際に使用できます。(OAuthAccessToken およびその他の設定パラメータを取得および設定する方法についての情報は、「Google BigQuery への接続」の デスクトップ認証セクションを参照してください。)
ただし、Web 経由で接続するには、カスタムOAuth アプリケーションの作成が必要です。また、カスタムOAuth アプリケーションは、一般的に使用される3つの認証フローをすべてシームレスにサポートするため、これらの認証フロー用にカスタムOAuth アプリケーションを作成(独自のOAuth アプリケーションクレデンシャルを使用)することもできます。
カスタムOAuth アプリケーションは、次のような場合に有用です。
- 認証ダイアログのブランディングをコントロールしたいとき
- ユーザー認証後にアプリケーションがユーザーをリダイレクトするためのリダイレクトURI をコントロールしたいとき
- ユーザーからのリクエストに対する許可をカスタマイズしたいとき
以下のセクションでは、Directory API を有効化し、ユーザーアカウント(OAuth)およびサービスアカウント(OAuth / JWT)用のカスタムOAuth アプリケーションを作成する方法について説明します。
BigQuery API を有効化
次の手順に従いBigQuery API を有効化します。- Google Cloud Console に移動します。
- 左側のナビゲーションメニューからライブラリを選択します。API ライブラリページが開きます。
- 検索ボックスに、「BigQuery API」を入力し、検索結果からBigQuery API を選択します。
- BigQuery API ページで、有効にするをクリックします。
OAuth アプリケーションの作成
カスタムOAuth アプリケーションを作成して必要なOAuth 接続プロパティを取得するには、以下の手順に従ってください。
ユーザーアカウント(OAuth)
AuthScheme がOAuth であり、Web アプリケーション上で認証する必要があるユーザーの場合は、必ずカスタムOAuth アプリケーションを作成する必要があります。 (デスクトップおよびヘッドレスフローでのカスタムOAuth アプリケーションの作成は任意です。)
以下の手順に従います。
- Google Cloud Console に移動します。
- 新しいプロジェクトを作成するか、既存のプロジェクトを選択します。
- 左側のナビゲーションメニューで、認証情報を選択します。
- このプロジェクトに同意画面がまだ設定されていない場合は、同意画面を設定 をクリックして作成します。Google Workspace アカウントを使用しない場合、User Type が外部の同意画面の作成に制限され、ユーザーサポートメールとデベロッパーの連絡先情報を指定する必要があります。 追加情報は任意です。
- 認証情報ページで認証情報を作成 -> OAuth クライアントID を選択します。
- アプリケーションの種類メニューでウェブアプリケーションを選択します。
- カスタムOAuth アプリケーションの名前を指定します。
- 承認済みのリダイレクトURI の下にあるURI を追加をクリックし、リダイレクトURI を入力します。
- Enter をクリックし、続けて作成をクリックします。Cloud コンソールは認証情報ページに戻ります。
ウィンドウが開き、クライアントId とクライアントシークレットが表示されます。 - 後でOAuthClientId とOAuthClientSecret として使用するために、クライアントId とクライアントシークレットを記録しておきます。
Note: クライアントシークレットはGoogle Cloud コンソールからアクセス可能です。
サービスアカウント(OAuthJWT)
サービスアカウント(AuthScheme OAuthJWT)をOAuth フローで使用することで、ドメイン内のユーザーの代わりにGoogle API にアクセスすることができます。 ドメイン管理者はドメイン全体のアクセスをサービスアカウントに委任することができます。新しいサービスアカウントを作成するには:
- Google Cloud Console に移動します。
- 新しいプロジェクトを作成するか、既存のプロジェクトを選択します。
- 左側のナビゲーションメニューで、認証情報を選択します。
- 認証情報を作成 -> サービスアカウントを選択します。
- サービスアカウントの作成ページで、サービスアカウント名、サービスアカウントID、 および任意でサービスアカウントの説明を入力します。
- 完了をクリックします。Cloud コンソールは認証情報ページを再表示します。
- サービスアカウントセクションで、作成したサービスアカウントを選択します。
- キータブをクリックします。
- 鍵を追加 -> 新しい鍵を作成 をクリックします。
- サポートされているキータイプ(OAuthJWTCert およびOAuthJWTCertType を参照)を選択します。
- 作成をクリックします。キーは自動的にデバイスにダウンロードされ、キーに固有の追加情報が表示されます。
- 後で使用するために、追加情報を記録しておきます。
サービスアカウントフローを完了させるには、Google Cloud Console で秘密キーを生成します。サービスアカウントフローにおいて、ドライバーはOAuthAccessToken へのJSON Web Token (JWT) を交換します。秘密キーはJWT の署名に必要です。ドライバーには、サービスアカウントに付与されているのと同じ権限が与えられます。