Проверка доступа к привилегированным ролям с помощью API проверок доступа в Microsoft Graph
API проверок доступа в Microsoft Graph позволяет организациям выполнять аудит и аттестацию доступа, который удостоверения (также называемые субъектами) назначаются ресурсам в организации. Одним из наиболее конфиденциальных ресурсов в организации являются привилегированные роли. С привилегированной ролью субъект может выполнять административные операции. В зависимости от привилегированной роли некоторые операции могут оказать большее влияние на состояние безопасности организации. С помощью API проверок доступа организации могут периодически проверять субъекты, имеющие доступ к привилегированным ролям в рамках политики организации.
Contoso Limited — это растущий поставщик услуг, который делегирует пользователям, группам и субъектам-службам различные права администратора Azure AD. Компания должна обеспечить доступ к привилегированным ролям только правоназначаемые. Системные аудиторы также должны провести аудит журнала проверок доступа, чтобы сообщить об эффективности внутренних средств контроля Contoso.
В этом руководстве вы будете использовать API проверок доступа для периодической проверки пользователей и групп с доступом к привилегированным ролям в Contoso. Этот доступ включает как активные, так и соответствующие роли.
Предварительные требования
Для работы с этим руководством вам потребуются следующие ресурсы и привилегии:
- Рабочий клиент Azure AD с включенной лицензией Azure AD Premium P2 или EMS E5.
- Войдите в клиент API, например Graph Обозреватель, Postman, или создайте собственное клиентское приложение для вызова Microsoft Graph. Чтобы вызвать API Microsoft Graph в этом руководстве, необходимо использовать учетную запись с ролью администратора привилегированных ролей.
- Субъекты с активными или соответствующими назначениями привилегированной роли. Эти назначения будут область проверки доступа. Сведения о назначении привилегированных ролей см. в статье Руководство. Использование API управление привилегированными пользователями (PIM) для назначения Azure AD ролей.
- В этом руководстве роль администратора пользователей является проверяемой ресурсом. Роль назначена группе безопасности и отдельному пользователю.
- Предоставьте себе следующее делегированное разрешение:
AccessReview.ReadWrite.All
.
Примечание.
Объекты ответа, показанные в этом руководстве, могут быть сокращены для удобства чтения.
Шаг 1. Создание проверки доступа для назначений привилегированных ролей
В этом руководстве мы создадим повторяющуюся проверку доступа как активных , так и допустимых назначений роли администратора пользователей. AccessReviewScheduleDefinition можно использовать для определения проверки доступа нескольких типов субъектов (пользователей и групп или субъектов-служб) только к одной привилегированной роли. Чтобы проверить доступ к нескольким привилегированным ролям, создайте отдельные объекты accessReviewScheduleDefinition .
Следующее определение расписания проверки доступа имеет следующие параметры:
- Область проверки — это субъекты (свойство principalScopes) с доступом к ресурсу, указанному в свойстве resourceScopes. В этом случае субъектами являются группы и пользователи, а ресурс — роль администратора пользователей.
- Просматриваются как активные, так и допустимые назначения для ресурса роли администратора пользователей.
- Отдельный пользователь выбирается в качестве рецензента. В этом примере вы будете рецензентом.
- Утверждающий должен предоставить обоснование, прежде чем утвердить доступ к привилегированной роли.
- По умолчанию рецензенты
None
не отвечают на запрос на проверку доступа до истечения срока действия экземпляра. - параметр autoApplyDecisionsEnabled не задан и по умолчанию
false
— . В этом случае после завершения проверки решения не применяются автоматически, поэтому их необходимо применить вручную. - Проверка повторяется каждые три месяца в течение трех дней и не заканчивается.
Запрос
В следующем запросе замените f674a1c9-4a40-439c-bfa3-4b61a9f29d85
значением идентификатора пользователя. RoleDefinitionId fe930be7-5e62-47db-91af-98c3a49a38b1
— это глобальный идентификатор шаблона для роли администратора пользователя в Azure AD.
POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions
Content-type: application/json
{
"displayName": "Review access of users and groups to privileged roles",
"descriptionForAdmins": "Review access of users and groups to privileged roles",
"scope": {
"@odata.type": "#microsoft.graph.principalResourceMembershipsScope",
"principalScopes": [
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/users",
"queryType": "MicrosoftGraph"
},
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/groups",
"queryType": "MicrosoftGraph"
}
],
"resourceScopes": [
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/roleManagement/directory/roleDefinitions/fe930be7-5e62-47db-91af-98c3a49a38b1",
"queryType": "MicrosoftGraph"
}
]
},
"reviewers": [
{
"query": "/users/f674a1c9-4a40-439c-bfa3-4b61a9f29d85",
"queryType": "MicrosoftGraph"
}
],
"settings": {
"mailNotificationsEnabled": true,
"reminderNotificationsEnabled": true,
"justificationRequiredOnApproval": true,
"defaultDecisionEnabled": false,
"defaultDecision": "None",
"instanceDurationInDays": 3,
"recommendationsEnabled": false,
"recurrence": {
"pattern": {
"type": "absoluteMonthly",
"interval": 3
},
"range": {
"type": "noEnd",
"startDate": "2022-03-02"
}
}
}
}
Отклик
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identityGovernance/accessReviews/definitions/$entity",
"id": "57457d7c-af59-470c-ae71-aa72c657fe0f",
"displayName": "Review access of users and groups to privileged roles",
"createdDateTime": null,
"lastModifiedDateTime": null,
"status": "NotStarted",
"descriptionForAdmins": "Review access of users and groups to privileged roles",
"descriptionForReviewers": null,
"instanceEnumerationScope": null,
"createdBy": {
"id": "f674a1c9-4a40-439c-bfa3-4b61a9f29d85",
"displayName": "Alex Wilber",
"type": null,
"userPrincipalName": "AlexW@Contoso.com"
},
"scope": {
"@odata.type": "#microsoft.graph.principalResourceMembershipsScope",
"principalScopes": [
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/users",
"queryType": "MicrosoftGraph",
"queryRoot": null
},
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/groups",
"queryType": "MicrosoftGraph",
"queryRoot": null
}
],
"resourceScopes": [
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/roleManagement/directory/roleDefinitions/roleManagement/directory/roleDefinitions/fe930be7-5e62-47db-91af-98c3a49a38b1",
"queryType": "MicrosoftGraph",
"queryRoot": null
}
]
},
"reviewers": [
{
"query": "/users/f674a1c9-4a40-439c-bfa3-4b61a9f29d85",
"queryType": "MicrosoftGraph",
"queryRoot": null
}
],
"fallbackReviewers": [],
"settings": {
"mailNotificationsEnabled": true,
"reminderNotificationsEnabled": true,
"justificationRequiredOnApproval": true,
"defaultDecisionEnabled": false,
"defaultDecision": "None",
"instanceDurationInDays": 3,
"autoApplyDecisionsEnabled": false,
"recommendationsEnabled": false,
"recurrence": {
"pattern": {
"type": "absoluteMonthly",
"interval": 3,
"month": 0,
"dayOfMonth": 0,
"daysOfWeek": [],
"firstDayOfWeek": "sunday",
"index": "first"
},
"range": {
"type": "noEnd",
"numberOfOccurrences": 0,
"recurrenceTimeZone": null,
"startDate": "2022-03-02",
"endDate": null
}
},
"applyActions": []
},
"additionalNotificationRecipients": []
}
Шаг 2. Получение экземпляров проверки доступа
Каждый экземпляр проверки доступа представляет каждое повторение с каждым уникальным ресурсом , который находится на проверке. На шаге 1 в область определен только ресурс роли администратора пользователей. Так как вы определили повторяющуюся проверку доступа, идентификатор экземпляра отличается от идентификатора определения расписания на шаге 1.
Запрос
В следующем запросе замените 57457d7c-af59-470c-ae71-aa72c657fe0f
значением проверки доступа, созданной на шаге 1.
GET https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/57457d7c-af59-470c-ae71-aa72c657fe0f/instances
Отклик
В этом ответе объект экземпляра отображает дату окончания в виде трех дней после даты начала. этот период определен на шаге 1 в свойстве instanceDurationInDays объекта accessReviewScheduleDefinition . Возвращается только один экземпляр, представляющий первое повторение только одного проверяемого ресурса.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identityGovernance/accessReviews/definitions('57457d7c-af59-470c-ae71-aa72c657fe0f')/instances",
"@odata.count": 1,
"value": [
{
"id": "ad0dd148-5d16-4cfd-86e9-ab502f819aaf",
"startDateTime": "2022-03-02T15:31:14.607Z",
"endDateTime": "2022-03-05T15:31:14.607Z",
"status": "InProgress",
"scope": {
"@odata.type": "#microsoft.graph.principalResourceMembershipsScope",
"principalScopes": [
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/v1.0/users",
"queryType": "MicrosoftGraph",
"queryRoot": null
},
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/v1.0/groups",
"queryType": "MicrosoftGraph",
"queryRoot": null
}
],
"resourceScopes": [
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/beta/roleManagement/directory/roleDefinitions/fe930be7-5e62-47db-91af-98c3a49a38b1",
"queryType": "MicrosoftGraph",
"queryRoot": null
}
]
},
"reviewers": [
{
"query": "/v1.0/users/f674a1c9-4a40-439c-bfa3-4b61a9f29d85",
"queryType": "MicrosoftGraph",
"queryRoot": null
}
],
"fallbackReviewers": []
}
]
}
Состояние этого экземпляра проверки доступа — InProgress
. Состояние InProgress
означает, что экземпляр проверки открыт для рецензентов для отправки решений, а период для этого экземпляра проверки доступа не истек. Вы также получили уведомление по электронной почте от Microsoft Azure с просьбой выполнить проверку доступа.
Шаг 3. Получение решений о проверке доступа перед записью любых решений
Прежде чем вы сможете публиковать решения, давайте сначала просмотрим элементы, ожидающие вашего решения.
Запрос
В следующем запросе замените следующие значения:
57457d7c-af59-470c-ae71-aa72c657fe0f
со значением проверки доступа, созданной на шаге 1.ad0dd148-5d16-4cfd-86e9-ab502f819aaf
со значением экземпляра проверки доступа, для которого вы хотите получить решения.
GET https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/57457d7c-af59-470c-ae71-aa72c657fe0f/instances/ad0dd148-5d16-4cfd-86e9-ab502f819aaf/decisions
Отклик
В следующем ответе показаны два элемента решения, каждый из которых соответствует решению для доступа субъекта к ресурсу.
- Свойство principal показывает, что два участника имеют доступ к роли администратора пользователей — группа с именем ИТ-служба поддержки (Пользователь) и пользователь С именем Aline Dupuy.
- Значение
NotReviewed
свойства decision указывает, что рецензенты не проверяли и не публиковали свои решения. - Рекомендации недоступны, так как рекомендации не были включены в accessReviewScheduleDefinition на шаге 1.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identityGovernance/accessReviews/definitions('57457d7c-af59-470c-ae71-aa72c657fe0f')/instances('ad0dd148-5d16-4cfd-86e9-ab502f819aaf')/decisions",
"@odata.count": 2,
"value": [
{
"id": "4d79fbf6-36e6-430b-ba0a-2a727a480303",
"accessReviewId": "ad0dd148-5d16-4cfd-86e9-ab502f819aaf",
"reviewedDateTime": null,
"decision": "NotReviewed",
"justification": "",
"appliedDateTime": null,
"applyResult": "New",
"recommendation": "NoInfoAvailable",
"principalLink": "https://graph.microsoft.com/v1.0/users/339143ab-541e-484f-b017-e1707e962d34",
"resourceLink": "https://graph.microsoft.com/beta/roleManagement/directory/roleDefinitions/fe930be7-5e62-47db-91af-98c3a49a38b1",
"reviewedBy": {
"id": "00000000-0000-0000-0000-000000000000",
"displayName": "",
"type": null,
"userPrincipalName": ""
},
"appliedBy": {
"id": "00000000-0000-0000-0000-000000000000",
"displayName": "",
"type": null,
"userPrincipalName": ""
},
"resource": {
"id": "fe930be7-5e62-47db-91af-98c3a49a38b1",
"displayName": "User Administrator",
"type": "directoryRole"
},
"principal": {
"@odata.type": "#microsoft.graph.userIdentity",
"id": "339143ab-541e-484f-b017-e1707e962d34",
"displayName": "Aline Dupuy",
"type": "user",
"userPrincipalName": "AlineD@Contoso.com",
"lastUserSignInDateTime": ""
}
},
{
"id": "62fd1c5b-04b8-4703-9fd7-dce6232c3775",
"accessReviewId": "ad0dd148-5d16-4cfd-86e9-ab502f819aaf",
"reviewedDateTime": null,
"decision": "NotReviewed",
"justification": "",
"appliedDateTime": null,
"applyResult": "New",
"recommendation": "NoInfoAvailable",
"principalLink": "https://graph.microsoft.com/v1.0/groups/b5260fca-6d64-4d5a-92df-0c482d40bc4d",
"resourceLink": "https://graph.microsoft.com/beta/roleManagement/directory/roleDefinitions/fe930be7-5e62-47db-91af-98c3a49a38b1",
"reviewedBy": {
"id": "00000000-0000-0000-0000-000000000000",
"displayName": "",
"type": null,
"userPrincipalName": ""
},
"appliedBy": {
"id": "00000000-0000-0000-0000-000000000000",
"displayName": "",
"type": null,
"userPrincipalName": ""
},
"resource": {
"id": "fe930be7-5e62-47db-91af-98c3a49a38b1",
"displayName": "User Administrator",
"type": "directoryRole"
},
"principal": {
"id": "b5260fca-6d64-4d5a-92df-0c482d40bc4d",
"displayName": "IT Helpdesk (User)",
"type": "group"
}
}
]
}
Рецензент теперь может отправлять решения для экземпляра проверки доступа.
Шаг 4. Запись решений
Теперь вы запишите решения для проверки доступа.
Политика компании требует, чтобы доступ к привилегированным ролям предоставлялся только группам, а не отдельным пользователям. В соответствии с политикой компании вы откажетесь в доступе Клин Дюпюи при утверждении доступа для группы.
В следующих запросах замените следующие значения:
57457d7c-af59-470c-ae71-aa72c657fe0f
со значением проверки доступа, созданной на шаге 1.ad0dd148-5d16-4cfd-86e9-ab502f819aaf
со значением экземпляра проверки доступа, для которого вы хотите получить решения4d79fbf6-36e6-430b-ba0a-2a727a480303
со значением экземпляра проверки доступа, ограниченного доступом Aline62fd1c5b-04b8-4703-9fd7-dce6232c3775
со значением экземпляра проверки доступа, ограниченного доступом к группе ИТ-службы технической поддержки.
Утверждение назначения ролей группы безопасности
Запрос
В следующем запросе вы утверждаете доступ к группе ИТ-службы технической поддержки.
POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/57457d7c-af59-470c-ae71-aa72c657fe0f/instances/ad0dd148-5d16-4cfd-86e9-ab502f819aaf/decisions/62fd1c5b-04b8-4703-9fd7-dce6232c3775
Content-type: application/json
{
"decision": "Approve",
"justification": "The IT Helpdesk requires continued access to the User Administrator role to manage user account support requests, lifecycle, and access to resources"
}
Отклик
HTTP/1.1 204 No Content
Запретить отдельному пользователю назначение ролей
Запрос
В следующем запросе вы отклоните доступ для Aline Dupuy.
POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/57457d7c-af59-470c-ae71-aa72c657fe0f/instances/ad0dd148-5d16-4cfd-86e9-ab502f819aaf/decisions/4d79fbf6-36e6-430b-ba0a-2a727a480303
Content-type: application/json
{
"decision": "Deny",
"justification": "Aline Dupuy should join an allowed group to maintain access to the User Administrator role. For more details, refer to the company policy '#132487: Privileged roles'"
}
Отклик
HTTP/1.1 204 No Content
При получении решений о проверке доступа (повтор шага 3) они имеют следующие параметры:
- Решение о проверке доступа для группы ИТ-службы поддержки имеет значение
Approve
, а для Aline —Deny
. - Объект reviewedBy содержит сведения в качестве рецензента.
- ApplyResult означает
New
, что решения не были применены.
Хотя вы записали все ожидающие решения для этого экземпляра, решения не были применены к ресурсам и основным объектам. Например, Aline по-прежнему имеет доступ к привилегированной роли. Это назначение можно проверить, выполнив следующий запрос https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments?$filter=roleDefinitionId eq 'fe930be7-5e62-47db-91af-98c3a49a38b1'
. Это связано с тем, что для параметра autoApplyDecisionsEnabled задано значение false
, вы не остановили проверку, а период экземпляра не закончился.
В этом руководстве вы не будете останавливать экземпляр вручную, но позволите ему автоматически завершить работу, а затем применить решения.
Совет
- Пока состояние экземпляра проверки доступа не помечается как
Completed
, решения по-прежнему можно изменить. Повторно выполните шаг 4, чтобы применить различные решения для субъектов. - Вы также можете вручную остановить экземпляр проверки доступа, чтобы ускорить ход выполнения шага 5.
Шаг 5. Применение решений по проверке доступа
Как администратор, после того как состояние экземпляра проверки доступа будет установлено в Completed
, вы можете применить решения.
Запрос
POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/57457d7c-af59-470c-ae71-aa72c657fe0f/instances/ad0dd148-5d16-4cfd-86e9-ab502f819aaf/applyDecisions
Отклик
HTTP/1.1 204 No Content
Теперь Aline потеряла доступ к роли администратора пользователей, а группа ИТ-службы поддержки сохранила свой доступ. Это состояние назначения ролей можно проверить, выполнив следующий запрос GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments?$filter=roleDefinitionId eq 'fe930be7-5e62-47db-91af-98c3a49a38b1'
.
Проверки доступа будут автоматически применять решения по истечении срока действия экземпляра или вы можете применить решения вручную, выполнив следующий запрос: POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/57457d7c-af59-470c-ae71-aa72c657fe0f/instances/ad0dd148-5d16-4cfd-86e9-ab502f819aaf/applydecisions
.
После применения решений состояние экземпляра проверки доступа будет иметь значениеApplied
. Кроме того, так как мы создали повторяющуюся проверку доступа на шаге 1, будет запущен новый экземпляр. Его дата начала будет составлять три месяца с момента, когда текущий период проверки будет помечен как закончившийся.
Шаг 6. Получение определений журнала проверки доступа
Аудиторы Contoso также хотят просмотреть журнал проверок доступа за последний квартал. В этом примере вы создадите отчет журнала проверки доступа для всех объектов accessReviewScheduleDefinition , ограниченных назначениями ролей каталога (roleAssignmentScheduleInstances). В этом запросе свойство decisions пусто и, следовательно, по умолчанию включает все решения в отчет журнала.
Сначала определите область отчета журнала. Затем создается универсальный код ресурса (URI) для скачивания, который аудиторы будут использовать для скачивания отчета. URI для скачивания активен всего 24 часа. Таким образом, после истечения срока действия можно повторно создать другой URI загрузки из ранее определенного отчета журнала.
Определение область данных журнала проверки доступа
В следующем запросе пустой объект decisions означает, что все решения, связанные с область проверки доступа, будут включены в отчет журнала.
Запрос
POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/historyDefinitions
{
"displayName": "Last quarter's access reviews for privileged roles - User Administrator",
"decisions": [],
"reviewHistoryPeriodStartDateTime": "2022-03-01T00:00:00Z",
"reviewHistoryPeriodEndDateTime": "9999-12-31T00:00:00Z",
"scopes": [
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"queryType": "MicrosoftGraph",
"query": "/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, 'roleAssignmentScheduleInstances')"
}
]
}
Отклик
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identityGovernance/accessReviews/historyDefinitions/$entity",
"id": "17ecffa9-e60d-4b6d-9313-78b50860bbcd",
"displayName": "Last quarter's access reviews for privileged roles - User Administrator",
"reviewHistoryPeriodStartDateTime": "2022-03-01T00:00:00Z",
"reviewHistoryPeriodEndDateTime": "9999-12-31T00:00:00Z",
"decisions": [
"approve",
"deny",
"dontKnow",
"notReviewed",
"notNotified"
],
"status": "requested",
"createdDateTime": "2022-09-29T12:22:57.9953455Z",
"createdBy": {
"id": "10a08e2e-3ea2-4ce0-80cb-d5fdd4b05ea6",
"displayName": "MOD Administrator",
"type": null,
"userPrincipalName": "admin@M365x43961174.onmicrosoft.com"
},
"scopes": [
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, 'roleAssignmentScheduleInstances')",
"queryType": "MicrosoftGraph",
"queryRoot": null
}
]
}
Получение экземпляров журнала проверки доступа
Запрос
POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/historyDefinitions/983db508-b77b-427d-ab90-a4041efa658d/instances
Отклик
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identityGovernance/accessReviews/historyDefinitions('17ecffa9-e60d-4b6d-9313-78b50860bbcd')/instances",
"value": [
{
"id": "17ecffa9-e60d-4b6d-9313-78b50860bbcd",
"reviewHistoryPeriodStartDateTime": "2022-03-01T00:00:00Z",
"reviewHistoryPeriodEndDateTime": "9999-12-31T00:00:00Z",
"status": "inprogress",
"runDateTime": "2022-09-29T12:22:57.9953455Z",
"fulfilledDateTime": null,
"downloadUri": null
}
]
}
Создайте ссылку для скачивания отчета журнала из экземпляра журнала проверки доступа
Запрос
POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/historyDefinitions/57457d7c-af59-470c-ae71-aa72c657fe0f/instances/983db508-b77b-427d-ab90-a4041efa658d/generateDownloadUri()
Отклик
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#accessReviewHistoryInstance",
"@odata.type": "#microsoft.graph.accessReviewHistoryInstance",
"id": "17ecffa9-e60d-4b6d-9313-78b50860bbcd",
"reviewHistoryPeriodStartDateTime": "2022-03-01T00:00:00Z",
"reviewHistoryPeriodEndDateTime": "9999-12-31T00:00:00Z",
"status": "done",
"runDateTime": "2022-09-29T12:22:57.9953455Z",
"fulfilledDateTime": "2022-09-29T12:24:08.1146032Z",
"downloadUri": "https://ermconsolreportweu.blob.core.windows.net/erm-reports/Last quarter's access reviews for privileged roles - User Administrator-17ecffa9-e60d-4b6d-9313-78b50860bbcd.csv?skoid=4ad0868b-7b78-4869-abb7-8f29151d8428&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skt=2022-09-29T12:24:56Z&ske=2022-09-29T12:26:56Z&sks=b&skv=2020-04-08&sv=2020-04-08&st=2022-09-29T12:24:56Z&se=2022-09-30T12:24:56Z&sr=b&sp=r&sig=ivZ9B%2BQragSwvOd8J2g8ny9n4sqdzww9uVkl96uo1k4%3D"
}
Свойство downloadUri содержит ссылку для скачивания отчета журнала в формате файла Excel. Эта ссылка активна всего 24 часа.
Шаг 7. Очистка ресурсов
Удалите объект accessReviewScheduleDefinition , созданный для этого руководства. Так как определение расписания проверки доступа является схемой проверки доступа, удаление определения приведет к удалению параметров, экземпляров и решений.
Запрос
DELETE https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/57457d7c-af59-470c-ae71-aa72c657fe0f
Отклик
HTTP/1.1 204 No Content
Заключение
Вы узнали, как проверить доступ к привилегированным ролям в Azure AD и создать отчет журнала аудита доступа для отчетов о соответствии требованиям. Ваша организация может использовать API проверок доступа для постоянного управления привилегированным доступом к ресурсам, включая роли Azure AD и роли ресурсов Azure. Помимо пользователей и групп, можно также проверить доступ приложений и субъектов-служб к привилегированным ролям.