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

Edge for Private Cloud v4.18.01

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

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

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

Добавление пользователя

Вы можете создать пользователя с помощью Edge API, Edge UI или команд 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, чтобы создать пользователя:

> /opt/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 -X POST -H "Content-Type: application/xml" /
http://<ms_IP>:8080/v1/o/<org_name>/users/foo@bar.com/userroles /
-d '<Roles><Role name="role"/></Roles>' /
-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 вы указываете адрес электронной почты системного администратора. Edge создаст пользователя с этим адресом электронной почты и назначит его системным администратором по умолчанию. Позже вы сможете добавить других системных администраторов, как описано выше.

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

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

curl -u sysAdminEmail:passwd http://<ms_IP>:8080/v1/userroles/sysadmin/users

Чтобы определить текущего системного администратора по умолчанию, просмотрите файл /opt/apigee/customer/defaults.sh. В файле есть строка с адресом электронной почты текущего системного администратора по умолчанию:

ADMIN_EMAIL=foo@bar.com

Чтобы назначить системным администратором по умолчанию другого пользователя:

  1. Создайте нового системного администратора, как описано выше, или убедитесь, что аккаунт пользователя нового системного администратора уже настроен как системный администратор.
  2. Измените файл /opt/apigee/customer/defaults.sh, чтобы задать в качестве значения ADMIN_EMAIL адрес электронной почты нового системного администратора.
  3. Отредактируйте файл конфигурации, который вы использовали для установки Edge UI, чтобы задать следующие свойства:
    ADMIN_EMAIL=emailAddressOfNewSysAdmin
    APIGEE_ADMINPW=pwOfNewSysAdmin

    SMTPHOST=smtp.gmail.com
    SMTPPORT=465
    SMTPUSER=foo@gmail.com
    SMTPPASSWORD=bar
    SMTPSSL=y
    Обратите внимание, что вам нужно включить свойства SMTP, поскольку все свойства в пользовательском интерфейсе сбрасываются.
  4. Повторно настройте Edge UI:
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui stop
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui start

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

  1. Обновите аккаунт пользователя текущего системного администратора по умолчанию, указав новый адрес электронной почты:
    > curl -H content-type:application/json -X PUT /
    -u currentSysAdminEmail:passwd /
    http://<ms_IP>:8080/v1/users/currentSysAdminEmail /
    -d '{"emailId": "newSysAdminEmail", "lastName": "admin", "firstName": "admin"}'
  2. Повторите шаги 2, 3 и 4 из предыдущей процедуры, чтобы обновить файл /opt/apigee/customer/defaults.sh и интерфейс Edge.

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

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

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

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

  1. Откройте в редакторе файл management-server.properties:
    vi /opt/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 Management Server:
    /opt/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>