Переведено ИИ. Сообщество еще не проверило перевод. Читать на английском

Блог · 19 октября 2023 г. · Steve Simpson · Безопасность

Активация сеанса в наборах разрешений и группах наборов разрешений

Добро пожаловать в новую часть нашей серии о безопасности. Сегодня мы подробно разберем тонкости активации сеанса для наборов разрешений и групп наборов разрешений. Прочитав статью, вы будете хорошо понимать, что означает «session activation required» и как эффективно этим пользоваться.

Зачем нужна активация сеанса?

Наборы разрешений и группы наборов разрешений — важнейшие конструкции для предоставления возможностей пользователям. Одна из интересных их особенностей — флажок «Session Activation Required». Он позволяет назначить пользователю набор разрешений или группу, но они активируются только при определенном действии.

Представьте сценарий: Вы хотите дать разрешения на ресурс, но только при определенных условиях.

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

Давайте посмотрим демонстрацию

Схема: группа наборов разрешений пилота Paul плюс набор разрешений Runway View, который добавляется только при активации сеанса

Возьмем для примера нашего пилота Paul. Мы даем Paul набор разрешений с доступом «только для просмотра» к сведениям об аэропортах и навигации. В одном из прошлых видео мы показали, как с помощью группы с отключением отключить определенное поле. Теперь мы добавим новый набор разрешений с доступом к объекту «Runway». Этот доступ станет виден только после активации набора разрешений. Так что если Paul не в самолете, доступа к сведениям о взлетно-посадочных полосах у него нет.

Снимок экрана: набор разрешений, разрешающий доступ к взлетно-посадочным полосам только в аэропорту, с отмеченным флажком Session Activation Required

Когда активация сеанса не действует, Paul видит две вкладки: «OA Airports» и «OA Nav». Вкладка «OA Runways» недоступна.

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

Код Apex: добавляет набор разрешений на основе сеанса в сеанс текущего пользователя, создавая запись SessionPermSetActivation

Вот краткое описание процесса:

  1. Набор разрешений «STA Runway Sessions Allowed» создается с отмеченным флажком «Session Activation Required».
  2. Это разрешение дает доступ к объекту Runway и всем его полям.
  3. Набор разрешений назначен Paul, но остается неактивным, пока не выполнится наш специальный код.
  4. После выполнения в сеансе Paul появляется вкладка «OA Runways», которая дает ему доступ к списку доступных взлетно-посадочных полос.

Эта динамическая возможность показывает, как активация сеанса может временно повысить чьи-то разрешения.

При следующем входе Paul возвращается к исходным уровням доступа, без дополнительных разрешений для взлетно-посадочных полос.

Подведем итоги

Session Activation Required — мощный инструмент, особенно когда нужно дать временно повышенный доступ при определенных условиях. Главное — решить, когда и как запускать активацию.

Возможностей много: от активации по местоположению (например, нахождение в самолете) до активации по событиям.

Следите за новостями

Спасибо, что были с нами. Помните: безопасность превыше всего, а понимание безопасности на уровне полей помогает сохранять данные Salesforce конфиденциальными и в правильных руках.

Следите за новостями здесь, на www.SteveTechArc.com, и на YouTube-канале @SteveTechArc (opens in a new tab).

Помогаем менять мир, делясь идеями с коллегами-архитекторами и теми, кто идет по пути к профессии архитектора!

Желаю вам безопасного и эффективного управления пользователями!

Расшифровка сделана с помощью ИИ

STA 4.4