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

Edge для частного облака версии 4.17.05

На сайте документации 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, чтобы создать пользователя:

> /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, чтобы задать следующие свойства:
    ADMIN_EMAIL=emailAddressOfNewSysAdmin
    APIGEE_ADMINPW=pwOfNewSysAdmin

    SMTPHOST=smtp.gmail.com
    SMTPPORT=465
    SMTPUSER=foo@gmail.com
    SMTPPASSWORD=bar
    SMTPSSL=y
    Обратите внимание, что вам нужно включить свойства SMTP, поскольку все свойства в интерфейсе будут сброшены.
  4. Перенастройте интерфейс Edge:
    > /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:
    /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>