Share via


Microsoft 365 での分離とアクセス制御

Microsoft Entra ID と Microsoft 365 は、数十のサービス、数百のエンティティ、数千のリレーションシップ、数万の属性を含む非常に複雑なデータ モデルを使用しています。 大まかに言うと、Microsoft Entra ID とサービス ディレクトリは、状態ベースのレプリケーション プロトコルを使用して同期されたテナントと受信者のコンテナーです。 Microsoft Entra ID内に保持されるディレクトリ情報に加えて、各サービス ワークロードには独自のディレクトリ サービス インフラストラクチャがあります。

Microsoft 365 テナント データ同期。

このモデル内には、ディレクトリ データの単一のソースが存在していません。 特定のシステムが個々のデータを所有していますが、すべてのデータを保持する単一のシステムはありません。 Microsoft 365 サービスは、このデータ モデルで Microsoft Entra ID と連携します。 Microsoft Entra ID は、共有データの "真実のシステム" であり、通常、すべてのサービスで使用される小規模で静的なデータです。 Microsoft 365 および Microsoft Entra ID 内で使用されるフェデレーション モデルは、データの共有ビューを提供します。

Microsoft 365 は、物理ストレージと Azure クラウド ストレージの両方を使用します。 Exchange Online (Exchange Online Protectionを含む) とSkype for Businessは、顧客データに独自のストレージを使用します。 SharePoint では、SQL Server ストレージと Azure Storage の両方が使用されるため、ストレージ レベルで顧客データを分離する必要があります。

Exchange Online

Exchange Onlineは、メールボックス内に顧客データを格納します。 メールボックスは、メールボックス データベースと呼ばれる拡張記憶域エンジン (ESE) データベース内でホストされます。 これには、ユーザー メールボックス、リンクされたメールボックス、共有メールボックス、パブリック フォルダー メールボックスが含まれます。 ユーザー メールボックスには、保存されたSkype for Businessコンテンツ (会話履歴など) が含まれます。

ユーザー メールボックスのコンテンツには、次のものが含まれます。

  • メールと電子メールの添付ファイル
  • 予定表と空き時間情報
  • 連絡先
  • タスク
  • Notes
  • グループ
  • 推論データ

Exchange Online内の各メールボックス データベースには、複数のテナントからのメールボックスが含まれています。 承認コードは、テナント内を含め、各メールボックスをセキュリティで保護します。 既定では、割り当てられたユーザーのみがメールボックスにアクセスできます。 メールボックスをセキュリティで保護するアクセス制御リスト (ACL) には、テナント レベルでMicrosoft Entra IDによって認証された ID が含まれています。 各テナントのメールボックスは、テナントの認証プロバイダーに対して認証された ID に制限されます。これには、そのテナントのユーザーのみが含まれます。 テナント A によって明示的に承認されていない限り、テナント A のコンテンツはテナント B のユーザーが取得することはできません。

Skype for Business

Skype for Businessは、さまざまな場所にデータを格納します。

  • 接続エンドポイント、テナント ID、ダイヤル プラン、ローミング設定、プレゼンス状態、連絡先リストなどを含むユーザーとアカウントの情報は、Skype for Business Active Directory サーバーおよびさまざまなSkype for Business データベース サーバーに格納されます。 連絡先リストは、ユーザーが両方の製品に対して有効になっている場合はユーザーのExchange Onlineメールボックスに格納され、ユーザーが有効でない場合はSkype for Businessサーバーに格納されます。 Skype for Businessデータベース サーバーはテナントごとにパーティション分割されませんが、ロールベースのアクセス制御 (RBAC) を使用してデータのマルチテナント分離が適用されます。
  • 会議の内容とアップロードされたデータは、分散ファイル システム (DFS) 共有に格納されます。 このコンテンツは、有効な場合はExchange Onlineにアーカイブすることもできます。 DFS 共有はテナントごとにパーティション分割されません。 コンテンツは ACL で保護され、マルチテナントは RBAC を介して適用されます。
  • 通話履歴、IM セッション、アプリケーション共有、IM 履歴などのアクティビティ履歴である通話詳細レコードもExchange Onlineに格納できますが、ほとんどの通話詳細レコードは通話詳細レコード (CDR) サーバーに一時的に格納されます。 コンテンツはテナントごとにパーティション分割されませんが、マルチテナントは RBAC を通じて適用されます。

SharePoint

SharePoint には、データの分離を提供するいくつかの独立したメカニズムがあります。 これは、アプリケーション データベース内の抽象化されたコードとしてオブジェクトを格納します。 たとえば、ユーザーがファイルを SharePoint にアップロードすると、ファイルは逆アセンブルされ、アプリケーション コードに変換され、複数のデータベース間で複数のテーブルに格納されます。

ユーザーがデータを含むストレージに直接アクセスできる場合、コンテンツは人間や SharePoint 以外のシステムでは解釈できません。 これらのメカニズムには、セキュリティ アクセス制御とプロパティが含まれます。 すべての SharePoint リソースは、テナント内を含め、承認コードと RBAC ポリシーによって保護されます。 リソースをセキュリティで保護するアクセス制御リスト (ACL) には、テナント レベルで認証された ID が含まれています。 テナントの SharePoint データは、テナントの認証プロバイダーによって認証された ID に制限されます。

ACL に加えて、認証プロバイダー (テナント固有のMicrosoft Entra ID) を指定するテナント レベルのプロパティが 1 回書き込まれ、設定後に変更することはできません。 テナントに対して認証プロバイダー テナント プロパティが設定されると、テナントに公開されている API を使用して変更することはできません。

テナントごとに一意の SubscriptionId が使用されます。 すべての顧客サイトはテナントによって所有され、テナントに一意の SubscriptionId が割り当てられます。 サイトの SubscriptionId プロパティは 1 回書き込まれ、永続的です。 テナントに割り当てられると、サイトを別のテナントに移動することはできません。 SubscriptionId は、認証プロバイダーのセキュリティ スコープを作成するために使用されるキーであり、テナントに関連付けられています。

SharePoint では、コンテンツ メタデータ ストレージにSQL Serverと Azure Storage が使用されます。 コンテンツ ストアのパーティション キーは、SQL の SiteId です 。 SQL クエリを実行する場合、SharePoint はテナント レベルの SubscriptionId チェックの一部として検証された SiteId を使用します。

SharePoint は、暗号化されたファイル コンテンツを Microsoft Azure BLOB に格納します。 各 SharePoint ファームには独自の Microsoft Azure アカウントがあり、Azure に保存されているすべての BLOB は、SQL コンテンツ ストアに格納されているキーを使用して個別に暗号化されます。 承認レイヤーによってコードで保護され、エンド ユーザーに直接公開されない暗号化キー。 SharePoint には、HTTP 要求が複数のテナントのデータを読み取りまたは書き込むタイミングを検出するためのリアルタイム監視があります。 要求 ID SubscriptionId は、アクセスされたリソースの SubscriptionId に 対して追跡されます。 複数のテナントのリソースへのアクセス要求は、エンド ユーザーが行うべきではありません。 マルチテナント環境でのサービス要求だけが例外です。 たとえば、検索クローラーは、データベース全体のコンテンツ変更を一度にプルします。 通常、これは、効率上の理由から行われる、1 つのサービス要求で複数のテナントのサイトに対してクエリを実行する必要があります。

Teams

Teams データは、コンテンツ タイプに応じて異なる方法で格納されます。

詳細な説明については、 Microsoft Teams アーキテクチャに関する Ignite ブレークアウト セッション をご覧ください。

コア Teams の顧客データ

テナントがオーストラリア、カナダ、欧州連合、フランス、ドイツ、インド、日本、南アフリカ、韓国、スイス (リヒテンシュタインを含む)、アラブ首長国連邦、英国、または米国でプロビジョニングされている場合、Microsoft はその場所でのみ保存される次の顧客データを保存します。

  • Teams チャット、チームとチャネルの会話、画像、ボイスメール メッセージ、連絡先。
  • SharePoint サイトコンテンツとそのサイト内に格納されているファイル。
  • 職場または学校用に OneDrive にアップロードされたファイル。

チャット、チャネル メッセージ、チーム構造

Teams のすべてのチームは、Microsoft 365 グループとその SharePoint サイトと Exchange メールボックスによってサポートされています。 プライベート チャット (グループ チャットを含む)、チャネルでの会話の一部として送信されるメッセージ、およびチームとチャネルの構造は、Azure で実行されているチャット サービスに格納されます。 データは、Information Protection機能を有効にするために、ユーザーおよびグループ メールボックスの非表示フォルダーにも格納されます。

ボイスメールと連絡先

ボイスメールは Exchange に保存されます。 連絡先は Exchange ベースのクラウド データ ストアに格納されます。 Exchange と Exchange ベースのクラウド ストアは、世界中の各データセンター geo に既にデータ所在地を提供しています。 すべてのチームについて、ボイスメールと連絡先は、オーストラリア、カナダ、フランス、ドイツ、インド、日本、アラブ首長国連邦、英国、南アフリカ、韓国、スイス(リヒテンシュタインを含む)、および米国の国内に保存されます。 その他のすべての国/地域では、ファイルはテナント アフィニティに基づいて、米国、ヨーロッパ、または Asia-Pacific の場所に格納されます。

画像とメディア

チャットで使用されるメディア (保存されていないが元の Giphy サービス URL への参照リンクである Giphy GIF を除く、Giphy は Microsoft 以外のサービス) は、チャット サービスと同じ場所にデプロイされる Azure ベースのメディア サービスに格納されます。

Files

チャネル内の誰かが共有するファイル (OneNote と Wiki を含む) は、チームの SharePoint サイトに格納されます。 会議または通話中にプライベート チャットまたはチャットで共有されたファイルは、ファイルを共有するユーザーの職場または学校アカウントの OneDrive にアップロードされ、保存されます。 Exchange、SharePoint、OneDrive は、世界中の各データセンター geo に既にデータ所在地を提供しています。 そのため、既存のお客様の場合、Teams エクスペリエンスに含まれるすべてのファイル、OneNote ノートブック、Teams Wiki コンテンツ、メールボックスは、テナントアフィニティに基づいてその場所に既に格納されています。 ファイルは、オーストラリア、カナダ、フランス、ドイツ、インド、日本、アラブ首長国連邦、英国、南アフリカ、韓国、スイス (リヒテンシュタインを含む) の国内に格納されます。 その他のすべての国/地域の場合、ファイルはテナント アフィニティに基づいて米国、ヨーロッパ、またはアジア太平洋の場所に格納されます。