Microsoft Graph でグループを管理する

Microsoft Graph のグループは、リソースへのアクセスを共有するユーザー、デバイス、アプリケーションなどのプリンシパルのコンテナーです。 プリンシパルを個別に管理するのではなく、グループ化することで、アクセス管理が容易になります。

Microsoft Graph の グループ リソースの種類 には、サポートされているグループの種類とその機能を作成および管理するための API が用意されています。

注:

  • グループの作成は、職場または学校アカウントの使用のみ可能です。 個人用 Microsoft アカウントはグループをサポートしません。
  • Microsoft Graph でのグループ関連の操作には、すべて管理者の同意が必要です。

Microsoft Graph でサポートされているグループの種類

Microsoft Graph は、次の種類のグループをサポートしています。

  • Microsoft 365 グループ
  • セキュリティ グループ
  • メールが有効なセキュリティ グループ
  • 配布グループ

注:

動的配布グループ は、Microsoft Graph ではサポートされていません。

次の表は、プロパティを使用してグループの種類を識別する方法と、それらを Microsoft Graph グループ API を使用して管理できるかどうかを示しています。 主な差別化要因は、グループの groupTypesmailEnabled、および securityEnabled プロパティの値です。

groupTypes mailEnabled securityEnabled Microsoft Graph 経由で管理
Microsoft 365 グループ ["Unified"] true true または false はい
セキュリティ グループ [] false true はい
メールが有効なセキュリティ グループ [] true true いいえ (読み取り専用)
配布グループ [] true false いいえ (読み取り専用)

詳細については、「Microsoft Entra ID でグループを比較する」を参照してください。

Microsoft 365 グループ

Microsoft 365 グループはコラボレーション用に設計されており、次のような共有リソースへのアクセスを提供します:

  • Outlook の会話と予定表。
  • SharePoint ファイルとチーム サイト。
  • OneNote ノートブック。
  • プランナー プラン。
  • Intune デバイス管理。

JSON 形式の Microsoft 365 グループの例を次に示します。

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#groups/$entity",
    "id": "4c5ee71b-e6a5-4343-9e2c-4244bc7e0938",
    "displayName": "OutlookGroup101",
    "groupTypes": ["Unified"],
    "mailEnabled": true,
    "securityEnabled": false,
    "mail": "outlookgroup101@service.microsoft.com",
    "visibility": "Public"
}

Microsoft 365 グループの詳細については、「Microsoft Graph の Microsoft 365 グループの概要」を参照してください。

セキュリティ グループとメールが有効なセキュリティ グループ

セキュリティ グループ はリソースへのアクセスを制御します。 これには、ユーザー、他のグループ、デバイス、サービス プリンシパルを含めることができます。

メールが有効なセキュリティ グループは、 セキュリティ グループと同様に機能しますが、メール通信も許可します。 これらのグループは、Microsoft Graph では読み取り専用です。 詳細については、「メールが有効なセキュリティ グループの管理」を参照してください。

JSON 形式のセキュリティ グループの例:

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.type": "#microsoft.graph.group",
    "id": "f87faa71-57a8-4c14-91f0-517f54645106",
    "displayName": "SecurityGroup101",
    "groupTypes": [],
    "mailEnabled": false,
    "securityEnabled": true
}

グループの所有権

グループには、グループを管理する 1 人以上の所有者を含めることができます。 所有者には、ユーザーまたはサービス プリンシパルを指定できます。 継続性を確保するために、グループには少なくとも 2 人の所有者を割り当てることをお勧めします。

所有者のないグループ ポリシー

グループが唯一の所有者を失うと、所有者がいなくなり、効果的に管理できなくなります。 ownerlessGroupPolicy リソースを使用して、ownerless グループのアクティブなメンバーに操作可能な通知メールを自動的に送信し、所有権を受け入れるように求めるテナント レベルのポリシーを構成します。 管理者は、セキュリティ グループを使用して、通知期間、通知するメンバーの最大数を構成し、所有権の適格性を制御できます。 詳細については、「 ownerlessGroupPolicy の取得 」および「 ownerlessGroupPolicy を作成または更新する」を参照してください。

グループ メンバーシップ

グループのメンバーシップは、静的または動的です。 動的メンバーシップでは、ルールを使用して、プロパティに基づいてメンバーを自動的に追加または削除します。 すべてのオブジェクトの種類が Microsoft 365 およびセキュリティ グループのメンバーにできるわけではありません。

次の表に、セキュリティ グループまたは Microsoft 365 グループのいずれかに追加できるメンバーの種類を示します。

オブジェクトの種類 セキュリティ グループのメンバー Microsoft 365 グループのメンバー
User グループ メンバーにできます グループ メンバーにできます
セキュリティ グループ グループ メンバーにできます グループ メンバーにできません
Microsoft 365 グループ グループ メンバーにできません グループ メンバーにできません
デバイス グループ メンバーにできます グループ メンバーにできません
サービス プリンシパル グループ メンバーにできます グループ メンバーにできません
組織の連絡先 グループ メンバーにできます グループ メンバーにできません

動的メンバーシップ

動的メンバーシップとは、プリンシパルがそのプロパティに基づいてグループに追加または削除されることを意味します。 たとえば、"マーケティング" 部門のすべてのユーザーを含むようにグループを設定できます。 ユーザーがその部署に追加されると、自動的にグループに追加されます。 同様に、ユーザーが部門を辞めると、グループから削除されます。

動的グループのメンバーにできるのは、ユーザーとデバイスのみです。 動的メンバーシップには、動的グループ内の一意のユーザーごとに Microsoft Entra ID P1 ライセンスが必要です。

メンバーシップの規則は、Microsoft Entra ID 動的グループ規則構文を使用して定義されます。

動的メンバーシップ ルールの例:

"membershipRule": "user.department -eq \"Marketing\""

動的メンバーシップには、groupTypes プロパティの"DynamicMembership"値が必要です。 ダイナミック メンバーシップ ルールは、membershipRuleProcessingState プロパティを使用してオンまたはオフにできます。 静的メンバーシップから動的メンバーシップにグループを更新できます。

動的な Microsoft 365 グループを作成する要求の例:

POST https://graph.microsoft.com/beta/groups
Content-type: application/json

{
    "description": "Marketing department folks",
    "displayName": "Marketing department",
    "groupTypes": [
        "Unified",
        "DynamicMembership"
    ],
    "mailEnabled": true,
    "mailNickname": "marketing",
    "securityEnabled": false,
    "membershipRule": "user.department -eq \"Marketing\"",
    "membershipRuleProcessingState": "on"
}

要求は、201 Created 応答コードと、応答本文で新しく作成されたグループ オブジェクトを返します。

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#groups/$entity",
    "id": "6f7cd676-5445-47c4-9c2b-c47da4671da2",
    "createdDateTime": "2023-01-20T07:00:31Z",
    "description": "Marketing department folks",
    "displayName": "Marketing department",
    "groupTypes": [
        "Unified",
        "DynamicMembership"
    ],
    "mail": "marketing@contoso.com",
    "mailEnabled": true,
    "mailNickname": "marketing",
    "membershipRule": "user.department -eq \"Marketing\"",
    "membershipRuleProcessingState": "On"
}

その他のグループ設定

グループ用に次のような他の設定を構成できます。

Setting 説明 適用対象
グループの有効期限 有効期限ポリシーを構成して、更新しない限り、指定した期間が経過すると Microsoft 365 グループが自動的に削除されるようにします。 Microsoft 365 グループ
グループ設定 設定テンプレートを使用してグループの動作を構成します。 設定テンプレートには、Microsoft 365 グループの設定 (名前付けポリシー、ゲスト アクセス、秘密度ラベルなど) 用の Group.Unified 、Microsoft 365 ゲスト設定用の Group.Unified.Guest 、クラウド セキュリティ グループ設定 (秘密度ラベルの有効化など) 用の Group.Security 、クラウド セキュリティ設定用の Group.Security.Policies が含まれます。 Microsoft 365 グループとクラウド セキュリティ グループ
オンプレミス同期の設定 オンプレミスのディレクトリ同期設定を構成します。 セキュリティと Microsoft 365 グループ
ソース オブ オーソリティ変換 グループの権限のソースを変換します。 セキュリティと Microsoft 365 グループ

組織内のゲストのグループ検索の制限

アプリは、/groups リソース (https://graph.microsoft.com/beta/groupsなど) をクエリすることで、organizationのディレクトリ内のグループを検索できます。 この機能は管理者とメンバーが使用できますが、ゲストは使用できません。

ゲストは、アプリに付与されたアクセス許可に応じて、特定のグループ ( https://graph.microsoft.com/beta/group/fc06287e-d082-4aab-9d5e-d6fd0ed7c8bcなど) のプロファイルを表示できます。 ただし、複数の結果を返す /groups リソースに対してクエリを実行することはできません。

一般に、メンバーはグループ リソースへの幅広いアクセス権を持っていますが、ゲストのアクセス許可は制限されており、特定のグループ機能へのアクセスは制限されます。 詳細については、「 メンバーとゲストの既定のアクセス許可の比較」を参照してください。

適切なアクセス許可がある場合、アプリは /groups/{id}/members などのナビゲーション プロパティからグループ プロファイルにアクセスできます。

グループベースのライセンス

グループベースのライセンスでは、1 つ以上の製品ライセンスを Microsoft Entra グループに割り当てることができます。 新しいメンバーを含むグループ メンバーは、これらのライセンスを自動的に継承します。 メンバーがグループを脱退すると、そのメンバーのライセンスは自動的に削除されます。 この機能は、securityEnabledtrue に設定されているセキュリティ グループとMicrosoft 365 グループでのみ使用できます。

詳細については、「Microsoft Entra ID のグループベースのライセンスとは」を参照してください。

メイン データ ストアの外部に保存されているプロパティ

ほとんどのグループ リソース データは Microsoft Entra ID に格納されますが、autoSubscribeNewMembersallowExternalSenders などの一部のプロパティは Microsoft Exchange に格納されます。 これらのプロパティは、他のグループ プロパティと同じ [作成] または [更新] 要求本文に含めることはできません。

また、メイン データ ストアの外部に保存されたプロパティは、 変更追跡ではサポートされていません。 これらのプロパティの変更は、デルタ クエリの応答には表示されません。

次のグループ プロパティは、メイン データ ストアの外部に保存されます。
accessTypeallowExternalSendersautoSubscribeNewMemberscloudLicensinghideFromAddressListshideFromOutlookClientsisArchivedisFavoriteisSubscribedByMailmembershipRuleProcessingStatusunseenConversationsCountunseenCountunseenMessagesCountwelcomeMessageEnabled

グループ API の一般的なユースケース

Microsoft Graph グループ API では、次の一般的な操作がサポートされています。

ユース ケース API 操作
グループの作成と管理 作成一覧表示更新削除
グループ メンバーシップを管理する メンバーの一覧表示、 メンバーの追加メンバーの削除
グループの所有権を管理する 所有者の一覧表示所有者の追加所有者の削除
Microsoft 365 グループの機能 会話、予定表イベントOneNote ノートブックを管理し、Teams を有効にする

グループを管理するための Microsoft Entra ロール

グループを管理するには、サインインしたユーザーに適切な Microsoft Graph アクセス許可があり、サポートされている Microsoft Entra ロール、またはサポートされているアクセス許可を持つカスタム ロールが割り当てられている必要があります。 グループ管理者 はグループを管理するための主な役割ですが、 ユーザー管理者Exchange 管理者ディレクトリ作成者 などの他の役割も、さまざまなレベルのアクセス許可でグループを管理できます。

詳細については、「 グループを管理するための最小特権ロール」を参照してください。

次の手順

関連項目