カスタムOAuth アプリの作成
Azure:カスタムOAuth アプリ
カスタムOAuth アプリケーションを作成して、ユーザーアカウントやサービスプリンシパルを認証することもできます。
カスタムOAuth アプリを作成するタイミング
CData はOAuth アプリケーション認証情報を製品に組み込んでおり、デスクトップアプリケーションまたはヘッドレスマシンから接続する際に使用できます。
以下の場合、独自のOAuth アプリケーション認証情報を使用することもできます。
- 認証ダイアログのブランディングをコントロールしたいとき
- ユーザー認証後にアプリケーションがユーザーをリダイレクトするためのリダイレクトURI をコントロールしたいとき
- ユーザーからのリクエストに対する許可をカスタマイズしたいとき
OAuth アプリケーションの作成
下記の手順に従って、アプリケーションのOAuth 値を取得します。
- Microsoft Azure Portal にログインします。
- 左側のナビゲーションペインでAzure Active Directory > アプリの登録を選択して、新規登録をクリックします。
- アプリ名を入力し、目的のテナント設定のラジオボタンを設定します。 Azure Active Directory でカスタムOAuth アプリケーションを作成する場合、サポートされているアカウントの種類セクションでアプリケーションをシングルテナントまたはマルチテナントに定義できます。アプリが個人使用のみの場合は、[この組織ディレクトリ内のアカウントのみ]を選択するだけで十分です。アプリを配布する場合は、マルチテナントオプションのいずれか1つを選択してください。
- リダイレクトURI をhttp://localhost:33333 のような本製品 のデフォルトに設定します。あるいは、任意の別のポートを設定して、定義した正確なリダイレクトURI を控えておきます。
- 登録をクリックして新しいアプリを登録します。アプリケーションオブジェクトとサービスプリンシパルは、テナントに自動的に作成されます。アプリの管理画面が表示されます。アプリケーション(クライアント)ID の値と、[この組織ディレクトリのみに含まれるアカウント]を選択した場合はディレクトリ(テナント)ID の値をメモします。
- [証明書とシークレット]セクションに移動して、アプリの認証タイプを定義します。認証には、クライアントシークレットを使用する方法と、証明書を使用する方法の2種類があります。
- オプション1(Azure サービスプリンシパル認証) - 証明書のアップロード :証明書とシークレットセクションで証明書のアップロードを選択し、ローカルマシンからアップロードする証明書を選択します。
- オプション2(Azure Active Directory ユーザー認証) - 新しいアプリケーションシークレット(AzureServicePrincipal)の作成:証明書とシークレットセクションで新しいクライアントシークレットを選択し、有効期限を選択します。クライアントシークレットを保存すると、キーの値が表示されます。 この値は一度しか表示されないので、記録しておきます。
- API のアクセス許可を選択してアクセス許可の追加をクリックします。ユーザーコンテキストなしでアプリを接続する予定の場合は、[アプリケーションの許可]を選択します。アプリをユーザーコンテキストありで接続する予定の場合は、[委任されたアクセス許可]を選択します。
- Azure Healthcare APIs -> user_impersonation が有効化されていることを確認する必要があります。
- 変更を保存します。
- 管理者の同意が必要なアクセス許可([アプリケーションの許可]など)を使用することを選択した場合は、API のアクセス許可ページで現在のテナントから付与することができます。
Google:カスタムOAuth アプリ
カスタムOAuth アプリケーションを作成して、サービスアカウントまたはユーザーアカウントを認証することもできます。
カスタムOAuth アプリを作成するタイミング
CData はOAuth アプリケーション認証情報を製品に組み込んでおり、デスクトップアプリケーションまたはヘッドレスマシンから接続する際に使用できます。
以下の場合、独自のOAuth アプリケーション認証情報を使用することもできます。
- 認証ダイアログのブランディングをコントロールしたいとき
- ユーザー認証後にアプリケーションがユーザーをリダイレクトするためのリダイレクトURI をコントロールしたいとき
- ユーザーからのリクエストに対する許可をカスタマイズしたいとき
ユーザーアカウント用のOAuth アプリケーションの作成(OAuth)
Cloud Healthcare API をまだ有効にしていない場合は、次の手順に従います。
- ページ左上のハンバーガーメニューをクリックし、API とサービス > ライブラリを選択します。
- 左側のナビゲーションからヘルスケアカテゴリを選択し、Cloud Healthcare API をクリックします。
- 有効にするをクリックします。
下記の手順に従って、アプリを登録します。
- Google Cloud コンソールにログインしてプロジェクトを開きます。ページ左上のハンバーガーメニューをクリックし、API とサービスを選択します。
- OAuth アプリを作成する前に、OAuth 同意画面を作成する必要があります。OAuth 同意画面をまだ設定していない場合は、左側のナビゲーションからOAuth 同意画面オプションを選択し、フォームに入力します。
- [API とサービス]ページから、左側のナビゲーションで認証情報を選択し、続けて+ 認証情報を作成 > OAuth クライアントID をクリックします。
- アプリケーションの種類メニューで、カスタムリダイレクトURI を設定する場合はウェブアプリケーションを選択し、設定しない場合はデスクトップアプリケーションを選択します。
- アプリケーションの名前を入力して作成をクリックします。
- Web アプリケーションを作成する場合は、承認済みのリダイレクトURI の下のURI を追加をクリックし、目的のリダイレクトURI を指定します。指定したリダイレクトURI をメモし、OK をクリックします。
- アプリケーションの認証情報を表示するウィンドウが表示されます。クライアントID およびクライアントシークレットの値を控えておきます。
サービスアカウント用のOAuth アプリケーションの作成(OAuthJWT)
Cloud Healthcare API をまだ有効にしていない場合は、次の手順に従います。
- ページ左上のハンバーガーメニューをクリックし、API とサービス > ライブラリを選択します。
- 左側のナビゲーションからヘルスケアカテゴリを選択し、Cloud Healthcare API をクリックします。
- 有効にするをクリックします。
次の手順に従ってOAuth アプリケーションを作成しプライベートキーを生成します。
- Google Cloud コンソールにログインしてプロジェクトを開きます。ページ左上のハンバーガーメニューをクリックし、API とサービスを選択します。
- OAuth アプリを作成する前に、OAuth 同意画面を作成する必要があります。OAuth 同意画面をまだ設定していない場合は、左側のナビゲーションからOAuth 同意画面オプションを選択し、フォームに入力します。
- [API とサービス]ページから、左側のナビゲーションで認証情報を選択し、続けて+ 認証情報を作成 > サービスアカウントをクリックします。
- サービスアカウントID を指定し、作成して続行をクリックします。
- 1つもしくは複数のロールを選択します。
- 作成をクリックして、サービスアカウントを作成します。
- 認証情報ページで、新しく作成したサービスアカウントへのリンクをクリックします。
- キータブを選択し、続けて鍵を追加 -> 新しい鍵を作成 をクリックします。キータイプとしてJSON を選択し、作成をクリックしてキーを生成してダウンロードします。