カスタムOAuth アプリケーションの作成
カスタムOAuth アプリケーションの作成
Azure Data Catalog は、Azure AD、Azure サービスプリンシパルを使用する認証をサポートします。これらは、いずれもOAuth ベースです。このトピックでは、以下の方法を説明します。
- Azure AD またはAzure サービスプリンシパル用のカスタムOAuth アプリケーションの作成と登録
- カスタムOAuth アプリケーションに管理者の同意を提供
- クライアント資格情報で使用するカスタムOAuth アプリケーションの作成
Azure AD
portal.azure.com で:- https://portal.azure.com にログインします。
- 左側のナビゲーションペインでAzure Active Directory -> アプリの登録を選択します。
- 新規登録をクリックします。
- アプリケーションの名前を入力します。
- シングルかマルチテナントか、パブリックかプライベートか、希望するテナント設定を選択します。
- デフォルトのオプション[この組織ディレクトリ内のアカウントのみ]を選択する場合は、CData Power BI Connector for Azure Data Catalog への接続を確立するときにAzureTenant 接続プロパティをAzure AD テナントのId に設定する必要があります。それ以外の場合は、認証に失敗しエラーが発生します。
- アプリケーションが個人使用のみの場合は、この組織ディレクトリ内のアカウントのみを指定します。
- アプリケーションを配布する場合は、マルチテナントオプションのいずれか1つを選択してください。
- リダイレクトURL をhttp://localhost:33333(本製品 のデフォルト)に設定するか、または別のポートを指定し、CallbackURL を定義した正確なリプライURL に設定します。
- 登録をクリックして新しいアプリケーションを登録します。アプリケーション管理画面が表示されます。
OAuthClientId としてApplication (client) ID の値、AzureTenant としてDirectory (tenant) ID の値をメモします。 - 証明書とシークレットセクションに移動して、アプリケーションの認証タイプを定義します。認証には、証明書(推奨)とクライアントシークレットの2種類があります。
- 証明書による認証:証明書とシークレットで証明書のアップロードを選択し、ローカルマシンから証明書をアップロードします。
- 新しいクライアントシークレットの作成:証明書とシークレットで新しいクライアントシークレットを選択し、有効期限を指定します。クライアントシークレットが保存されると、Azure Data Catalog はキーの値を表示します。 表示は一度のみなのでこの値をコピーします。 この値がOAuthClientSecret となります。
- API のアクセス許可 -> アクセス許可の追加 -> 委任されたアクセス許可を選択します。
- Select Azure Data Catalog > Delegated Permissions > user_impersonation.
- 変更を保存します。
- 管理者の同意が必要なアクセス許可([アプリケーションの許可]など)を使用することを指定した場合は、API のアクセス許可ページで現在のテナントから付与することができます。
Azure サービスプリンシパル
Azure サービスプリンシパル認証を使用するには、認証アプリケーションにロールを割り当てる機能を設定したのち、Azure AD テナントにアプリケーションを登録し、新しい サービスプリンシパルを作成する必要があります。この新しいサービスプリンシパルは、割り当てられたロールベースのアクセス制御を利用して、サブスクリプション内のリソースにアクセスできます。portal.azure.com で:
- 前述のように、カスタムOAuth AD アプリケーションを作成します。
- 検索バーを使用してサブスクリプションサービスを検索します。
- サブスクリプションページを開きます。
- アプリケーションを割り当てるサブスクリプションを選択します。
- アクセス制御(IAM)を開きます。
- 追加 -> ロールの割り当ての追加を選択します。Azure Data Catalog はロールの割り当ての追加ページを開きます。
- 作成したカスタムAzure AD アプリケーションに所有者ロールを割り当てます。
管理者の同意
カスタムアプリケーションの中には、Azure Active Directory テナント内で操作するために管理者権限が必要なものがあります。管理者の同意は、新しいカスタムOAuth アプリケーションを作成する際に、すでに"Admin Consent Required" とマークされている関連パーミッションを追加することで付与できます。管理者の同意は、OAuth フローでクライアント資格情報を使用する場合にも必要です。
管理者の同意を付与するには:
- 管理者にportal.azure.com にログインしてもらいます。
- アプリの登録に移動し、作成したカスタムOAuth アプリケーションを見つけます。
- API のアクセス許可で、同意の付与をクリックします。
クライアント資格情報の同意
OAuth は、認証のためのクライアント資格情報の使用をサポートします。クライアント資格情報のOAuth フローでは、認証するアプリケーション自身の資格情報が作成されます。認証フローは通常の認証フローと同じように動作しますが、関連するユーザーに対して資格情報の提供を求めるプロンプトは表示されません。 アプリケーションで受理されるすべてのタスクは、デフォルトユーザーコンテキストなしで実行されます。Note:埋め込まれたOAuth 資格情報はユーザーごとに認証されるため、クライアントOAuth フローで使用することはできません。 クライアント資格情報を使用するには、必ずカスタムOAuth アプリケーションを作成する必要があります。
portal.azure.com で:
- 前述のように、カスタムOAuth アプリケーションを作成します。
- アプリの登録に移動します。
- 作成したアプリケーションを探し、API のアクセス許可を開きます。
- Microsoft Graph アクセス許可を選択します。 アクセス許可には2つの異なるアクセス許可セットがあります。委任されたアクセス許可とアプリケーションの許可です。
- Application Permissions で、インテグレーションに必要なアクセス許可を選択します。