Контроль доступа на основе ролей для клиентов Service Fabric

Платформа Azure Service Fabric поддерживает два разных типа контроля доступа для клиентов, подключенных к кластеру Service Fabric: администраторский и пользовательский. Благодаря контролю доступа администратор кластера может ограничить доступ разных групп пользователей на выполнение определенных операций в кластере, повысив тем самым уровень безопасности кластера.

Администраторы имеют полный доступ к возможностям управления (включая возможности чтения и записи). По умолчанию пользователи имеют доступ только на чтение к функциям управления (например, при работе с запросами) и возможность разрешения приложений и служб.

Во время создания кластера задаются две клиентские роли (администратора или клиента) путем предоставления отдельных сертификатов для каждой из них. Сведения о настройке защищенного кластера Service Fabric см. в статье Защита кластера Service Fabric.

Параметры контроля доступа по умолчанию

Тип контроля доступа администратора предусматривает полный доступ ко всем API-интерфейсам FabricClient. Вы можете выполнять любые операции чтения и записи в кластере Service Fabric, включая следующие.

Операции с приложением и службой

  • CreateService: создание службы.
  • CreateServiceFromTemplate: создание службы из шаблона.
  • UpdateService: обновления службы.
  • DeleteService: удаление службы.
  • ProvisionApplicationType: подготовка типа приложения.
  • CreateApplication: создание приложения.
  • DeleteApplication: удаление приложения.
  • UpgradeApplication: запуск или прерывание обновлений приложения.
  • UnprovisionApplicationType: отмена подготовки типа приложения.
  • MoveNextUpgradeDomain: возобновление обновлений приложения с помощью явно указанного домена обновления.
  • ReportUpgradeHealth: возобновление обновлений приложения с помощью текущего процесса обновления.
  • ReportHealth: сообщение о работоспособности.
  • PredeployPackageToNode: API предварительного развертывания.
  • CodePackageControl: перезапуск пакетов кода.
  • RecoverPartition: восстановление секции.
  • RecoverPartitions: восстановление секций.
  • RecoverServicePartitions: восстановление секций службы.
  • RecoverSystemPartitions: восстановление секций системной службы.

Операции с кластером

  • ProvisionFabric: подготовка MSI и (или) манифеста кластера.
  • UpgradeFabric: запуск обновлений кластера.
  • UnprovisionFabric: отмена подготовки MSI и (или) манифеста кластера.
  • MoveNextFabricUpgradeDomain: возобновление обновлений кластера с помощью явно указанного домена обновления.
  • ReportFabricUpgradeHealth: возобновление обновлений кластера с помощью текущего процесса обновления.
  • StartInfrastructureTask: запуск задач инфраструктуры.
  • FinishInfrastructureTask: завершение задач инфраструктуры.
  • InvokeInfrastructureCommand: команды управления задачами инфраструктуры.
  • ActivateNode: активация узла.
  • DeactivateNode: деактивация узла.
  • DeactivateNodesBatch: деактивация нескольких узлов.
  • RemoveNodeDeactivations: отмена деактивации нескольких узлов.
  • GetNodeDeactivationStatus: проверка состояния деактивации.
  • NodeStateRemoved: сообщение об удалении узла.
  • ReportFault: сообщение об ошибке.
  • FileContent: передача клиентского файла хранилища образов (вне кластера).
  • FileDownload: инициация скачивания клиентского файла хранилища образов (вне кластера).
  • InternalList: операция вывода списка клиентских файлов хранилища образов (внутренняя).
  • Delete: операция удаления клиента хранилища образов.
  • Upload: операция передачи клиента хранилища образов.
  • NodeControl: запуск, остановка и перезапуск узлов.
  • MoveReplicaControl: перемещение реплик с одного узла на другой.

Прочие операции

  • Ping: проверка связи клиента.
  • Query: разрешены все запросы.
  • NameExists: проверки существования универсальных кодов ресурса (URI) именования.

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

  • EnumerateSubnames: перечисление универсального кода ресурса (URI) именования.
  • EnumerateProperties: перечисления свойств именования.
  • PropertyReadBatch: операции чтения свойств именования.
  • GetServiceDescription: уведомления о службах с длительным временем опроса и чтение описаний служб.
  • ResolveService: разрешение служб на основе жалоб.
  • ResolveNameOwner: разрешение владельца универсального кода ресурса (URI) именования.
  • ResolvePartition: разрешение системных служб.
  • ServiceNotifications: уведомления служб на основе событий.
  • GetUpgradeStatus: опрос состояния обновления приложения.
  • GetFabricUpgradeStatus: опрос состояния обновления кластера.
  • InvokeInfrastructureQuery: запрос задач инфраструктуры.
  • List: операция вывода списка клиентских файлов хранилища образов.
  • ResetPartitionLoad: сброс нагрузки для единицы отработки отказа.
  • ToggleVerboseServicePlacementHealthReporting: включение и выключение подробных отчетов о работоспособности размещения службы.

Контроль доступа от имени администратора также предусматривает доступ к приведенным выше операциям.

Изменение параметров по умолчанию для ролей клиента

При необходимости в файле манифеста кластера клиенту можно предоставить возможность администрирования. Чтобы изменить значения по умолчанию, во время создания кластера перейдите к настройкам Fabric Settings (Параметры структуры), а затем укажите параметры, приведенные выше, в полях Имя, Администратор, Пользователь и Значение.

Дальнейшие действия

Защита кластера Service Fabric

Настройка кластера Service Fabric на портале Azure