Como gerenciar usuários, papéis e permissões

O site de documentação da Apigee tem muitas informações sobre como gerenciar papéis de usuários e permissões. Os usuários podem ser gerenciados usando a interface do usuário do Edge e a API Management; funções e as permissões só podem ser gerenciadas com a API Management.

Para informações sobre usuários e como criar usuários, consulte:

Muitas das operações realizadas para gerenciar usuários exigem que o administrador do sistema para conceder privilégios de acesso. Em uma instalação baseada na nuvem do Edge, a Apigee desempenha o papel de sistema administrador. Em uma borda para a instalação da nuvem privada, o administrador do sistema precisa realizar essas tarefas conforme descrito abaixo.

Adicionar um usuário

Você pode criar um usuário usando a API Edge, a interface do usuário do Edge ou os comandos do Edge. Isso seção descreve como usar a API e os comandos do Edge. Para informações sobre como criar usuários no interface do Edge, consulte Como criar usuários globais.

Depois de criar o usuário em uma organização, atribua um papel a ele. Funções determinar os direitos de acesso do usuário no Edge.

Use o seguinte comando para criar um usuário com a API Edge:

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>'

Ou use o seguinte comando do Edge para criar um usuário:

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

Em que configFile cria o usuário, como mostra o exemplo a seguir:

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

Você pode usar essa chamada para ver informações sobre o usuário:

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

Atribuir o usuário a uma função em um organização

Antes que um novo usuário possa fazer qualquer coisa, ele precisa ser atribuído a uma função em uma organização. Você pode atribuir o usuário a diferentes funções, incluindo: orgadmin, businessuser, opsadmin, user ou um papel personalizado definido na organização.

Ao atribuir um usuário a uma função em uma organização, ele é adicionado automaticamente à organização. Atribuir um usuário a várias organizações usando uma função em cada uma organização.

Use o seguinte comando para atribuir o usuário a um papel em uma organização:

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

Essa chamada exibe todas as funções atribuídas ao usuário. Se você quiser adicionar o usuário, mas exibir apenas o novo papel, use a seguinte chamada:

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

É possível visualizar os papéis do usuário usando o seguinte comando:

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

Para remover um usuário de uma organização, remova todos os papéis dessa organização. Use o seguinte comando para remover o papel de um usuário:

curl -X DELETE -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
  http://ms_IP:8080/v1/o/org_name/userroles/role/users/foo@bar.com

Como adicionar um administrador do sistema

Um administrador do sistema pode:

  • Criar organizações
  • Adicionar roteadores, processadores de mensagens e outros componentes a uma instalação do Edge
  • Configurar TLS/SSL
  • Criar administradores adicionais do sistema
  • Executar todas as tarefas administrativas do Edge

Embora somente um usuário seja o usuário padrão para tarefas administrativas, pode haver mais de um administrador de sistema. Qualquer usuário que seja membro do grupo "sysadmin" função tem total permissões a todos os recursos.

Você pode criar o usuário para o administrador do sistema na interface ou na API do Edge. No entanto, use a API Edge para atribuir ao usuário o papel de "sysadmin". A atribuição de um para o "sysadmin" não pode ser atribuído na interface do Edge.

Para adicionar um administrador do sistema:

  1. Crie um usuário na API ou interface do Edge.
  2. Adicionar usuário a "sysadmin" função:
    curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      -X POST http://ms_IP:8080/v1/userroles/sysadmin/users -d 'id=foo@bar.com'
  3. Verifique se o novo usuário está no "sysadmin" função:
    curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/userroles/sysadmin/users

    Retorna o endereço de e-mail do usuário:

    [ " foo@bar.com " ]
  4. Verificar as permissões do novo usuário:
    curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/users/foo@bar.com/permissions

    Retorna:

    {
      "resourcePermission" : [ {
      "path" : "/",
        "permissions" : [ "get", "put", "delete" ]
      } ]
    }
  5. Depois de adicionar o novo administrador do sistema, você pode adicionar o usuário a qualquer organização.
  6. Se mais tarde você quiser remover o usuário da função de administrador do sistema, use o seguinte API:
    curl -X DELETE -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      http://ms_IP:8080/v1/userroles/sysadmin/users/foo@bar.com

    Essa chamada só remove o usuário da função, mas não exclui o usuário.

Como alterar o administrador padrão do sistema usuário

Ao instalar o Edge, você especifica o endereço de e-mail do administrador do sistema. Borda cria um usuário com esse endereço de e-mail e define esse usuário como o sistema padrão administrador. Posteriormente, você poderá adicionar outros administradores de sistema conforme descrito acima.

Esta seção descreve como alterar o administrador do sistema padrão para um usuário diferente, e como alterar o endereço de e-mail da conta de usuário para o sistema padrão atual administrador.

Para conferir a lista de usuários atualmente configurados como administradores de sistema, use a API a seguir ligue para:

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/userroles/sysadmin/users

Para determinar o administrador padrão do sistema atual, consulte /opt/apigee/customer/defaults.sh. O arquivo contém a seguinte linha mostrando o endereço de e-mail do administrador padrão atual do sistema:

ADMIN_EMAIL=foo@bar.com

Para alterar o administrador de sistema padrão para um usuário diferente:

  1. Crie um novo administrador do sistema conforme descrito acima ou certifique-se de que a conta de usuário do o novo administrador de sistema já está configurado como um administrador de sistema.
  2. Editar /opt/apigee/customer/defaults.sh para defina ADMIN_EMAIL como o endereço de e-mail do novo administrador do sistema.
  3. Edite o arquivo de configuração silenciosa usado para instalar a interface do Edge para definir o seguinte: propriedades:
    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

    É necessário incluir as propriedades do SMTP porque todas as propriedades na interface do usuário são redefinido.

  4. Reconfigure a interface do 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

Se você quiser apenas alterar o endereço de e-mail da conta de usuário para o padrão atual administrador do sistema, primeiro atualize a conta do usuário para definir o novo endereço de e-mail e, em seguida, altere o endereço de e-mail padrão do administrador do sistema:

  1. Atualizar a conta de usuário do usuário administrador do sistema padrão atual com um novo e-mail endereço:
    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. Repita as etapas 2, 3. e 4 do procedimento anterior para atualizar a /opt/apigee/customer/defaults.sh e para atualizar a interface do Edge.

Especificar o domínio de e-mail de um sistema administrador

Como um nível extra de segurança, você pode especificar o domínio de e-mail necessário de um sistema Edge administrador. Ao adicionar um administrador do sistema, se o endereço de e-mail do usuário não estiver na domínio especificado, adicionando o usuário ao bloco "sysadmin" falha.

Por padrão, o domínio obrigatório está vazio, o que significa que você pode adicionar qualquer endereço de e-mail ao “sysadmin” de rede.

Para definir o domínio do e-mail:

  1. Abra o arquivo management-server.properties em um editor:
    vi /opt/apigee/customer/application/management-server.properties

    Crie esse arquivo se ele não existir.

  2. Defina o conf_security_rbac.global.roles.allowed.domains à lista separada por vírgulas de domínios permitidos. Exemplo:
    conf_security_rbac.global.roles.allowed.domains=myCo.com,yourCo.com
  3. Salve as alterações.
  4. Reinicie o Edge Management Server:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

    Agora, se tentar adicionar um usuário ao diretório "sysadmin", função e o endereço de e-mail do usuário não estiver em um dos domínios especificados, a adição falhará.

Como excluir um usuário

É possível criar um usuário usando a API Edge ou a interface do Edge. No entanto, só é possível excluir um usuário usando a API.

Para ver a lista de usuários atuais, incluindo endereços de e-mail, use o comando a seguir: Comando curl:

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms-IP:8080/v1/users

Use o seguinte comando curl para excluir um usuário:

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