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

На сайте документации 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. Отредактируйте файл конфигурации, который вы использовали для установки New Edge UI, чтобы задать следующие свойства:
    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, поскольку все свойства в New Edge UI сбрасываются.

  4. Чтобы перенастроить интерфейс New Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui stop
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-management-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 и New Edge UI.

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

В качестве дополнительной меры безопасности вы можете указать домен электронной почты, который должен быть у системного администратора 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. Однако удалить пользователя можно только с помощью 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