Поделиться через


Создание или обновление ownerlessGroupPolicy

Пространство имен: microsoft.graph

Важно!

API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.

Создайте или обновите бесхозяйную группуPolicy для клиента. Если политика не существует, она создает новую; Если политика существует, она обновляет существующую политику.

Чтобы отключить политику, задайте для параметра isEnabled значение false. Параметр isEnabled очищает false значения всех остальных параметров политики.

Этот API доступен в следующих национальных облачных развертываниях.

Глобальная служба Правительство США L4 Правительство США L5 (DOD) Китай управляется 21Vianet

Разрешения

Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.

Тип разрешения Разрешения с наименьшими привилегиями Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись) Group.ReadWrite.All Недоступно.
Делегированные (личная учетная запись Майкрософт) Не поддерживается. Не поддерживается.
Для приложений Не поддерживается. Не поддерживается.

Важно!

В делегированных сценариях вызывающему пользователю должны быть назначены роли администратора групп или администратора ExchangeMicrosoft Entra.

HTTP-запрос

PATCH /policies/ownerlessGroupPolicy

Заголовки запросов

Имя Описание
Авторизация Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации.
Content-Type application/json. Обязательно.

Текст запроса

В тексте запроса укажите представление объекта ownerlessGroupPolicy в формате JSON. Все необходимые свойства должны быть предоставлены для операций создания и обновления. API выполняет полную замену конфигурации политики. В отличие от портала администрирования, API не применяет значения по умолчанию для каких-либо свойств.

Свойство Тип Описание
emailInfo emailDetails Сведения об уведомлении по электронной почте для групповой политики без владельца. Обязательно.
enabledGroupIds Коллекция строк Коллекция идентификаторов для групп Microsoft 365, для которых включена политика. Обязательно.
isEnabled Boolean Указывает, включена ли бесхозяйная групповая политика. Присвоите этому свойству значение , чтобы false очистить значения всех остальных параметров политики. Обязательно.
maxMembersToNotify Int64 Максимальное число участников для уведомления. Диапазон значений от 0 до 90. Обязательно.
notificationDurationInWeeks Int64 Количество недель для длительности уведомления. Диапазон значений — 1–7. Обязательно.
policyWebUrl String URL-адрес документации по политике. Необязательный параметр.
targetOwners targetOwners Критерии для выбора целевых владельцев. Обязательно.

Отклик

В случае успешного 200 OK выполнения этот метод возвращает код отклика и обновленный объект ownerlessGroupPolicy в тексте ответа, когда политика уже существует, или 201 Created код ответа и новый объект ownerlessGroupPolicy в тексте отклика при создании политики.

Ошибки

Условие Код состояния Код ошибки
notificationDurationInWeeks не находится в диапазоне от 1 до 7 400 Недопустимый запрос badRequest
maxMembersToNotify не находится в диапазоне от 0 до 90 400 Недопустимый запрос badRequest

Примеры

Пример 1. Создание или обновление бесхозяйной групповой политики

Запрос

Ниже показан пример запроса.

PATCH https://graph.microsoft.com/beta/policies/ownerlessGroupPolicy
Content-Type: application/json

{
  "isEnabled": true,
  "notificationDurationInWeeks": 3,
  "maxMembersToNotify": 40,
  "policyWebUrl": "https://contoso.com/policies/ownerless-groups",
  "targetOwners": {
    "notifyMembers": "allowSelected",
    "securityGroups": [
      "security-group1@contoso.com",
      "security-group2@contoso.com"
    ]
  },
  "enabledGroupIds": [
    "b14e5eb2-a0a1-4c8f-b83e-940526219200",
    "454dde77-ac2b-421b-a6ab-165be910e0fc"
  ],
  "emailInfo": {
    "senderEmailAddress": "admin@contoso.com",
    "subject": "Need your help with $Group.Name group",
    "body": "Hi $User.DisplayName, \n\nYou'\''re receiving this email because you'\''ve been an active member of the $Group.Name group. This group currently does not have an owner. \n\nPer your organization'\''s policy, the group requires an owner.\n\nThank you"
  }
}

Отклик

Ниже показан пример отклика.

Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "@odata.type": "#microsoft.graph.ownerlessGroupPolicy",
  "isEnabled": true,
  "notificationDurationInWeeks": 3,
  "maxMembersToNotify": 40,
  "enabledGroupIds": [
    "b14e5eb2-a0a1-4c8f-b83e-940526219200",
    "454dde77-ac2b-421b-a6ab-165be910e0fc"
  ],
  "emailInfo": {
    "@odata.type": "microsoft.graph.emailDetails",
    "senderEmailAddress": "admin@contoso.com",
    "subject": "Need your help with $Group.Name group",
    "body": "Hi $User.DisplayName, \n\nYou'\''re receiving this email because you'\''ve been an active member of the $Group.Name group. This group currently does not have an owner. \n\nPer your organization'\''s policy, the group requires an owner.\n\nThank you"
  },
  "policyWebUrl": "https://contoso.com/policies/ownerless-groups",
  "targetOwners": {
    "@odata.type": "microsoft.graph.targetOwners",
    "notifyMembers": "allowSelected",
    "securityGroups": [
      "security-group1@contoso.com",
      "security-group2@contoso.com"
    ]
  }
}

Пример 2. Отключение групповой политики без владельца

Запрос

Ниже показан пример запроса.

PATCH https://graph.microsoft.com/beta/policies/ownerlessGroupPolicy
Content-Type: application/json

{
  "isEnabled": false
}

Отклик

Ниже приводится пример отклика.

HTTP/1.1 200 OK
Content-Type: application/json

{
  "@odata.type": "#microsoft.graph.ownerlessGroupPolicy",
  "isEnabled": false,
  "notificationDurationInWeeks": 0,
  "maxMembersToNotify": 0,
  "enabledGroupIds": [],
  "emailInfo": {
    "@odata.type": "microsoft.graph.emailDetails",
    "senderEmailAddress": "",
    "subject": "",
    "body": ""
  },
  "policyWebUrl": "",
  "targetOwners": {
    "@odata.type": "microsoft.graph.targetOwners",
    "notifyMembers": "all",
    "securityGroups": []
  }
}