Настройка согласия владельца группы и команды на приложения
В этой статье вы узнаете, как настроить способ предоставления согласия владельцев групп и команд для приложений, а также отключение всех операций согласия владельцев группы и владельцев команд для приложений.
Владельцы групп и команд могут авторизовать для приложений, например опубликованных сторонними поставщиками, доступ к данным организации, связанным с группой. Например, владелец группы в Microsoft Teams может разрешить приложению читать все сообщения групп в Teams или выводить базовые профили участников группы. Дополнительные сведения см. в статье Согласие для конкретных ресурсов в Microsoft Teams.
Согласие владельца группы можно управлять двумя отдельными способами: с помощью Центра администрирования Microsoft Entra и создания политик согласия приложений. В Центре администрирования Microsoft Entra можно включить всех владельцев групп, включить выбранного владельца группы или отключить возможность владельцев групп предоставить согласие приложениям. С другой стороны, политики согласия приложения позволяют указать, какая политика согласия приложения управляет согласием владельца группы для приложений. Затем вы можете назначить встроенную политику Майкрософт или создать собственную пользовательскую политику для эффективного управления процессом согласия для владельцев групп.
Перед созданием политики согласия приложения для управления согласием владельца группы необходимо отключить параметр согласия владельца группы через Центр администрирования Microsoft Entra. Отключение этого параметра позволяет предоставить согласие владельца группы в соответствии с политиками согласия приложения. Вы можете узнать, как отключить параметр согласия владельца группы различными способами в этой статье. Дополнительные сведения об управлении согласием владельца группы с помощью политик согласия приложений, адаптированных к вашим потребностям.
Необходимые компоненты
Чтобы настроить согласие владельца группы и группы, вам потребуется:
- Учетная запись пользователя. Если ее нет, можно создать учетную запись бесплатно.
- Привилегированная роль Администратор istrator.
Управление согласием владельца группы для приложений с помощью Центра администрирования Microsoft Entra
Вы можете настроить, какие пользователи могут предоставить согласие на доступ к приложениям, обращающиеся к данным своих групп или команд, или отключить параметр для всех пользователей.
Совет
Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.
Чтобы настроить параметры согласия владельца группы и группы через Центр администрирования Microsoft Entra, выполните следующие действия.
Выполните следующие действия, чтобы управлять согласием владельца группы на доступ приложений к данным группы:
- Войдите в Центр администрирования Microsoft Entra как минимум привилегированную роль Администратор istrator.
- Перейдите к параметрам согласия и разрешений>для приложений>Identity>Applications>Enterprise.
- В разделе Согласие владельца группы для приложений, обращающихся к данным выберите параметр, который вы хотите включить.
- Нажмите кнопку Save (Сохранить), чтобы сохранить настройки.
В этом примере всем владельцам групп разрешено давать согласие на доступ приложений к данным группы:
Вы можете использовать модуль Microsoft Graph PowerShell , чтобы включить или отключить возможность владельцев групп, чтобы предоставить приложениям доступ к данным вашей организации для групп, принадлежащих им. Командлеты в этом разделе являются частью модуля Microsoft.Graph.Identity.SignIns .
Подключение в Microsoft Graph PowerShell и войдите как минимум Привилегированная роль Администратор istrator. Для чтения текущих параметров согласия пользователя используйте Policy.Read.All
разрешение. Для чтения и изменения параметров согласия пользователя используйте Policy.ReadWrite.Authorization
разрешение.
Измените профиль на бета-версию
Select-MgProfile
с помощью команды.Select-MgProfile -Name "beta"
Использование разрешения с наименьшими привилегиями
Connect-MgGraph -Scopes "Policy.ReadWrite.Authorization" # If you need to create a new setting based on the templates, please use this permission Connect-MgGraph -Scopes "Directory.ReadWrite.All"
Получение текущего параметра с помощью Microsoft Graph PowerShell
Получите текущее значение параметров каталога Параметры политики согласия в клиенте. Для этого необходимо проверить, были ли созданы параметры каталога для этой функции, и если нет, использовать значения из соответствующего шаблона параметров каталога.
$consentSettingsTemplateId = "dffd5d46-495d-40a9-8e21-954ff55e198a" # Consent Policy Settings
$settings = Get-MgDirectorySetting | ?{ $_.TemplateId -eq $consentSettingsTemplateId }
if (-not $settings) {
$template = Get-MgDirectorySettingTemplate -DirectorySettingTemplateId $consentSettingsTemplateId
$body = @{
"templateId" = $template.Id
"values" = @(
@{
"name" = "EnableGroupSpecificConsent"
"value" = $true
},
@{
"name" = "BlockUserConsentForRiskyApps"
"value" = $true
},
@{
"name" = "EnableAdminConsentRequests"
"value" = $true
},
@{
"name" = "ConstrainGroupSpecificConsentToMembersOfGroupId"
"value" = ""
}
)
}
$settings = New-MgDirectorySetting -BodyParameter $body
}
$enabledValue = $settings.Values | ? { $_.Name -eq "EnableGroupSpecificConsent" }
$limitedToValue = $settings.Values | ? { $_.Name -eq "ConstrainGroupSpecificConsentToMembersOfGroupId" }
Общие сведения о значениях параметров в Microsoft Graph PowerShell
Есть два значения параметров, которые определяют, какие пользователи смогут предоставлять приложению доступ к данным своей группы:
Параметр | Тип | Описание |
---|---|---|
EnableGroupSpecificConsent | Логический | Флаг, указывающий, разрешено ли владельцам групп предоставлять разрешения для конкретной группы. |
ConstrainGroupSpecificConsentToMembersOfGroupId | GUID | Если параметр EnableGroupSpecificConsent имеет значение "true", а для этого значения задан идентификатор объекта группы, члены этой группы будут иметь права на предоставление разрешений, относящихся к их группе. |
Обновление значений параметров для требуемой конфигурации с помощью Microsoft Graph PowerShell
# Disable group-specific consent entirely
$enabledValue.Value = "false"
$limitedToValue.Value = ""
# Enable group-specific consent for all users
$enabledValue.Value = "true"
$limitedToValue.Value = ""
# Enable group-specific consent for users in a given group
$enabledValue.Value = "true"
$limitedToValue.Value = "{group-object-id}"
Сохранение параметров с помощью Microsoft Graph PowerShell
```powershell
# Update an existing directory settings
Update-MgDirectorySetting -DirectorySettingId $settings.Id -Values $settings.Values
Управление параметрами согласия для группы и владельца группы с помощью параметра каталога с помощью graph Обозреватель:
Необходимо войти в качестве привилегированной роли Администратор istrator. Для чтения текущих параметров согласия пользователя, согласие на Policy.Read.All
разрешение. Для чтения и изменения параметров согласия пользователя, согласие на Policy.ReadWrite.Authorization
разрешение.
Получение текущего параметра с помощью API Microsoft Graph
Получите текущее значение политики согласия Параметры из Центра администрирования Microsoft Entra в клиенте. Для этого требуется проверка, если были созданы параметры каталога для этой функции, а если нет, то при использовании второго вызова Microsoft Graph для создания соответствующих параметров каталога.
GET https://graph.microsoft.com/beta/settings
Response
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#settings",
"value": [
{
"id": "{ directorySettingId }",
"displayName": "Consent Policy Settings",
"templateId": "dffd5d46-495d-40a9-8e21-954ff55e198a",
"values": [
{
"name": "EnableGroupSpecificConsent",
"value": "true"
},
{
"name": "BlockUserConsentForRiskyApps",
"value": "true"
},
{
"name": "EnableAdminConsentRequests",
"value": "true"
},
{
"name": "ConstrainGroupSpecificConsentToMembersOfGroupId",
"value": ""
}
]
}
]
}
создайте соответствующие параметры каталога, если он value
пуст (см. ниже в качестве примера).
GET https://graph.microsoft.com/beta/settings
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#settings",
"value": []
}
POST https://graph.microsoft.com/beta/settings
{
"templateId": "dffd5d46-495d-40a9-8e21-954ff55e198a",
"values": [
{
"name": "EnableGroupSpecificConsent",
"value": "true"
},
{
"name": "BlockUserConsentForRiskyApps",
"value": "true"
},
{
"name": "EnableAdminConsentRequests",
"value": "true"
},
{
"name": "ConstrainGroupSpecificConsentToMembersOfGroupId",
"value": ""
}
]
}
Общие сведения о значениях параметров в API Microsoft Graph
Есть два значения параметров, которые определяют, какие пользователи смогут предоставлять приложению доступ к данным своей группы:
Параметр | Тип | Описание |
---|---|---|
EnableGroupSpecificConsent | Логический | Флаг, указывающий, разрешено ли владельцам групп предоставлять разрешения для конкретной группы. |
ConstrainGroupSpecificConsentToMembersOfGroupId | GUID | Если параметр EnableGroupSpecificConsent имеет значение "true", а для этого значения задан идентификатор объекта группы, члены этой группы будут иметь права на предоставление разрешений, относящихся к их группе. |
Обновление значений параметров для требуемой конфигурации с помощью API Microsoft Graph
Замените {directorySettingId}
фактическим идентификатором value
в коллекции при получении текущего параметра
Отключение согласия для конкретной группы полностью
PATCH https://graph.microsoft.com/beta/settings/{directorySettingId}
{
"values": [
{
"name": "EnableGroupSpecificConsent",
"value": "false"
},
{
"name": "BlockUserConsentForRiskyApps",
"value": "true"
},
{
"name": "EnableAdminConsentRequests",
"value": "true"
},
{
"name": "ConstrainGroupSpecificConsentToMembersOfGroupId",
"value": ""
}
]
}
Включение согласия для конкретной группы для всех пользователей
PATCH https://graph.microsoft.com/beta/settings/{directorySettingId}
{
"values": [
{
"name": "EnableGroupSpecificConsent",
"value": "true"
},
{
"name": "BlockUserConsentForRiskyApps",
"value": "true"
},
{
"name": "EnableAdminConsentRequests",
"value": "true"
},
{
"name": "ConstrainGroupSpecificConsentToMembersOfGroupId",
"value": ""
}
]
}
Включение согласия для конкретной группы для пользователей в данной группе
PATCH https://graph.microsoft.com/beta/settings/{directorySettingId}
{
"values": [
{
"name": "EnableGroupSpecificConsent",
"value": "true"
},
{
"name": "BlockUserConsentForRiskyApps",
"value": "true"
},
{
"name": "EnableAdminConsentRequests",
"value": "true"
},
{
"name": "ConstrainGroupSpecificConsentToMembersOfGroupId",
"value": "{group-object-id}"
}
]
}
Примечание.
Пользователь может предоставить пользователям согласие на доступ к корпоративным данным от имени , если он отключен, не отключает пользователей согласие на доступ к корпоративным данным для групп, которые они имеют собственный вариант.
Управление согласием владельца группы на приложения по политике согласия приложения
Вы можете настроить, какие пользователи могут предоставить пользователям согласие на доступ к данным своих групп или команд с помощью политик согласия приложений. Чтобы разрешить владельцу группы согласие в соответствии с политиками согласия приложения, параметр согласия владельца группы должен быть отключен. После отключения текущая политика считывается из политик согласия приложения.
Чтобы выбрать, какая политика согласия приложения управляет согласием пользователей для приложений, можно использовать модуль Microsoft Graph PowerShell . Командлеты, используемые здесь, включены в модуль Microsoft.Graph.Identity.SignIns .
Подключение в Microsoft Graph PowerShell с минимальными привилегиями. Для чтения текущих параметров согласия пользователя используйте Policy.Read.All
. Для чтения и изменения параметров согласия пользователя используйте Policy.ReadWrite.Authorization
. Необходимо войти в качестве привилегированной роли Администратор istrator.
# change the profile to beta by using the `Select-MgProfile` command
Select-MgProfile -Name "beta".
Connect-MgGraph -Scopes "Policy.ReadWrite.Authorization"
Отключение согласия владельца группы на использование политик согласия приложений с помощью Microsoft Graph PowerShell
Проверьте,
ManagePermissionGrantPoliciesForOwnedResource
область ли онgroup
включен.Получите текущее значение для параметра согласия владельца группы.
Get-MgPolicyAuthorizationPolicy | select -ExpandProperty DefaultUserRolePermissions | ft PermissionGrantPoliciesAssigned
Если
ManagePermissionGrantPoliciesForOwnedResource
он возвращаетсяPermissionGrantPoliciesAssigned
, параметр согласия владельца группы может регулироваться политикой согласия приложения.Проверьте, область
group
ли политика.Get-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | ft AdditionalProperties
Если
resourceScopeType
==group
параметр согласия владельца группы регулируется политикой согласия приложения.
Чтобы отключить согласие владельца группы на использование политик согласия приложения, убедитесь, что политики согласия (
PermissionGrantPoliciesAssigned
) включают текущуюManagePermissionGrantsForSelf.*
политику и другие текущиеManagePermissionGrantsForOwnedResource.*
политики, если они не применимы к группам при обновлении коллекции. Таким образом, вы можете поддерживать текущую конфигурацию для параметров согласия пользователя и других параметров согласия ресурсов.# only exclude policies that are scoped in group $body = @{ "permissionGrantPolicyIdsAssignedToDefaultUserRole" = @( "managePermissionGrantsForSelf.{current-policy-for-user-consent}", "managePermissionGrantsForOwnedResource.{other-policies-that-are-not-applicable-to-groups}" ) } Update-MgPolicyAuthorizationPolicy -AuthorizationPolicyId authorizationPolicy -BodyParameter $body
Назначение политики согласия приложения владельцам групп с помощью Microsoft Graph PowerShell
Чтобы разрешить согласие владельца группы в соответствии с политикой согласия приложения, выберите, какая политика согласия приложения должна управлять авторизацией владельцев группы, чтобы предоставить согласие приложениям. Убедитесь, что политики согласия (PermissionGrantPoliciesAssigned
) включают текущую ManagePermissionGrantsForSelf.*
политику и другие ManagePermissionGrantsForOwnedResource.*
политики при обновлении коллекции. Таким образом, вы можете поддерживать текущую конфигурацию для параметров согласия пользователя и других параметров согласия ресурсов.
$body = @{
"permissionGrantPolicyIdsAssignedToDefaultUserRole" = @(
"managePermissionGrantsForSelf.{current-policy-for-user-consent}",
"managePermissionGrantsForOwnedResource.{other-policies-that-are-not-applicable-to-groups}",
"managePermissionGrantsForOwnedResource.{app-consent-policy-id-for-group}" #new app consent policy for groups
)
}
Update-MgPolicyAuthorizationPolicy -AuthorizationPolicyId authorizationPolicy -BodyParameter $body
Замените {app-consent-policy-id-for-group}
идентификатором политики, которую вы хотите применить. Вы можете выбрать созданную вами настраиваемую политику согласия для приложений или выбрать одну из следующих встроенных политик:
Идентификатор | Description |
---|---|
Microsoft-pre-approval-apps-for-group | Разрешить владельцу группы согласие только на предварительно утвержденные приложения Разрешить владельцам групп согласие только для приложений, предварительно подготовленных администраторами для групп, которыми они владеет. |
Microsoft-all-application-permissions-for-group | Разрешить владельцу группы согласие на приложения Этот параметр позволяет всем владельцам групп предоставлять согласие на любые разрешения, которые не требуют согласия администратора для любого приложения, для принадлежащих им групп. Он включает приложения, которые были предварительно утверждены предоставьте предоставленную политику разрешения для предоставления согласия на группу для конкретного ресурса. |
Например, чтобы включить согласие владельца группы в соответствии со встроенной политикой microsoft-all-application-permissions-for-group
, выполните следующие команды:
$body = @{
"permissionGrantPolicyIdsAssignedToDefaultUserRole" = @(
"managePermissionGrantsForSelf.{current-policy-for-user-consent}",
"managePermissionGrantsForOwnedResource.{all-policies-that-are-not-applicable-to-groups}",
"managePermissionGrantsForOwnedResource.{microsoft-all-application-permissions-for-group}" # policy that is be scoped to group
)
}
Update-MgPolicyAuthorizationPolicy -AuthorizationPolicyId authorizationPolicy -BodyParameter $body
Используйте граф Обозреватель, чтобы выбрать, какая политика согласия владельца группы управляет возможностью владельцев групп согласия пользователей, чтобы предоставить приложениям доступ к данным вашей организации для групп, принадлежащих им.
Отключение согласия владельца группы на использование политик согласия приложений с помощью API Microsoft Graph
Проверьте,
ManagePermissionGrantPoliciesForOwnedResource
область ли онgroup
включен.- Получение текущего значения для параметра согласия владельца группы
GET https://graph.microsoft.com/v1.0/policies/authorizationPolicy
Если
ManagePermissionGrantsForOwnedResource
он возвращаетсяpermissionGrantPolicyIdsAssignedToDefaultUserRole
, параметр согласия владельца группы может регулироваться политикой согласия приложения.2.Проверьте, область
group
ли политика.GET https://graph.microsoft.com/beta/policies/permissionGrantPolicies/{microsoft-all-application-permissions-for-group}
Если
resourceScopeType
==group
параметр согласия владельца группы регулируется политикой согласия приложения.Чтобы отключить согласие владельца группы на использование политик согласия приложения, убедитесь, что политики согласия (
PermissionGrantPoliciesAssigned
) включают текущуюManagePermissionGrantsForSelf.*
политику и другие текущиеManagePermissionGrantsForOwnedResource.*
политики, если они не применимы к группам. Таким образом, вы можете поддерживать текущую конфигурацию для параметров согласия пользователя и других параметров согласия ресурсов.PATCH https://graph.microsoft.com/beta/policies/authorizationPolicy { "defaultUserRolePermissions": { "permissionGrantPoliciesAssigned": [ "managePermissionGrantsForSelf.{current-policy-for-user-consent}", "managePermissionGrantsForOwnedResource.{other-policies-that-are-not-applicable-to-groups}" ] } }
Назначение политики согласия приложения владельцам групп с помощью API Microsoft Graph
Чтобы разрешить согласие владельца группы в соответствии с политикой согласия приложения, выберите, какая политика согласия приложения должна управлять авторизацией владельцев группы, чтобы предоставить согласие приложениям. Убедитесь, что политики согласия (PermissionGrantPoliciesAssigned
) включают текущую ManagePermissionGrantsForSelf.*
политику и другие текущие ManagePermissionGrantsForOwnedResource.*
политики при обновлении коллекции. Таким образом, вы можете поддерживать текущую конфигурацию для параметров согласия пользователя и других параметров согласия ресурсов.
PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy
{
"defaultUserRolePermissions": {
"managePermissionGrantsForSelf.{current-policy-for-user-consent}",
"managePermissionGrantsForOwnedResource.{other-policies-that-are-not-applicable-to-groups}",
"managePermissionGrantsForOwnedResource.{app-consent-policy-id-for-group}"
}
}
Замените {app-consent-policy-id-for-group}
идентификатором политики, которую вы хотите применить для групп. Вы можете выбрать настраиваемую политику согласия приложения для созданных групп или выбрать из следующих встроенных политик:
Идентификатор | Description |
---|---|
Microsoft-pre-approval-apps-for-group | Разрешить владельцу группы согласие только на предварительно утвержденные приложения Разрешить владельцам групп согласие только для приложений, предварительно подготовленных администраторами для групп, которыми они владеет. |
Microsoft-all-application-permissions-for-group | Разрешить владельцу группы согласие на приложения Этот параметр позволяет всем владельцам групп предоставлять согласие на любые разрешения, которые не требуют согласия администратора для любого приложения, для принадлежащих им групп. Он включает приложения, которые были предварительно утверждены предоставьте предоставленную политику разрешения для предоставления согласия на группу для конкретного ресурса. |
Например, чтобы включить согласие владельца группы в соответствии со встроенной политикой microsoft-pre-approval-apps-for-group
, используйте следующую команду PATCH:
PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy
{
"defaultUserRolePermissions": {
"permissionGrantPoliciesAssigned": [
"managePermissionGrantsForSelf.{current-policy-for-user-consent}",
"managePermissionGrantsForOwnedResource.{other-policies-that-are-not-applicable-to-groups}",
"managePermissionGrantsForOwnedResource.microsoft-pre-approval-apps-for-group"
]
}
}
Следующие шаги
Получение справки или ответов на вопросы: