Управление пользователями, ролями и разрешениями

Edge for Private Cloud версии 4.16.09

На сайте документации Apigee приведена подробная информация об управлении ролями и разрешениями пользователей. Пользователей можно настраивать как с помощью интерфейса Edge, так и с помощью Management API, а роли и разрешения – только с помощью Management API.

Информация о пользователях и их создании приведена в следующих статьях:

Для выполнения многих операций по управлению пользователями требуются права системного администратора. При установке Edge на основе облака функции Apigee выполняются в роли системного администратора. При установке Edge для частного облака системный администратор должен выполнить описанные ниже задачи.

Как добавить пользователя

Создать пользователя можно с помощью Edge API, интерфейса Edge или команд Edge. В этом разделе рассказывается, как использовать Edge API и команды Edge. Информацию о том, как создавать пользователей в интерфейсе Edge, можно найти в статье Создание глобальных пользователей.

После создания пользователя в организации ему необходимо назначить роль. Роли определяют права доступа пользователя в Edge.

Чтобы создать пользователя с помощью Edge API, используйте следующую команду:

curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<passwd> \
-X POST http://<ms_IP>:8080/v1/users \
-d '<User> \
   <FirstName>New</FirstName> \
   <LastName>User</LastName> \
   <Password>newUserPWord</Password> \
   <EmailId>foo@bar.com</EmailId> \
</User>'

Или используйте следующую команду Edge, чтобы создать пользователя:

> /<inst_root>/apigee/apigee-service/bin/apigee-service apigee-provision create-user -f configFile

Если файл configFile содержит информацию, необходимую для создания пользователя:

APIGEE_ADMINPW=sysAdminPW    # If omitted, you will be prompted.
USER_NAME=foo@bar.com
FIRST_NAME=New
LAST_NAME=User
USER_PWD="newUserPWord"
ORG_NAME=myorg  

После этого вы можете использовать этот вызов, чтобы посмотреть информацию о пользователе:

curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/users/foo@bar.com

Назначение пользователю роли в организации.

Прежде чем новый пользователь сможет что-либо делать, ему необходимо назначить роль в организации. Вы можете назначить пользователю разные роли, в том числе orgadmin, businessuser, opsadmin, user или специальную роль, определенную в организации.

При назначении пользователю роли в организации он автоматически добавляется в эту организацию. Назначьте пользователю роль в каждой организации.

Чтобы назначить пользователю роль в организации, используйте следующую команду:

curl -X POST -H "Content-Type:application/x-www-form-urlencoded" /
http://<ms_IP>:8080/v1/o/<org_name>/userroles/<role>/users?id=foo@bar.com /
-u <sysAdminEmail>:<passwd> 

Чтобы посмотреть роли пользователя, используйте следующую команду:

curl -u <sysAdminEmail>:<passwd> /
http://<ms_IP>:8080/v1/users/foo@bar.com/userroles

Чтобы удалить пользователя из организации, отмените все назначения ролей этого пользователя в организации. Чтобы удалить роль пользователя, используйте следующую команду:

curl -X DELETE -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/o/<org_name>/userroles/<role>/users/foo@bar.com

Как добавить системного администратора

Системный администратор может:

  • Создание организаций
  • Как добавить маршрутизаторы, процессоры сообщений и другие компоненты в установку Edge
  • Как настроить TLS/SSL
  • Как создать дополнительных системных администраторов
  • выполнять все административные задачи Edge;

По умолчанию административные задачи выполняет один пользователь, но системных администраторов может быть несколько. У любого пользователя с ролью sysadmin есть полный доступ ко всем ресурсам.

Создать пользователя для системного администратора можно в интерфейсе Edge или с помощью API. Однако для назначения пользователю роли sysadmin необходимо использовать Edge API. Назначить пользователю роль sysadmin в интерфейсе Edge нельзя.

Чтобы добавить системного администратора:

  1. Создайте пользователя в интерфейсе Edge или API.
  2. Добавьте пользователя в роль sysadmin:
    curl -u <sysAdminEmail>:<passwd> \
    -X POST http://<ms_IP>:8080/v1/userroles/sysadmin/users \
    -d 'id=foo@bar.com'
  3. Убедитесь, что у нового пользователя есть роль sysadmin:
    curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/userroles/sysadmin/users

    Возвращает адрес электронной почты пользователя:
    [ " foo@bar.com " ]
  4. Проверьте разрешения нового пользователя:
    curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/users/foo@bar.com/permissions

    Возвращает:
    {
    "resourcePermission" : [ {
    "path" : "/",
    "permissions" : [ "get", "put", "delete" ]
    } ]
    }
  5. После того как вы добавите нового системного администратора, вы сможете добавить пользователя в любую организацию.
    Примечание. Новый пользователь с правами системного администратора не сможет войти в интерфейс Edge, пока вы не добавите его хотя бы в одну организацию.
  6. Если вы захотите удалить пользователя из роли системного администратора, используйте следующий API:
    curl -X DELETE -u <sysadminEmail:pword>
    http://<ms_IP>:8080/v1/userroles/sysadmin/users/foo@bar.com


    Обратите внимание, что этот вызов только удаляет пользователя из роли, но не удаляет самого пользователя.

Указание домена электронной почты системного администратора

В качестве дополнительной меры безопасности можно указать обязательный домен электронной почты администратора системы Edge. При добавлении системного администратора, если адрес электронной почты пользователя не относится к указанному домену, добавить пользователя в роль sysadmin не удастся.

По умолчанию поле "Требуемый домен" пустое, поэтому вы можете добавить любой адрес электронной почты в роль sysadmin.

Чтобы задать домен электронной почты:

  1. Откройте в редакторе файл management-server.properties:
    vi /<inst_root>/apigee/customer/application/management-server.properties

    Если этого файла нет, создайте его.
  2. Задайте для свойства conf_security_rbac.global.roles.allowed.domains список разрешенных доменов, разделенных запятыми. Пример:
    conf_security_rbac.global.roles.allowed.domains=myCo.com,yourCo.com
  3. Сохраните изменения.
  4. Перезапустите сервер управления Edge:
    /<inst_root>/apigee/apigee-service/bin/apigee-service edge-management-server restart

    Если вы попытаетесь добавить пользователя в роль sysadmin, а адрес электронной почты пользователя не будет относиться к одному из указанных доменов, добавление не удастся.

Удаление пользователя

Создать пользователя можно с помощью Edge API или Edge UI. Однако удалить пользователя можно только с помощью API.

Чтобы посмотреть список текущих пользователей, включая адреса электронной почты, используйте следующую команду cURL:

curl -u <sysAdminEmail>:<passwd> http://<ms-IP>:8080/v1/users

Чтобы удалить пользователя, используйте следующую команду cURL:

curl -u <sysAdminEmail>:<passwd> -X DELETE http://<ms-IP>:8080/v1/users/<userEmail>