Контроль доступа на основе ролей для клиентов Service FabricRole-based access control for Service Fabric clients

Платформа Azure Service Fabric поддерживает два разных типа контроля доступа для клиентов, подключенных к кластеру Service Fabric: администраторский и пользовательский.Azure Service Fabric supports two different access control types for clients that are connected to a Service Fabric cluster: administrator and user. Благодаря контролю доступа администратор кластера может ограничить доступ разных групп пользователей на выполнение определенных операций в кластере, повысив тем самым уровень безопасности кластера.Access control allows the cluster administrator to limit access to certain cluster operations for different groups of users, making the cluster more secure.

Администраторы имеют полный доступ к возможностям управления (включая возможности чтения и записи).Administrators have full access to management capabilities (including read/write capabilities). По умолчанию пользователи имеют доступ только на чтение к функциям управления (например, при работе с запросами) и возможность разрешения приложений и служб.By default, users only have read access to management capabilities (for example, query capabilities), and the ability to resolve applications and services.

Во время создания кластера задаются две клиентские роли (администратора или клиента) путем предоставления отдельных сертификатов для каждой из них.You specify the two client roles (administrator and client) at the time of cluster creation by providing separate certificates for each. Сведения о настройке защищенного кластера Service Fabric см. в статье Защита кластера Service Fabric.See Service Fabric cluster security for details on setting up a secure Service Fabric cluster.

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

Тип контроля доступа администратора предусматривает полный доступ ко всем API-интерфейсам FabricClient.The administrator access control type has full access to all the FabricClient APIs. Вы можете выполнять любые операции чтения и записи в кластере Service Fabric, включая следующие.It can perform any reads and writes on the Service Fabric cluster, including the following operations:

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

  • CreateService: создание службы.CreateService: service creation
  • CreateServiceFromTemplate: создание службы из шаблона.CreateServiceFromTemplate: service creation from template
  • UpdateService: обновления службы.UpdateService: service updates
  • DeleteService: удаление службы.DeleteService: service deletion
  • ProvisionApplicationType: подготовка типа приложения.ProvisionApplicationType: application type provisioning
  • CreateApplication: создание приложения.CreateApplication: application creation
  • DeleteApplication: удаление приложения.DeleteApplication: application deletion
  • UpgradeApplication: запуск или прерывание обновлений приложения.UpgradeApplication: starting or interrupting application upgrades
  • UnprovisionApplicationType: отмена подготовки типа приложения.UnprovisionApplicationType: application type unprovisioning
  • MoveNextUpgradeDomain: возобновление обновлений приложения с помощью явно указанного домена обновления.MoveNextUpgradeDomain: resuming application upgrades with an explicit update domain
  • ReportUpgradeHealth: возобновление обновлений приложения с помощью текущего процесса обновления.ReportUpgradeHealth: resuming application upgrades with the current upgrade progress
  • ReportHealth: сообщение о работоспособности.ReportHealth: reporting health
  • PredeployPackageToNode: API предварительного развертывания.PredeployPackageToNode: predeployment API
  • CodePackageControl: перезапуск пакетов кода.CodePackageControl: restarting code packages
  • RecoverPartition: восстановление секции.RecoverPartition: recovering a partition
  • RecoverPartitions: восстановление секций.RecoverPartitions: recovering partitions
  • RecoverServicePartitions: восстановление секций службы.RecoverServicePartitions: recovering service partitions
  • RecoverSystemPartitions: восстановление секций системной службы.RecoverSystemPartitions: recovering system service partitions

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

  • ProvisionFabric: подготовка MSI и (или) манифеста кластера.ProvisionFabric: MSI and/or cluster manifest provisioning
  • UpgradeFabric: запуск обновлений кластера.UpgradeFabric: starting cluster upgrades
  • UnprovisionFabric: отмена подготовки MSI и (или) манифеста кластера.UnprovisionFabric: MSI and/or cluster manifest unprovisioning
  • MoveNextFabricUpgradeDomain: возобновление обновлений кластера с помощью явно указанного домена обновления.MoveNextFabricUpgradeDomain: resuming cluster upgrades with an explicit update domain
  • ReportFabricUpgradeHealth: возобновление обновлений кластера с помощью текущего процесса обновления.ReportFabricUpgradeHealth: resuming cluster upgrades with the current upgrade progress
  • StartInfrastructureTask: запуск задач инфраструктуры.StartInfrastructureTask: starting infrastructure tasks
  • FinishInfrastructureTask: завершение задач инфраструктуры.FinishInfrastructureTask: finishing infrastructure tasks
  • InvokeInfrastructureCommand: команды управления задачами инфраструктуры.InvokeInfrastructureCommand: infrastructure task management commands
  • ActivateNode: активация узла.ActivateNode: activating a node
  • DeactivateNode: деактивация узла.DeactivateNode: deactivating a node
  • DeactivateNodesBatch: деактивация нескольких узлов.DeactivateNodesBatch: deactivating multiple nodes
  • RemoveNodeDeactivations: отмена деактивации нескольких узлов.RemoveNodeDeactivations: reverting deactivation on multiple nodes
  • GetNodeDeactivationStatus: проверка состояния деактивации.GetNodeDeactivationStatus: checking deactivation status
  • NodeStateRemoved: сообщение об удалении узла.NodeStateRemoved: reporting node state removed
  • ReportFault: сообщение об ошибке.ReportFault: reporting fault
  • FileContent: передача клиентского файла хранилища образов (вне кластера).FileContent: image store client file transfer (external to cluster)
  • FileDownload: инициация скачивания клиентского файла хранилища образов (вне кластера).FileDownload: image store client file download initiation (external to cluster)
  • InternalList: операция вывода списка клиентских файлов хранилища образов (внутренняя).InternalList: image store client file list operation (internal)
  • Delete: операция удаления клиента хранилища образов.Delete: image store client delete operation
  • Upload: операция передачи клиента хранилища образов.Upload: image store client upload operation
  • NodeControl: запуск, остановка и перезапуск узлов.NodeControl: starting, stopping, and restarting nodes
  • MoveReplicaControl: перемещение реплик с одного узла на другой.MoveReplicaControl: moving replicas from one node to another

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

  • Ping: проверка связи клиента.Ping: client pings
  • Query: разрешены все запросы.Query: all queries allowed
  • NameExists: проверки существования универсальных кодов ресурса (URI) именования.NameExists: naming URI existence checks

Тип контроля доступа от имени пользователя по умолчанию ограничивается следующими операциями.The user access control type is, by default, limited to the following operations:

  • EnumerateSubnames: перечисление универсального кода ресурса (URI) именования.EnumerateSubnames: naming URI enumeration
  • EnumerateProperties: перечисления свойств именования.EnumerateProperties: naming property enumeration
  • PropertyReadBatch: операции чтения свойств именования.PropertyReadBatch: naming property read operations
  • GetServiceDescription: уведомления о службах с длительным временем опроса и чтение описаний служб.GetServiceDescription: long-poll service notifications and reading service descriptions
  • ResolveService: разрешение служб на основе жалоб.ResolveService: complaint-based service resolution
  • ResolveNameOwner: разрешение владельца универсального кода ресурса (URI) именования.ResolveNameOwner: resolving naming URI owner
  • ResolvePartition: разрешение системных служб.ResolvePartition: resolving system services
  • ServiceNotifications: уведомления служб на основе событий.ServiceNotifications: event-based service notifications
  • GetUpgradeStatus: опрос состояния обновления приложения.GetUpgradeStatus: polling application upgrade status
  • GetFabricUpgradeStatus: опрос состояния обновления кластера.GetFabricUpgradeStatus: polling cluster upgrade status
  • InvokeInfrastructureQuery: запрос задач инфраструктуры.InvokeInfrastructureQuery: querying infrastructure tasks
  • List: операция вывода списка клиентских файлов хранилища образов.List: image store client file list operation
  • ResetPartitionLoad: сброс нагрузки для единицы отработки отказа.ResetPartitionLoad: resetting load for a failover unit
  • ToggleVerboseServicePlacementHealthReporting: включение и выключение подробных отчетов о работоспособности размещения службы.ToggleVerboseServicePlacementHealthReporting: toggling verbose service placement health reporting

Контроль доступа от имени администратора также предусматривает доступ к приведенным выше операциям.The admin access control also has access to the preceding operations.

Изменение параметров по умолчанию для ролей клиентаChanging default settings for client roles

При необходимости в файле манифеста кластера клиенту можно предоставить возможность администрирования.In the cluster manifest file, you can provide admin capabilities to the client if needed. Чтобы изменить значения по умолчанию, во время создания кластера перейдите к настройкам Fabric Settings (Параметры структуры), а затем укажите параметры, приведенные выше, в полях Имя, Администратор, Пользователь и Значение.You can change the defaults by going to the Fabric Settings option during cluster creation, and providing the preceding settings in the name, admin, user, and value fields.

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

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

Настройка кластера Service Fabric на портале AzureService Fabric cluster creation