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

На сайте документации Apigee содержится обширная информация по управлению ролями и разрешениями пользователей. Пользователями можно управлять с помощью пользовательского интерфейса Edge и 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

Добавление системного администратора

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

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

Хотя только один пользователь является пользователем по умолчанию для административных задач, системных администраторов может быть несколько. Любой пользователь, являющийся членом роли «сисадмин», имеет полные права доступа ко всем ресурсам.

Вы можете создать пользователя для системного администратора либо в пользовательском интерфейсе Edge, либо в API. Однако вам необходимо использовать Edge API, чтобы назначить пользователю роль «сисадмина». Назначить пользователю роль «сисадмин» невозможно в пользовательском интерфейсе Edge.

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

  1. Создайте пользователя в пользовательском интерфейсе или API Edge.
  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. Если при добавлении системного администратора адрес электронной почты пользователя не находится в указанном домене, то добавить пользователя к роли «сисадмин» не удастся.

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

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

  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. Перезапустите пограничный сервер управления:
    /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