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

На сайте документации 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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD -X POST http://ms_IP:8080/v1/users \
  -d '<User> \
    <FirstName>New</FirstName> \
    <LastName>User</LastName> \
    <Password>NEW_USER_PASSWORD</Password> \
    <EmailId>foo@bar.com</EmailId> \
  </User>'

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

/opt/apigee/apigee-service/bin/apigee-service apigee-provision create-user -f configFile

где configFile создает пользователя, как показано в следующем примере:

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

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD 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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD

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

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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/users/foo@bar.com/userroles

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

curl -X DELETE -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
  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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      -X POST http://ms_IP:8080/v1/userroles/sysadmin/users -d 'id=foo@bar.com'
  3. Убедитесь, что у нового пользователя есть роль sysadmin:
    curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/userroles/sysadmin/users

    Возвращает адрес электронной почты пользователя:

    [ " foo@bar.com " ]
  4. Проверьте разрешения нового пользователя:
    curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/users/foo@bar.com/permissions

    Возврат:

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

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

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

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

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

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD 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=NEW_SYS_ADMIN_EMAIL
    APIGEE_ADMINPW=NEW_SYS_ADMIN_PASSWORD
    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 CURRENT_SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      http://ms_IP:8080/v1/users/CURRENT_SYS_ADMIN_EMAIL \
      -d '{"emailId": "NEW_SYS_ADMIN_EMAIL", "lastName": "admin", "firstName": "admin"}'
  2. Повторите шаги 2, 3 и 4 из предыдущей процедуры, чтобы обновить файл /opt/apigee/customer/defaults.sh и интерфейс Edge.

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

В качестве дополнительной меры безопасности можно указать обязательный домен электронной почты администратора системы Edge. При добавлении системного администратора, если адрес электронной почты пользователя не относится к указанному домену, добавить пользователя в роль 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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms-IP:8080/v1/users

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD -X DELETE http://ms_IP:8080/v1/users/USER_EMAIL