OIM 12cPS4 Workshop v.1.0 1 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru LAB #8. Author: oleg.faynitskiy@oracle.com (http://www.easyoraidm.ru) Identity Audit (Segregation of Duties – контроль разделения полномочий) Segregation Of Duties (SOD) – концепция разделения полномочий, когда не все полномочия (учетные записи, роли, права доступа) могут быть назначены одновременно. Некоторые комбинации ролей и прав доступа «токсичны» и могут привести к злоупотреблениям, необходимо: - предотвратить назначение несовместимых полномочий (превентивный SOD); - отслеживать уже назначенный несовместимый доступ (детективный SOD). В OIM существует несколько способов работы с SOD. Первый способ – работа с SOD Invocation Library (SIL-based SOD), которые встраиваются в процесс предоставления доступа (Provisioning Process) и перенаправляют запросы на проверку SOD в другие системы – Oracle Application Access Control Governor (OAACG) в случае, если целевая система – Oracle e-Business Suite, и SAP GRC, если целевая система – SAP. Мы не будем рассматривать эту разновидность SOD. Второй способ работы с SOD – функциональность Identity Audit, которая появилась в OIM11gPS3 и улучшена в текущем релизе. Identity Audit позволяет реализовать как превентивный SOD (проверка осуществляется при создании запроса на предоставление / изменение доступа, в процессе согласования), так и детективный SOD (проверка запускается через задачи сканирования). Примерная схема SOD в контексте Identity Auditor показана на рисунке ниже. Ядром SOD являются правила (Identity Audit Rules), которые определяют ситуацию с возможным нарушением, правила позволяют оценить атрибуты пользователя и назначенный доступ, позволяют выполнить как моносистемный, так и кроссистемный SOD. Одно или более SOD-правил образуют SOD-политики. Одна или более SOD- OIM 12cPS4 Workshop v.1.0 2 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru политик может составлять SOD-скан, задачу, выполняющую SOD политики на некоторой определенной базе пользователей, результаты выполнения этой задачи – выявленные SOD-нарушения (Violations). SOD-нарушения как правило требуют разбора, так как система не может автоматически определить, какие роли и права доступа необходимо отозвать, чтобы убрать нарушение. При разборе SOD-нарушения можно создать запрос на удаление прав доступа, или же принять риск, связанный с несовместимым доступом. Аналогичная ситуация и с превентивным SOD. Если запрашивающий права доступа и согласующий видят SODнарушение, это еще не означает, что эти права не могут быть назначены. Могут. Но необходимо вовремя их отобрать – это можно сделать через сканы детективного SOD-а, а также через процессы сертификации доступа. В последнем случае в игру вступает фактор риска, пользователи с наличием нарушений будут обладать большим значением риска и будут видны в процессах сертификации доступа. В этой работе мы настроим Identity Audit – правила, политики и сканы, рассмотрим превентивный и детективный SOD. Также мы коснемся вопроса области видимости прав доступа в каталоге и динамического членства в организациях. 1. Настройка Identity Audit. Настроим правила, политики и сканы. Создаваемые правила будут говорить, что пользователь не должен одновременно входить в группу Benefits и Advertising в AD. 1.1. Настройте правило Benefits & Advertising. SOD-правила группируют условия с оператором OR или AND. Выполнение правила означает наличие SOD-конфликта. 1.1.1. Прежде чем перейти к настройке самого правила, зайдите в приложение Identity под пользователем XELSYSADM, перейдите на закладку Compliance, убедитесь, что вы видите раздел Identity Audit. 1.1.2. Нажмите на Identity Audit и из контекстного меню выберите Configuration. Здесь вы можете указать основные параметры. Обратите внимание, что вы можете указать SOA- OIM 12cPS4 Workshop v.1.0 3 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru композит, который будет использоваться для разбора SOD-нарушений. Мы будем использовать SOA-процесс по умолчанию, поэтому ничего не меняйте, просто вернитесь в Home и выберите Identity Audit -> Rules. 1.1.3. В разделе Rules будут ваши SOD-правила. Нажмите Create для создания нового SOD-правила. 1.1.4. Укажите наименование и описание правила (Advertising & Benefits Rule), убедитесь, что статус – Enabled. OIM 12cPS4 Workshop v.1.0 4 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 1.1.5. Внизу в Condition Builder в левой части нажмите “<>”, чтобы выбрать условие через конструктор (альтернатива – вы можете просто указать текст правила). Выберите: Application -> AD -> appInstance -> AD -> account -> * (Any) -> groups for AD -> * (Any) -> Group Name (текст правила будет выглядеть так: appType[AD].appInstance[AD].account[*].UD_GROUPS[*].Group Name). Нажмите ОК. 1.1.6. В правой части укажите значение Advertising, как показано на экране ниже. OIM 12cPS4 Workshop v.1.0 5 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 1.1.7. Нажмите Add Condition, чтобы добавить условие. Скопируйте текст правила на этот раз без конструктора - appType[AD].appInstance[AD].account[*].UD_GROUPS[*].Group Name, в качестве значения укажите Benefits. Убедитесь, что оператор между двумя правилами – AND. 1.1.8. Нажмите Create, чтобы создать правило. Убедитесь, что правило было успешно создано и вы видите его в списке. 1.2. Создайте SOD-политику Advertising & Benefits Policy. SOD-политика группирует одно или более правил, определяет, кто в процессе по умолчанию должен заниматься разбором выявленных нарушений, а также должна ли OIM 12cPS4 Workshop v.1.0 6 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru политика выполняться в превентивном режиме или только в детективном. Все политики могут выполняться в детективном режиме (если созданы соответствующие сканы), для выполнения в превентивном режиме необходимо установить признак “Evaluate During Requests”. 1.2.1. Перейдите Identity Auditor -> Policies. Нажмите Create для создания новой SODполитики. 1.2.2. Укажите наименование и описание политики (Advertising & Benefits Policy), укажите статус Enabled, укажите признак “Enable during Requests”, установите Remediator = Manager (разбирать SOD-нарушения будет менеджер сотрудника). 1.2.3. Ниже в списках правил добавьте правило Advertising & Benefits Rule. Вы можете добавить более одного правила на политику, выполнение любого из правил приведет к созданию SOD-нарушения согласно этой политике. OIM 12cPS4 Workshop v.1.0 7 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 1.2.4. Убедитесь, что правило было успешно установлено и нажмите Create для создания политики. 1.2.5. Убедитесь, что политика была успешно создана и что вы видите политику в списке, как показано на экране ниже. OIM 12cPS4 Workshop v.1.0 8 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 1.3. Создайте определение задачи сканирования (Scan Definition) Задача сканирования применяют одну или более политик на определенном наборе пользователей и формируют SOD-нарушения, требующие разбора. Задачи сканирования могут быть запущены вручную или по расписанию (через механизм Scheduler), или же по событию через API. При создании задачи сканирования автоматически создается соответствующая задача по расписанию с префиксом IdentityAudit_. 1.3.1. Перейдите Identity Audit -> Scan Definitions и нажмите Create для создания новой задачи сканирования. 1.3.2. Запустится мастер создания задачи сканирования. На первом шаге мастера укажите наименование и описание (Advertising & Benefits Scan) и нажмите Next. OIM 12cPS4 Workshop v.1.0 9 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 1.3.3. На следующем шаге укажите критерий выбора политики (Selected Policies), добавьте созданную ранее SOD-политику Advertising & Benefits Policy. 1.3.4. Убедитесь, что политика отображена в списке и нажмите Next. OIM 12cPS4 Workshop v.1.0 10 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 1.3.5. Base Selection – определение набора пользователей, на которых будут применены политики. Выберите All Users и нажмите Next. 1.3.6. На следующем шаге ничего не меняйте в конфигурации задачи сканирования и нажмите Next. OIM 12cPS4 Workshop v.1.0 11 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 1.3.7. Просмотрите информацию о создаваемой задачи сканирования и нажмите Finish для завершения мастера. 1.3.8. Убедитесь, что задача сканирования была успешно создана и вы видите ее в списке, как показано на экране ниже. OIM 12cPS4 Workshop v.1.0 12 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 1.3.9. Перейдите в Sysadmin -> Scheduler, найдите задачи по фильтру IdentityAud*, убедитесь, что вы видите задачу IdentityAudit_Advertising & Benefits Scan, которая была автоматически создана системой. Вернитесь в Scan Definitions. 1.4. Запустите задачу сканирования. Задача сканирования управляется задачей по расписанию может быть запущена вручную, по расписанию или по событию (через API). Мы продемонстрируем ручной запуск задачи сканирования. 1.4.1. В Scan Definitions выделите задачу сканирования Advertising & Benefits Scan и запустите ее, нажав Run Now. OIM 12cPS4 Workshop v.1.0 13 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 1.4.2. Нажмите Refresh и после того, как вы увидите «1» под Scan Runs нажмите View Scans, как показано на экране ниже. 1.4.3. Вы перейдете на страницы выполненных задач сканирования. Убедитесь, что задача сканирования была завершена и что она выявила одно нарушение. 1.4.4. Откройте нарушения и убедитесь, что присутствует нарушение для пользователя Vyacheslav Alexandrov. OIM 12cPS4 Workshop v.1.0 14 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 1.4.5. Откройте нарушение и просмотрите его атрибуты. Обратите внимание, что вы как администратор можете разобрать нарушение (активна кнопка Complete). 1.4.6. Просмотрите внизу Access Details. Вы увидите несовместимые права доступа в соответствии с созданной политикой. Ref: Вы можете выполнить следующие действия с правами доступа, нарушающими SODполитику: - урегулировать (Remediate – создастся запрос на отзыв соответствующего права доступа); - закрыть как исправленное (Close as Fixed – в случае, если конфликт будет найден при следующем запуске сканирования, нарушающее политику право доступа снова будет в состоянии Active); - закрыть с принятием риска (Close as Risk Accepted – вы принимаете риск на определенное время и в дальнейшем в случае обнаружения этого нарушения, статус нарушающего права доступа будет как Risk Accepted). OIM 12cPS4 Workshop v.1.0 15 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 1.4.7. Выберите право доступа Benefits… и выберите из меню Close -> Close as Risk Accepted. 1.4.8. Укажите дату (после этой даты нарушающее право доступа опять перейдет в статус Active) и комментарий, нажмите Submit. 1.4.9. Нажмите Complete для завершения разбора SOD-нарушения администратором. OIM 12cPS4 Workshop v.1.0 16 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 2. Превентивный SOD. В рамках Identity Audit превентивный SOD выполняется в рамках создания запросов и согласования (а также при создании роли). Он является опциональным (информативным) и вы можете все равно назначить несовместимые полномочия. 2.1. Включение пользователя в дополнительную организацию. Ранее мы настраивали, что права доступа Benefits Share Read / Write и Advertising Share Read / Write публикуются соответственно в организациях Benefits и Advertising. Поэтому пользователь должен входить в соответствующие организации, чтобы увидеть их в каталоге доступа. 2.1.1. Зайдите пользователем IIGOREV в приложение Identity, перейдите в Мои права доступа, права доступа, как показано ниже (для демонстрационных целей мы покажем интерфейс на русском языке). Нажмите Запрос для запроса нового права доступа. 2.1.2. Запустите поиск по слову Advertising. Убедитесь, что вы не нашли прав доступа Advertising Share Read / Write. Необходимо включить пользователя дополнительно в организацию Advertising. OIM 12cPS4 Workshop v.1.0 17 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 2.1.3. Откройте под пользователем XELSYSADM Manage -> Organizations, найдите организацию Advertising. 2.1.4. Откройте организацию Advertising. OIM 12cPS4 Workshop v.1.0 18 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 2.1.5. Перейдите в раздел Members. Пользователь может входить в одну организацию статически 9указывается в профиле пользователя) и в многие организации динамически. Динамическое членство в организации выполняется на основе правил. 2.1.6. Нажмите Add Rule для создания нового правила членства в организации Advertising. В конструкторе правил укажите, что пользователь с Display Name = Igor Igorev должен входить в эту организацию (выберите атрибут, Add, укажите значение, Save). OIM 12cPS4 Workshop v.1.0 19 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 2.1.7. Убедитесь, что правило назначено, как показано на экране ниже. Нажмите Apply and Evaluate. Нажмите Refresh на списке пользователей и убедитесь, что там отображен пользователь IIGOREV. 2.1.8. Перейдите в профиль пользователя IIGOREV, на закладку Organizations и убедитесь, что у него установлена организация Advertising как Dynamic Organization. OIM 12cPS4 Workshop v.1.0 20 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 2.2. Запрос и согласования доступа с SOD-нарушением. 2.2.1. Вернитесь в браузер под пользователем IIGOREV, повторите поиск прав доступа с названием Advertising. Выберите Advertising Share Read, добавьте в корзину. Нажмите Далее. 2.2.2. Нажмите Отправить для создания запроса, как показано ниже. OIM 12cPS4 Workshop v.1.0 21 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 2.2.3. Убедитесь, что вы видите предупреждающее сообщение о нарушении политики, как показано на экране ниже. 2.2.4. Нажмите на предупреждающее сообщение, просмотрите, какие права нарушают созданную вами политику. OIM 12cPS4 Workshop v.1.0 22 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 2.2.6. Нажмите Отправить с нарушениями, чтобы создать запрос, несмотря на наличие SOD-нарушений. 2.2.7. Зайдите в приложение Identity под пользователем OFAYNITSKIY (менеджер пользователя IIGOREV). Убедитесь, что вы видите назначенную активную задачу согласования. OIM 12cPS4 Workshop v.1.0 23 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 2.2.8. Перейдите в Pending Approvals, убедитесь, что вы видите задачу согласования Beneficiary manager approval for Request ID… 2.2.9. Откройте эту задачу. Убедитесь, что вы видите предупреждающее сообщение о SOD-нарушениях в запросе. 2.2.10. Откройте нарушения и убедитесь, что вы видите список конфликтующих прав доступа с указанием соответствующей политики. OIM 12cPS4 Workshop v.1.0 24 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 2.2.11. Нажмите Approve, чтобы согласовать запрос несмотря на наличие в нем SODнарушений. 2.2.12. В профиле пользователя IIGOREV обновите список прав доступа и убедитесь, что присутствует группа Advertising Share Read. 2.3. Детективный SOD-анализ. 2.3.1. Перейдите под пользователем XELSYSADM в приложении Identity в раздел Compliance, найдите созданную ранее задачу сканирования Advertising & Benefits Scan, нажмите Run Now. OIM 12cPS4 Workshop v.1.0 25 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 2.3.2. Нажмите View Scans для просмотра результатов сканирования. Убедитесь, что задача нашла два нарушения (для двух пользователей). 2.3.3. В Policy Violations убедитесь, что вы видите нарушение для пользователя IIGOREV, как показано ниже. 2.3.4. Откройте нарушение для пользователя IIGOREV, убедитесь, что нарушение назначено пользователю Oleg Faynitskiy. OIM 12cPS4 Workshop v.1.0 26 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 2.4. Разбор SOD-нарушения. 2.4.1. Зайдите в приложение Identity пользователем OFAYNITSKIY. Убедитесь, что вы видите 2 нарушения для разбора в Pending Violations. 2.4.2. Перейдите в Pending Violations и убедитесь, что вы видите два нарушения для разбора. OIM 12cPS4 Workshop v.1.0 27 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 2.4.3. Откройте нарушение для пользователя IIGOREV. 2.4.4. В разделе Access Details убедитесь, что вы видите конфликтующие права доступа, как показано ниже. Выделите право доступа Advertising Share Read и нажмите Remediate. 2.4.5. Укажите комментарии для урегулирования нарушения и отзыва (будет создан запрос на отзыв права доступа) права доступа. OIM 12cPS4 Workshop v.1.0 28 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 2.4.6. Убедитесь, что статус права доступа поменялся. Действия с другими правами доступа выполнять необязательно. 2.4.7. Перейдите в раздел Action History, чтобы просмотреть историю действия с нарушением. Нажмите Complete для завершения разбора нарушения. OIM 12cPS4 Workshop v.1.0 29 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 2.4.8. Обновите список активных нарушений, убедитесь, что вы видите только одно нарушение. 2.4.9. Перейдите в активное нарушение для пользователя VALEXANDROV. Убедитесь, что в Action History вы видите ранее указанное администратором действие Risk Accepted для права доступа Benefits Share Read. 2.4.10. Вернитесь в Access Details и примите риск для права доступа Advertising Share Read, убедитесь, что статус нарушающих политику прав доступа изменился. Нажмите Complete. OIM 12cPS4 Workshop v.1.0 30 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 2.4.11. Обновите список нарушений и убедитесь, что активные нарушения отсутствуют, как показано на экране ниже. 2.5. Урегулирование SOD-нарушение – согласование запроса. При урегулировании SOD-нарушения через Remediate создается запрос на отзыв соответствующего права доступа. Процесс согласования по умолчанию (а на операцию Revoke Entitlement мы не выбирали процесса) подразумевает согласование системным администратором – XELSYSADM. 2.5.1. Пользователем OFAYNITSKIY перейдите в Track Requests, убедитесь, что вы видите запрос типа Revoke Entitlement в статусе Request Awaiting Approval, как показано на экране ниже. 2.5.2. Откройте этот запрос, перейдите в Approval Details и убедитесь, что задача согласования назначена на встроенную в OIM роль SYSTEM ADMINISTRATORS. OIM 12cPS4 Workshop v.1.0 31 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 2.5.3. Зайдите в приложение Identity пользователем XELSYSADM, перейдите в Pending Approvals и убедитесь, что вы видите назначенную задачу согласования Default operational level approval for Request ID…, как показано ниже. 2.5.4. Согласуйте этот запрос, выбрав из меню Actions -> Approve, как показано на экране ниже. 2.5.5. Убедитесь, что запрос был успешно согласован и вы видите подтверждающее сообщение. OIM 12cPS4 Workshop v.1.0 32 oleg.faynitskiy@oracle.com, http://www.easyoraidm.ru 2.5.6. Вернитесь в Мои права доступа под пользователем IIGOREV и убедитесь, что право Advertising Share Read было успешно отозвано. Заключение. Итак, в этой работе мы рассмотрели принципы разделения полномочий (Segregation Of Duties) в контексте Identity Audit, когда SOD-правила и политики ведутся внутри самого OIM. Мы продемонстрировали превентивный и детективный SOD, а также динамическое членство в организациях.