Обновление правила, определенного для политики управления ролями. Правило может быть одним из следующих типов, производных от объекта unifiedRoleManagementPolicyRule :
Для вызова этого API требуется одно из следующих разрешений. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
Для PIM для Microsoft Entra ролей
Тип разрешения
Разрешения (в порядке повышения привилегий)
Делегированные (рабочая или учебная учетная запись)
В делегированных сценариях пользователю, выполнившему вход, также необходимо назначить по крайней мере одну из следующих Microsoft Entra ролей:
Для операций чтения: глобальный читатель, оператор безопасности, читатель безопасности, администратор безопасности или администратор привилегированных ролей.
Для операций записи: администратор привилегированных ролей
Для PIM для групп
Тип разрешения
Разрешения (в порядке повышения привилегий)
Делегированные (рабочая или учебная учетная запись)
RoleManagementPolicy.ReadWrite.AzureADGroup
Делегированные (личная учетная запись Майкрософт)
Не поддерживается.
Приложение
RoleManagementPolicy.ReadWrite.AzureADGroup
HTTP-запрос
Чтобы обновить правило, определенное для политики, для Microsoft Entra ролей или групп в PIM:
Укажите в тексте запроса только значения обновляемых свойств. Существующие свойства, которые не включены в текст запроса, сохраняют свои предыдущие значения или пересчитываются на основе изменений других значений свойств.
В следующей таблице указаны свойства, которые можно обновить.
Свойство
Тип
Описание
claimValue
String
Значение утверждения контекста проверки подлинности.
Можно обновить для типа правила unifiedRoleManagementPolicyAuthenticationContextRule .
enabledRules
Коллекция строк
Коллекция правил, включенных для этого правила политики. Например, MultiFactorAuthentication, Ticketingи Justification.
Можно обновить для типа правила unifiedRoleManagementPolicyEnablementRule .
isDefaultRecipientsEnabled
Логический
Указывает, будет ли получатель по умолчанию получать уведомление по электронной почте.
Можно обновить для типа правила unifiedRoleManagementPolicyNotificationRule .
isEnabled
Boolean
Включено ли это правило.
Можно обновить для типа правила unifiedRoleManagementPolicyAuthenticationContextRule .
isExpirationRequired
Логический
Указывает, требуется ли истечение срока действия или является ли это постоянно активным назначением или правомочности.
Можно обновить для типа правила unifiedRoleManagementPolicyExpirationRule .
maximumDuration
Duration (Длительность)
Максимальная продолжительность, допустимая для права на участие или назначение, которое не является постоянным. Требуется, если isExpirationRequired имеет значение true.
Можно обновить для типа правила unifiedRoleManagementPolicyExpirationRule .
notificationLevel
String
Уровень уведомления. Возможные значения: None, Critical, All.
Можно обновить для типа правила unifiedRoleManagementPolicyNotificationRule .
notificationRecipients
Коллекция строк
Список получателей Уведомления по электронной почте.
Можно обновить для типа правила unifiedRoleManagementPolicyNotificationRule .
notificationType
String
Тип уведомления. Поддерживается только Email .
Можно обновить для типа правила unifiedRoleManagementPolicyNotificationRule .
recipientType
String
Тип получателя уведомления. Возможные значения: Requestor, Approver, Admin. Можно обновить для типа правила unifiedRoleManagementPolicyNotificationRule .
Определяет сведения о область, предназначенных для правила политики управления ролями. Сведения могут включать тип субъекта, тип назначения роли и действия, влияющие на роль.
Можно обновить для всех типов правил.
Примечание: Свойство @odata.type со значением определенного типа правила должно быть включено в текст. Например, "@odata.type": "#microsoft.graph.unifiedRoleManagementPolicyApprovalRule".
Пример 1. Обновление правила, определенного для политики в PIM, для Microsoft Entra ролей
Запрос
В следующем примере обновляется правило политики управления ролями типа unifiedRoleManagementPolicyExpirationRule с идентификатором Expiration_EndUser_Assignment.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new UnifiedRoleManagementPolicyExpirationRule
{
OdataType = "#microsoft.graph.unifiedRoleManagementPolicyExpirationRule",
Id = "Expiration_EndUser_Assignment",
IsExpirationRequired = true,
MaximumDuration = TimeSpan.Parse("PT1H45M"),
Target = new UnifiedRoleManagementPolicyRuleTarget
{
OdataType = "microsoft.graph.unifiedRoleManagementPolicyRuleTarget",
Caller = "EndUser",
Operations = new List<UnifiedRoleManagementPolicyRuleTargetOperations?>
{
UnifiedRoleManagementPolicyRuleTargetOperations.All,
},
Level = "Assignment",
InheritableSettings = new List<string>
{
},
EnforcedSettings = new List<string>
{
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Policies.RoleManagementPolicies["{unifiedRoleManagementPolicy-id}"].Rules["{unifiedRoleManagementPolicyRule-id}"].PatchAsync(requestBody);
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
UnifiedRoleManagementPolicyExpirationRule unifiedRoleManagementPolicyRule = new UnifiedRoleManagementPolicyExpirationRule();
unifiedRoleManagementPolicyRule.setOdataType("#microsoft.graph.unifiedRoleManagementPolicyExpirationRule");
unifiedRoleManagementPolicyRule.setId("Expiration_EndUser_Assignment");
unifiedRoleManagementPolicyRule.setIsExpirationRequired(true);
PeriodAndDuration maximumDuration = PeriodAndDuration.ofDuration(Duration.parse("PT1H45M"));
unifiedRoleManagementPolicyRule.setMaximumDuration(maximumDuration);
UnifiedRoleManagementPolicyRuleTarget target = new UnifiedRoleManagementPolicyRuleTarget();
target.setOdataType("microsoft.graph.unifiedRoleManagementPolicyRuleTarget");
target.setCaller("EndUser");
LinkedList<UnifiedRoleManagementPolicyRuleTargetOperations> operations = new LinkedList<UnifiedRoleManagementPolicyRuleTargetOperations>();
operations.add(UnifiedRoleManagementPolicyRuleTargetOperations.All);
target.setOperations(operations);
target.setLevel("Assignment");
LinkedList<String> inheritableSettings = new LinkedList<String>();
target.setInheritableSettings(inheritableSettings);
LinkedList<String> enforcedSettings = new LinkedList<String>();
target.setEnforcedSettings(enforcedSettings);
unifiedRoleManagementPolicyRule.setTarget(target);
UnifiedRoleManagementPolicyRule result = graphClient.policies().roleManagementPolicies().byUnifiedRoleManagementPolicyId("{unifiedRoleManagementPolicy-id}").rules().byUnifiedRoleManagementPolicyRuleId("{unifiedRoleManagementPolicyRule-id}").patch(unifiedRoleManagementPolicyRule);
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new UnifiedRoleManagementPolicyExpirationRule
{
OdataType = "#microsoft.graph.unifiedRoleManagementPolicyExpirationRule",
Id = "Expiration_EndUser_Assignment",
IsExpirationRequired = true,
MaximumDuration = TimeSpan.Parse("PT1H45M"),
Target = new UnifiedRoleManagementPolicyRuleTarget
{
Caller = "EndUser",
Operations = new List<UnifiedRoleManagementPolicyRuleTargetOperations?>
{
UnifiedRoleManagementPolicyRuleTargetOperations.All,
},
Level = "Assignment",
InheritableSettings = new List<string>
{
},
EnforcedSettings = new List<string>
{
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Policies.RoleManagementPolicies["{unifiedRoleManagementPolicy-id}"].Rules["{unifiedRoleManagementPolicyRule-id}"].PatchAsync(requestBody);
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
UnifiedRoleManagementPolicyExpirationRule unifiedRoleManagementPolicyRule = new UnifiedRoleManagementPolicyExpirationRule();
unifiedRoleManagementPolicyRule.setOdataType("#microsoft.graph.unifiedRoleManagementPolicyExpirationRule");
unifiedRoleManagementPolicyRule.setId("Expiration_EndUser_Assignment");
unifiedRoleManagementPolicyRule.setIsExpirationRequired(true);
PeriodAndDuration maximumDuration = PeriodAndDuration.ofDuration(Duration.parse("PT1H45M"));
unifiedRoleManagementPolicyRule.setMaximumDuration(maximumDuration);
UnifiedRoleManagementPolicyRuleTarget target = new UnifiedRoleManagementPolicyRuleTarget();
target.setCaller("EndUser");
LinkedList<UnifiedRoleManagementPolicyRuleTargetOperations> operations = new LinkedList<UnifiedRoleManagementPolicyRuleTargetOperations>();
operations.add(UnifiedRoleManagementPolicyRuleTargetOperations.All);
target.setOperations(operations);
target.setLevel("Assignment");
LinkedList<String> inheritableSettings = new LinkedList<String>();
target.setInheritableSettings(inheritableSettings);
LinkedList<String> enforcedSettings = new LinkedList<String>();
target.setEnforcedSettings(enforcedSettings);
unifiedRoleManagementPolicyRule.setTarget(target);
UnifiedRoleManagementPolicyRule result = graphClient.policies().roleManagementPolicies().byUnifiedRoleManagementPolicyId("{unifiedRoleManagementPolicy-id}").rules().byUnifiedRoleManagementPolicyRuleId("{unifiedRoleManagementPolicyRule-id}").patch(unifiedRoleManagementPolicyRule);
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделе https://aka.ms/ContentUserFeedback.