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

Edge for Private Cloud v4.18.05

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

  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 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 не удастся.

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