カスタムOAuth アプリの作成
カスタムAzureAD アプリケーションには、AzureAD とAzure サービスプリンシパルを使用するAzureAD の2種類があります。いずれもOAuth ベースです。
カスタムアプリケーションを作成するタイミング
CData はOAuth アプリケーション認証情報を製品に組み込んでおり、デスクトップアプリケーションまたはヘッドレスマシンから接続する際に使用できます。以下の場合、独自のAzureAD アプリケーション認証情報を使用することもできます。
- 認証ダイアログのブランディングをコントロールしたいとき
- ユーザー認証後にアプリケーションがユーザーをリダイレクトするためのリダイレクトURI をコントロールしたいとき
- ユーザーからのリクエストに対する許可をカスタマイズしたいとき
カスタムAzureAD アプリケーション
カスタムAzureAD アプリケーションを使用して、サービスアカウントまたはユーザーアカウントで認証できます。カスタムAzureAD アプリケーションはいつでも作成できますが、デスクトップおよびヘッドレス接続は埋め込みOAuth をサポートしており、認証プロセスを簡略化できることに留意してください。埋め込みOAuth アプリケーションを使用するには「接続の確立」を参照してください。カスタムAzureAD アプリの作成
下記の手順に従って、アプリケーションのAzureAD 値OAuthClientId およびOAuthClientSecret を取得します。
- https://portal.azure.com にログインします。
- 左側のナビゲーションペインですべてのサービスを選択します。アプリの登録を検索して選択します。
- 新規登録をクリックします。
- アプリケーション名を入力し、目的のテナント設定を選択します。 Azure Active Directory でカスタムAzureAD アプリケーションを作成する場合、アプリケーションをシングルテナントまたはマルチテナントに定義できます。デフォルトのオプション[この組織ディレクトリ内のアカウントのみ]を選択する場合は、CData ADO.NET Provider for JSON への接続を確立するときにAzureTenant 接続プロパティをAzure AD テナントのId に設定する必要があります。それ以外の場合は、認証に失敗しエラーが発生します。アプリケーションが個人使用のみの場合は、[この組織ディレクトリ内のアカウントのみ]で十分です。アプリケーションを配布する場合は、マルチテナントオプションのいずれか1つを選択してください。
- リダイレクトURL を本製品 のデフォルトhttp://localhost:33333 に設定します。あるいは、任意の別のポートを指定して、CallbackURL を定義した正確なリプライURL に設定します。
- 登録をクリックして新しいアプリケーションを登録します。アプリケーション管理画面が自動的に開きます。OAuthClientId としてApplication (client) ID の値、AzureTenant としてDirectory (tenant) ID の値をメモします。
- [証明書とシークレット]セクションに移動して、アプリケーションの認証タイプを定義します。認証には、クライアントシークレットを使用する方法と、証明書を使用する方法の2種類があります。推奨されている認証方法は証明書を使用する方法です。
- オプション1:証明書をアップロードする:[証明書とシークレット]で証明書のアップロードを選択し、ローカルマシンからアップロードする証明書を選択します。
- オプション2:新しいアプリケーションシークレットを作成する:[証明書とシークレット]で新しいクライアントシークレットを選択し、有効期限を指定します。クライアントシークレットを保存すると、キーの値が表示されます。 表示は一度のみなのでこの値をコピーします。 これは、OAuthClientSecret として必要になります。
- API のアクセス許可 -> アクセス許可の追加 -> Azure Storage -> user_impersonation -> アクセス許可の追加を選択します。
- 変更を保存します。
- 管理者の同意が必要なアクセス許可([アプリケーションの許可]など)を使用することを選択した場合は、API のアクセス許可ページで現在のテナントから付与することができます。それ以外の場合は、 管理者の同意の手順に従ってください。
Azure サービスプリンシパルカスタムアプリケーション
Azure サービスプリンシパルを使用して認証する場合は、カスタムAzureAD アプリケーションと必要なリソースにアクセスできるサービスプリンシパル両方の作成が必要です。次の手順に従って、カスタムAzureAD アプリケーションを作成し、Azure サービスプリンシパル認証用の接続プロパティを取得します。
Azure サービスプリンシパルでカスタムAzureAD アプリを作成
下記の手順に従って、アプリケーションのAzureAD 値を取得します。
- https://portal.azure.com にログインします。
- 左側のナビゲーションペインですべてのサービスを選択します。アプリの登録を検索して選択します。
- 新規登録をクリックします。
- アプリ名を入力し、任意のAzure AD ディレクトリ - マルチテナントを選択します。そして、リダイレクトURL を本製品 のデフォルトhttp://localhost:33333 に設定します。
- アプリ作成後に、[概要]セクションに表示されているアプリケーション(クライアント)Id の値をコピーします。この値はOAuthClientId として使用されます。
- [証明書とシークレット]セクションに移動して、アプリの認証タイプを定義します。認証には、クライアントシークレットを使用する方法と、証明書を使用する方法の2種類があります。推奨されている認証方法は証明書による方法です。
- オプション1 - 証明書をアップロードする:[証明書とシークレット]で証明書のアップロードを選択し、ローカルマシンからアップロードする証明書を選択します。
- オプション2 - 新しいアプリケーションシークレットを作成する:[証明書とシークレット]で新しいクライアントシークレットを選択し、有効期限を指定します。クライアントシークレットを保存すると、キーの値が表示されます。 表示は一度のみなのでこの値をコピーします。これは、OAuthClientSecret として使用します。
- 認証タブで、必ずアクセストークン(暗黙的なフローに使用)を選択してください。
ワークスペースへのサービスプリンシパルの追加
以下の手順に従って、ワークスペースにサービスプリンシパルを追加します。
- Microsoft Fabric にログインします。
- 右上の歯車アイコン(設定)をクリックします。
- 管理ポータルを選択します。
- 左側のナビゲーションペインでテナント設定を選択します。
- スクロールして開発者向け設定を見つけます。
- サービスプリンシパルはFabric API を使用できますを展開します。
- オプションを有効化します。
- 適用を選択します。
- サービスプリンシパルを追加するワークスペースを選択します。
- アクセスの管理をクリックします。
- ユーザーまたはグループの追加をクリックします。
- アプリケーションの名前を入力します(同じ名前のアプリケーションが複数ある場合は、ID を確認します)。
- アプリケーションに許可するアクセスレベルを設定します。 共同作成者は、API 経由でOneLake にアクセスするために必要となる最低セキュリティレベルです。
- 追加を選択します。