SSIS Components for Microsoft Exchange

Build 25.0.9434

Entra ID(Azure AD)でのサービスプリンシパルアプリの作成

Entra ID(Azure AD)でのサービスプリンシパルアプリの作成

Note:Microsoft はAzure ADEntra ID にリブランドしました。ユーザーがEntra ID 管理サイトを操作する必要があるトピックでは、Microsoft が使用している名称と同じものを使用します。ただし、名前または値が"Azure AD" を参照しているCData 接続プロパティは、依然として存在します。

Microsoft Exchange はサービスプリンシパルベースの認証をサポートしており、これはロールベースです。 つまり、サービスプリンシパルの権限は、割り当てられたロールによって決まります。 ロールは、サービスプリンシパルがアクセスできるリソースと実行可能な操作を指定します。

Microsoft Exchange に対してサービスプリンシパルを使用して認証を行いたい場合は、Microsoft Entra ID でカスタムアプリケーションを作成する必要があります。

サービスプリンシパル認証を有効にするには:

  • テナント内でアプリケーションの登録とロールの割り当てを行う権限があることを確認します。
  • Entra 管理センターで新しいアプリケーションを登録し、認証情報とアクセス許可を構成してください。

アプリケーションの登録

  1. https://portal.azure.com に移動します。
  2. 左側のナビゲーションペインでMicrosoft Entra ID ->アプリの登録を選択します。
  3. 新規登録をクリックします。
  4. アプリケーションの名前を入力します。
  5. 希望するテナント設定を選択します。このカスタムアプリケーションはサービスプリンシパル用であるため、任意のMicrosoft Entra ID テナント - マルチテナントを選択します。


  6. 登録をクリックします。アプリケーション管理画面が開きます。
  7. OAuthClientId としてアプリケーション(クライアント)ID の値、AzureTenant としてディレクトリ(テナント)ID の値を控えておきます。


  8. 証明書とシークレットセクションに移動して、アプリケーションの認証タイプを定義します。証明書(推奨)とクライアントシークレットの2種類の認証方法が利用可能です。

    • 証明書による認証: 証明書とシークレット証明書のアップロードを選択し、ローカルマシンから証明書をアップロードします。 自己署名証明書の作成についての詳細は、自己署名証明書の作成 を参照してください。
    • 新しいクライアントシークレットの作成: 証明書とシークレット新しいクライアントシークレットを選択し、有効期限を指定します。クライアントシークレットが保存されると、Microsoft Exchange はキーの値を表示します。この値は一度しか表示されないので、後で使用するために記録しておきます。この値をOAuthClientSecret に使用します。

  9. 認証に移動し、アクセストークンオプションを選択します。
  10. 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.
  11. 変更を保存します。
  12. 管理者の同意が必要なアクセス許可([アプリケーションの許可]など)を指定した場合は、API のアクセス許可ページで現在のテナントから付与することができます。

管理者の同意の付与

カスタムアプリケーションの中には、Microsoft Entra ID テナント内で操作するために管理者権限が必要なものがあります。 これは特に、サインインしているユーザーなしでアプリケーションを実行できるアプリケーションの許可を使用するアプリケーションに当てはまります。 新しいアプリケーションを作成する際に、「管理者の同意が必要」とマークされた関連するアクセス許可を追加することで、管理者の同意を与えることができます。 管理者の同意は、認証フローでクライアント資格情報を使用する場合にも必要です。

これらのアクセス許可は、管理者によって付与される必要があります。管理者の同意を付与するには:

  1. 管理者アカウントでhttps://portal.azure.com にログインします。
  2. Microsoft Entra ID ->アプリの登録に移動し、登録済みのアプリケーションを選択します。
  3. API のアクセス許可に移動します。
  4. アプリケーションの許可にリストされている許可を確認します。ユースケースに必要なAPI スコープが含まれていることを確認してください。
  5. 管理者の同意を与えますをクリックして、要求された許可を承認します。
これで、アプリケーションが作成されたテナントにアクセス権限が付与されます。

クライアント資格情報の同意

OAuth は、認証のためのクライアント資格情報の使用をサポートします。 クライアント資格情報の認証フローでは、認証するアプリケーション自身の資格情報が作成されます。 認証フローは通常の認証フローと同じように動作しますが、関連するユーザーに対して資格情報の提供を求めるプロンプトは表示されません。 アプリケーションで受理されるすべてのタスクは、デフォルトユーザーコンテキストなしで実行されます。

Note: 埋め込まれたOAuth 資格情報はユーザーごとに認証されるため、 クライアント認証フローで使用することはできません。クライアント資格情報を使用するには、必ずカスタムOAuth アプリケーションを作成する必要があります。

  1. https://portal.azure.com にログインします。
  2. 前述のように、カスタムOAuth アプリケーションを作成します。
  3. アプリの登録に移動します。
  4. 作成したアプリケーションを探し、API のアクセス許可を開きます。
  5. Microsoft Graph アクセス許可を選択します。アクセス許可には2つの異なるアクセス許可セットがあります。委任されたアクセス許可とアプリケーションの許可です。
  6. サービスプリンシパルで使用する場合は、アプリケーションの許可を指定します。
  7. インテグレーションに必要なアクセス許可を選択します。

Copyright (c) 2025 CData Software, Inc. - All rights reserved.
Build 25.0.9434