Настройка согласия владельца группы и команды на приложения

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

Владельцы групп и команд могут авторизовать для приложений, например опубликованных сторонними поставщиками, доступ к данным организации, связанным с группой. Например, владелец группы в Microsoft Teams может разрешить приложению читать все сообщения групп в Teams или выводить базовые профили участников группы. Дополнительные сведения см. в статье Согласие для конкретных ресурсов в Microsoft Teams.

Согласие владельца группы можно управлять двумя отдельными способами: с помощью Центра администрирования Microsoft Entra и создания политик согласия приложений. В Центре администрирования Microsoft Entra можно включить всех владельцев групп, включить выбранного владельца группы или отключить возможность владельцев групп предоставить согласие приложениям. С другой стороны, политики согласия приложения позволяют указать, какая политика согласия приложения управляет согласием владельца группы для приложений. Затем вы можете назначить встроенную политику Майкрософт или создать собственную пользовательскую политику для эффективного управления процессом согласия для владельцев групп.

Перед созданием политики согласия приложения для управления согласием владельца группы необходимо отключить параметр согласия владельца группы через Центр администрирования Microsoft Entra. Отключение этого параметра позволяет предоставить согласие владельца группы в соответствии с политиками согласия приложения. Вы можете узнать, как отключить параметр согласия владельца группы различными способами в этой статье. Дополнительные сведения об управлении согласием владельца группы с помощью политик согласия приложений, адаптированных к вашим потребностям.

Необходимые компоненты

Чтобы настроить согласие владельца группы и группы, вам потребуется:

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

Совет

Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.

Чтобы настроить параметры согласия владельца группы и группы через Центр администрирования Microsoft Entra, выполните следующие действия.

Выполните следующие действия, чтобы управлять согласием владельца группы на доступ приложений к данным группы:

  1. Войдите в Центр администрирования Microsoft Entra в качестве глобального Администратор istrator.
  2. Перейдите к параметрам согласия и разрешений>для приложений>Identity>Applications>Enterprise.
  3. В разделе Согласие владельца группы для приложений, обращающихся к данным выберите параметр, который вы хотите включить.
  4. Нажмите кнопку Save (Сохранить), чтобы сохранить настройки.

В этом примере всем владельцам групп разрешено давать согласие на доступ приложений к данным группы:

Group owner consent settings

Вы можете использовать модуль Microsoft Graph PowerShell , чтобы включить или отключить возможность владельцев групп, чтобы предоставить приложениям доступ к данным вашей организации для групп, принадлежащих им. Командлеты в этом разделе являются частью модуля Microsoft.Graph.Identity.SignIns .

Подключение в Microsoft Graph PowerShell и войдите в качестве глобального администратора. Для чтения текущих параметров согласия пользователя используйте Policy.Read.All разрешение. Для чтения и изменения параметров согласия пользователя используйте Policy.ReadWrite.Authorization разрешение.

  1. Измените профиль на бета-версию Select-MgProfile с помощью команды.

    Select-MgProfile -Name "beta"
    
  2. Использование разрешения с наименьшими привилегиями

    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 Обозреватель:

Вам необходимо войти в систему от имени глобального администратора. Для чтения текущих параметров согласия пользователя, согласие на 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. Вам нужно войти в систему в качестве глобального администратора

# change the profile to beta by using the `Select-MgProfile` command
Select-MgProfile -Name "beta".
Connect-MgGraph -Scopes "Policy.ReadWrite.Authorization"
  1. Проверьте, ManagePermissionGrantPoliciesForOwnedResource область ли он groupвключен.

    1. Получите текущее значение для параметра согласия владельца группы.

        Get-MgPolicyAuthorizationPolicy | select -ExpandProperty DefaultUserRolePermissions | ft PermissionGrantPoliciesAssigned
      

    Если ManagePermissionGrantPoliciesForOwnedResource он возвращается PermissionGrantPoliciesAssigned, параметр согласия владельца группы может регулироваться политикой согласия приложения.

    1. Проверьте, область groupли политика.

        Get-MgPolicyPermissionGrantPolicy -PermissionGrantPolicyId {"microsoft-all-application-permissions-for-group"} | ft AdditionalProperties
      

      Если resourceScopeType == groupпараметр согласия владельца группы регулируется политикой согласия приложения.

  2. Чтобы отключить согласие владельца группы на использование политик согласия приложения, убедитесь, что политики согласия (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
    
    

Чтобы разрешить согласие владельца группы в соответствии с политикой согласия приложения, выберите, какая политика согласия приложения должна управлять авторизацией владельцев группы, чтобы предоставить согласие приложениям. Убедитесь, что политики согласия (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

Используйте граф Обозреватель, чтобы выбрать, какая политика согласия владельца группы управляет возможностью владельцев групп согласия пользователей, чтобы предоставить приложениям доступ к данным вашей организации для групп, принадлежащих им.

  1. Проверьте, ManagePermissionGrantPoliciesForOwnedResource область ли он groupвключен.

    1. Получение текущего значения для параметра согласия владельца группы
    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параметр согласия владельца группы регулируется политикой согласия приложения.

  2. Чтобы отключить согласие владельца группы на использование политик согласия приложения, убедитесь, что политики согласия (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}"
             ]
         }
     }
    

Чтобы разрешить согласие владельца группы в соответствии с политикой согласия приложения, выберите, какая политика согласия приложения должна управлять авторизацией владельцев группы, чтобы предоставить согласие приложениям. Убедитесь, что политики согласия (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"
        ]
    }
}

Следующие шаги

Получение справки или ответов на вопросы: