Microsoft Graph データ接続についてよく寄せられる質問

Microsoft Graph データ接続を使用すると、開発者は、顧客が Microsoft Graph の膨大なデータセットへのマネージド アクセスを提供するために使用できるアプリケーションを開発できます。 この記事では、データ接続機能を活用するのに役立つヒントをご紹介します。 Microsoft Graph データ接続の概要については、「概要」を参照してください。

Microsoft Graph データ接続は適切な選択ですか?

データ接続と Microsoft Graph API は、双方がアクセスする基になるデータは同じですが、アクセス方法は大きく異なります。 データ接続は、大量のデータを一括して抽出するように設計されています。これに対して、Microsoft Graph API は、個別のデータ セットにリアルタイムにアクセスするのにより適しています。 両者を組み合わせて使用するのが適切な場合もあります。 たとえば、去年のメール データをまず抽出するときにデータ接続を使用し、リアルタイムに作業を進めながらメールを分析するときに Microsoft Graph API を使用する場合があります。 データ接続と Microsoft Graph API は、用途が異なる別なツールです。 実現したいシナリオに最適なアクセス方法はどちらかを検討することが大切です。 詳細については、「Microsoft Graph API またはデータ接続を使用するタイミング」を参照してください。

初期のオーバーヘッドはありますか?

データ接続は大量のデータを一括して抽出するように設計されているため、データを抽出できるようになる前に、ある程度のオーバーヘッドが発生します。 このオーバーヘッドは約 45 分です。つまり、データ サイズに関わりなくすべてのパイプラインで、その程度の時間が最低必要になります。 大量のデータ処理の代償としてこれが無視できる場合もありますが、実現したいシナリオにとってその時間が許容できないものである場合は、Microsoft Graph API を活用するアプローチの方が望ましい可能性があります。

データ接続にいくら支払う必要がありますか?

Microsoft Graph データ接続の消費料金は、従量制で毎月請求されます。 データ接続の請求単位は、1000 のオブジェクトの倍数であり、1 つのオブジェクトが Microsoft 365 のエンティティの 1 つの個別のインスタンスにマップされます。 たとえば、1 つのメール == 1 つのオブジェクト、1 つのファイル == 1 つのオブジェクト、1 つの Teams チャット メッセージ == 1 つのオブジェクトなどです。 料金は、コネクタを介して抽出された 1,000 個あたりのオブジェクトの数に基づく定額料金を使用して計算されます。 次のデータセットからのオブジェクトの抽出は無料です。

  • BasicDataSet_v0.User
  • BasicDataSet_v0.MailboxSettings
  • BasicDataSet_v0.Manager
  • BasicDataSet_v0.DirectReport

データ接続はどのリージョンで使用できますか?

Microsoft Graph データ接続は、現在、北米、ヨーロッパ、アジア太平洋、オーストラリアのリージョンで利用できます。 他の地域でも今後利用可能になります。

データ接続ではどのデータセットを利用できますか?

現在、Microsoft Graph データ接続には次のデータセットが含まれています。

  • Teams: 1 対 1、1 対複数人、および会議チャットのメッセージ
  • Outlook: メッセージ、イベント、連絡先、送信済みアイテム、ユーザー エンティティ、メールボックス設定、カレンダー ビュー、マネージャーと直属の部下、メール フォルダー

今後、新しいデータセットを追加する予定です。必要に応じてタイムラインが開示されます。 ただし、通常は、すべての Microsoft Graph データセットが Microsoft Graph データ接続を通して公開されることはありません。

データ接続が最も適切に対処するシナリオは何ですか?

生産性ツールに提供される大規模なデータセットを活用できる組織は、直面する可能性のある課題と機会に関する多くの分析情報を入手できます。 パブリック プレビューでは、お客さまが売上の生産性、データのアーカイブと管理、組織の最適化、インテリジェントなワークフロー、コンプライアンスの確保に関心を寄せていました。

データがデータ接続の組織のサブスクリプション内にとどまる可能性はありますか?

Microsoft Graph データ接続パイプラインは、Azure サブスクリプション内で実行されるデータ統合サービスである Azure Data Factory によってオーケストレーションされます。 その Azure サブスクリプションは、1 つのみの Microsoft 365 テナントに関連付けられています。 このため、データは、関連付けられている Azure サブスクリプションにまず渡される必要があります。 さらに最小化や集計を行うことにより、データは他でも利用できるようになります。

Microsoft 365 データの抽出に他のユーザーが使用できるアプリを構築したい場合は、そのアプリを Azure マネージド アプリケーションとしてパッケージ化し、Azure Marketplace に公開できます。 そうすることにより、ユーザーはそのアプリを自分の Azure サブスクリプションにデプロイでき、自分のテナントに含まれるデータにそのアプリでアクセスできるようになります。

データ接続にサービス プリンシパルは必要ですか?

Data Factory パイプラインを作成する際に、Microsoft 365 にリンクされたサービスに対して、サービス プリンシパルを提供することが必要になります。 Azure では、サービス プリンシパルは、アプリケーションまたはサービス (つまり、ユーザーではない) を表すセキュリティ ID です。 Microsoft Graph データ接続は、Microsoft 365 データへの承認されたアクセスを取得する際に、その ID としてサービス プリンシパルを使用します。

他のユーザーが自分のテナントで使用できる Azure 管理対象アプリを作成する場合も、そのアプリが使用するサービス プリンシパルをアプリの発行元が提供します。 このサービス プリンシパルは、発行元のテナント内にあります。 ただし、アプリで他のサービス プリンシパルが必要になる場合は、インストールしたユーザーが自分のテナント内にサービス プリンシパルを作成します。 たとえば、Data Factory パイプラインが Azure のストレージ リソースにアクセスすることが必要になる場合があります。 お客様は、パイプラインが使用するストレージ アカウントへのアクセス許可を指定したサービス プリンシパルを作成します。

保留中の Privileged Access Management 要求を確認するにはどうすればよいですか?

Microsoft Graph データ接続がデータをコピーできるようになるには、管理者が Privileged Access Management (PAM) 要求を許可する必要があります。 PAM は、Microsoft 365 でデータへのデータ パイプライン アクセスを承認するために使用されるメカニズムです。 初めてパイプラインをトリガーするときに、PAM は Microsoft 365 管理者 (または指定された代理人) がそのアクセス要求を承認するまで待機します。 パイプラインの状態は "処理中" と表示されますが、次のスクリーンショットに示すように、基になるコピー アクティビティは、承認がなされるまで ConsentPending の状態になります。

ConsentPending の状態であることを示すパイプライン実行状態ウィンドウのスクリーンショット

開発中、特にパイプラインを変更した後は、パイプラインの実行が ConsentPending で停止しないことを確認なさるようにお勧めします。 たとえば、スキーマに別のフィールドを追加すると、次にパイプラインを実行する時に、承認を必要とする新しい PAM 要求が発行されます。 承認を待機しているパイプラインの処理をただ待っていては、時間が無駄になってしまいます。

Microsoft 365 管理センターから PAM 要求を承認するにはどうすればよいですか?

データ接続の説明書には、PowerShell や PAM UX を使用して PAM 要求を承認する方法が説明されています。 PAM UX を使用して承認するには、Microsoft 365 管理センターの PAM インターフェイスに移動します。 この管理センターを使用すると、簡単でわかりやすい方法で PAM 要求を表示して、要求を承認、拒否、取り消すことができます。 ポータルへのリンクは、[設定] > [サービスとアドイン] > [Microsoft Graph データ接続] の順に選択すると、[Microsoft Graph データ接続のアドイン] にあります。

PAM 要求を承認するため、第 2 のユーザーを使用することはできますか?

パイプラインを実行して PAM 要求をトリガーする場合、そのパイプラインが使用するサービス プリンシパルを所有するユーザー アカウントに、その要求は関連付けられます。 このアカウントが、開発者が設定した承認者グループに属する場合でも、PAM 要求の承認にそのアカウントを使用することはできません。これは、自己承認が許可されていないためです。 実行しようとすると、PAM ポータルに "要求元と承認者が同じです。 自己承認は許可されていません" というエラー メッセージが表示されます。 開発向けに、要求を承認する管理者に加えて、第 2 のアカウントを作成できます。 提出者と承認者の双方に、アクティブな Exchange Online アカウントが必要です。

必要に応じて重複するメールを削除することはできますか?

Message データセットからメールを抽出する際に、同じメールの JSON オブジェクトが複数存在することがよくあります。 このような重複は、メールが複数の宛先に送信された場合、各受信者のメールボックスにそのメールのコピーが存在することが原因です。 データセットは各メールボックスから抽出されるため、全ユーザーのコピーがすべて含まれることになります。 一部のシナリオではコピーをすべて保持する必要がありますが、そうでなければ、重複を削除できます。

エクスポートされた JSON オブジェクトの重複は、メッセージの internetMessageId に基づいて削除できます。同じ internetMessageId を持つ 2 つのメッセージは、同一インスタンスの重複するコピーです。 重複は異なる BLOB に存在することもあるので、BLOB ごとに重複を削除するのではなく、すべての BLOB を対象に重複を削除する必要があります。

puser フィールドを使用して関連するユーザーを特定することはできますか?

抽出したデータには、対応する Microsoft Graph API を使用する時点では存在しないメタ プロパティがいくつか含まれます。 特に puser フィールドは、データの抽出元ユーザーを特定するのに役立ちます。 同じメールのコピー 2 つが異なるメールボックスにあるシナリオでは、puser フィールドを使用することで、どちらのコピーがどのメールボックスから抽出されたかを特定できます。 puser フィールドは、Manager データセットなどのデータセットにも役立ちます。 エクスポートされた JSON にはマネージャーに関する情報が含まれますが、この情報が役立つのはそのマネージャーが誰のマネージャーであるかを知っている場合に限られます。 puser フィールドから、その JSON オブジェクトが一致するのは誰のマネージャーであるかを確認できます。

ハイブリッド モードのテナント設定はサポートされていますか?

Microsoft 365 のセットアップで Exchange Online に一部のユーザーがいて、Exchange オンプレミスに一部のユーザーがいる場合、Exchange オンプレミスにいるユーザーはサポートされません。 残念ながら、現在、Exchange オンプレミス ユーザー向けのデータ接続はサポートされていません。

リソース アカウントはサポートされていますか?

現在、リソース アカウントからのメッセージまたはイベントへのアクセスはサポートされていません。

ADF パイプラインの実行ごとに複数のファイルが表示され場合と、実行ごとに 1 つのファイルのみが表示される場合があるのはなぜですか?

Microsoft Graph データ接続は、パイプラインの実行ごとにユーザー リストを取得し、データセットの抽出とキュレーションを、並行して実行される複数のジョブに分散します。 並列実行ごとに、ユーザーが定義したデータ シンクに 1 つの出力ファイルが生成されます。 場合によっては、ユーザー リストが小さい場合、それらは 1 つの抽出およびキュレーション ジョブにマップされることがあり、その場合、データ シンクに生成される出力ファイルは 1 つだけです。

オブジェクトの数が概数ではない場合、請求はどのように計算されますか?

請求の目的で、Microsoft Graph データ接続は、抽出されたオブジェクト数を 1000 に最も近い値に切り上げます。 たとえば、125 個のオブジェクトを抽出した場合も、999 個のオブジェクトを抽出した場合も、1000 個のオブジェクトとして請求されます。 同様に、1001 から 2000 のオブジェクトを抽出する場合、2000 のオブジェクトとして課金されます。

Azure Synapse を介して初期化すると、Microsoft 365 のコピー データ アクティビティが常に失敗するのはなぜですか?

現在、Azure Synapse を介した Microsoft 365 コピー データ アクティビティの初期化はサポートされていません。 Azure Synapse で初期化されたアクティビティの統合の追加に取り組んでおり、これが完了するとドキュメントが更新されます。