Azure AD アプリケーションの作成
Azure AD アプリケーションの作成
Microsoft Exchange はAzure AD を使用したユーザーベースの認証をサポートしています。この認証はOAuth ベースです。CData はOAuth アプリケーション認証情報を製品に組み込んでおり、デスクトップアプリケーションまたはヘッドレスマシン経由でMicrosoft Exchange に接続する際に使用できます。 Web 経由でMicrosoft Exchange に接続するには、ここで説明するようにカスタムアプリケーションの作成が必要です。
しかし、カスタムAzure AD アプリケーションは、一般的に使用される3つの認証フローをすべてシームレスにサポートするため、他の認証フロー用にカスタムアプリケーションを作成(独自のAzure AD アプリケーションクレデンシャルを使用)したい場合があります。
カスタムOAuth アプリケーションは、次のような場合に有用です。
- 認証ダイアログのブランディングをコントロールしたいとき
- ユーザー認証後にアプリケーションがユーザーをリダイレクトするためのリダイレクトURI をコントロールしたいとき
- ユーザーからのリクエストに対する許可をカスタマイズしたいとき
AzureAD 認証
https://portal.azure.com で:- 左側のナビゲーションペインでAzure Active Directory ->アプリの登録を選択します。
- 新規登録をクリックします。
- アプリケーションの名前を入力します。
-
このアプリケーションがサポートすべきアカウントの種類を指定します。
- 個人使用のアプリケーションの場合は、この組織ディレクトリ内のアカウントのみを選択します。
- 配布アプリケーションの場合は、マルチテナントオプションのいずれかを選択します。
Note: この組織ディレクトリ内のアカウントのみ(デフォルト)を選択する場合は、CData ADO.NET Provider for Microsoft Exchange への接続を確立するときにAzureTenant をAzure AD テナントのId に設定する必要があります。そうしないと認証に失敗します。
- リダイレクトURL をhttp://localhost:33333(デフォルト)に設定するか、または 別のポートを指定したい場合は、希望のポートを指定してCallbackURL を定義した正確なリプライURL に設定します。
- 新しいアプリケーションを登録するには、登録をクリックします。アプリケーション管理画面が表示されます。 後で使用するために、表示される値を控えておきます。(Application (client) ID 値を使用して OAuthClientId パラメータを設定し、Directory (tenant) ID 値を使用してAzureTenant パラメータを設定します。)
- 証明書とシークレットに移動します。このアプリケーションの新しいクライアントシークレットを選択し、任意の有効期限を指定します。 クライアントシークレットが保存されると、Azure App Registration はキーの値を表示します。この値は一度しか表示されないので、後で使用するために記録しておきます。(OAuthClientSecret を設定するために使用します。)
- If you are connecting to Microsoft Exchange through EWS schema, select Exchange API and add EWS.AccessAsUser.All permission. If you are connecting to Microsoft Exchange through MSGraph schema, select Microsoft Graph API and add the following permissions: Calendars.ReadWrite.Shared, Contacts.ReadWrite, Group.Read.All, Group.ReadWrite.All, User.ReadWrite.All, and Mail.ReadWrite.Shared.
- 管理者の同意が必要なアクセス許可([アプリケーションの許可]など)を使用することを指定した場合は、API のアクセス許可ページで現在のテナントから付与することができます。
管理者の同意の付与
カスタムアプリケーションの中には、Azure Active Directory テナント内で操作するために管理者権限が必要なものがあります。管理者の同意は、新しいカスタムAzure AD アプリケーションを作成する際に、すでに"Admin Consent Required" とマークされている関連パーミッションを追加することで付与できます。管理者の同意は、認証フローでクライアント資格情報を使用する場合にも必要です。管理者の同意を付与するには:
- 管理者にhttps://portal.azure.com にログインしてもらいます。
- アプリの登録に移動し、作成したカスタムAzure AD アプリケーションを見つけます。
- API のアクセス許可で、同意の付与をクリックしてウィザードに従います。