Gestione di utenti, ruoli e autorizzazioni

Il sito della documentazione di Apigee contiene informazioni complete sulla gestione dei ruoli e delle autorizzazioni utente. Gli utenti possono essere gestiti sia utilizzando l'interfaccia utente Edge che l'API di gestione, mentre i ruoli e le autorizzazioni possono essere gestiti solo con l'API di gestione.

Per informazioni sugli utenti e sulla creazione di utenti, consulta:

Molte delle operazioni eseguite per gestire gli utenti richiedono privilegi di amministratore di sistema. In un'installazione basata su cloud di Edge, Apigee funziona nel ruolo di amministratore di sistema. In un'installazione Edge per il cloud privato, l'amministratore di sistema deve eseguire queste attività come descritto di seguito.

Aggiunta di un utente

Puoi creare un utente utilizzando l'API Edge, l'UI di Edge o i comandi Edge. Questa sezione descrive come utilizzare l'API Edge e i comandi Edge. Per informazioni sulla creazione di utenti nella UI di Edge, consulta Creazione di utenti globali.

Dopo aver creato l'utente in un'organizzazione, devi assegnargli un ruolo. I ruoli determinano i diritti di accesso dell'utente su Edge.

Utilizza il comando seguente per creare un utente con l'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>'

In alternativa, utilizza il seguente comando Edge per creare un utente:

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

Dove configFile crea l'utente, come illustrato nell'esempio seguente:

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

Puoi quindi utilizzare questa chiamata per visualizzare le informazioni sull'utente:

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

Assegnazione dell'utente a un ruolo in un'organizzazione

Prima che un nuovo utente possa fare qualsiasi cosa, deve essere assegnato a un ruolo in un'organizzazione. Puoi assegnare all'utente diversi ruoli, tra cui: orgadmin, businessuser, opsadmin, user oppure a un ruolo personalizzato definito nell'organizzazione.

Se assegni un utente a un ruolo in un'organizzazione, l'utente verrà aggiunto automaticamente all'organizzazione. Assegna un utente a più organizzazioni assegnando un ruolo in ciascuna organizzazione.

Utilizza il comando seguente per assegnare l'utente a un ruolo in un'organizzazione:

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

Questa chiamata mostra tutti i ruoli assegnati all'utente. Se vuoi aggiungere l'utente, ma visualizzare solo il nuovo ruolo, utilizza la seguente chiamata:

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

Puoi visualizzare i ruoli dell'utente utilizzando il seguente comando:

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

Per rimuovere un utente da un'organizzazione, rimuovi dall'utente tutti i ruoli all'interno dell'organizzazione. Utilizza questo comando per rimuovere un ruolo da un utente:

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

Aggiunta di un amministratore di sistema

Un amministratore di sistema può:

  • Crea organizzazioni
  • Aggiunta di router, processori di messaggi e altri componenti a un'installazione Edge
  • Configura TLS/SSL
  • Crea altri amministratori di sistema
  • Esegui tutte le attività amministrative perimetrali

Sebbene un solo utente sia l'utente predefinito per le attività amministrative, ci possono essere più amministratori di sistema. Tutti gli utenti membri del ruolo "sysadmin" hanno autorizzazioni complete per tutte le risorse.

Puoi creare l'utente per l'amministratore di sistema nella UI o nell'API Edge. Tuttavia, devi utilizzare l'API Edge per assegnare all'utente il ruolo di "amministratore di sistema". L'assegnazione del ruolo "sysadmin" a un utente non può essere eseguita nella UI di Edge.

Per aggiungere un amministratore di sistema:

  1. Crea un utente nella UI o nell'API Edge.
  2. Aggiungi l'utente al ruolo "amministratore di sistema":
    curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      -X POST http://ms_IP:8080/v1/userroles/sysadmin/users -d 'id=foo@bar.com'
  3. Assicurati che il nuovo utente abbia il ruolo "sysadmin":
    curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/userroles/sysadmin/users

    Restituisce l'indirizzo email dell'utente:

    [ " foo@bar.com " ]
  4. Controlla le autorizzazioni del nuovo utente:
    curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/users/foo@bar.com/permissions

    Resi:

    {
      "resourcePermission" : [ {
      "path" : "/",
        "permissions" : [ "get", "put", "delete" ]
      } ]
    }
  5. Dopo aver aggiunto il nuovo amministratore di sistema, puoi aggiungere l'utente a qualsiasi organizzazione.
  6. Se in un secondo momento vorrai rimuovere l'utente dal ruolo di amministratore di sistema, potrai utilizzare la seguente API:
    curl -X DELETE -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      http://ms_IP:8080/v1/userroles/sysadmin/users/foo@bar.com

    Tieni presente che questa chiamata rimuove solo l'utente dal ruolo, non elimina l'utente.

Modifica dell'utente amministratore di sistema predefinito

Al momento dell'installazione di Edge, specifichi l'indirizzo email dell'amministratore di sistema. Edge crea un utente con questo indirizzo email e imposta tale utente come amministratore di sistema predefinito. In seguito potrai aggiungere altri amministratori di sistema come descritto sopra.

Questa sezione descrive come modificare l'amministratore di sistema predefinito in modo che sia un utente diverso e come modificare l'indirizzo email dell'account utente per l'amministratore di sistema predefinito attuale.

Per visualizzare l'elenco degli utenti attualmente configurati come amministratori di sistema, utilizza la seguente chiamata API:

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

Per determinare l'attuale amministratore di sistema predefinito, visualizza il file /opt/apigee/customer/defaults.sh. Il file contiene la seguente riga che mostra l'indirizzo email dell'attuale amministratore di sistema predefinito:

ADMIN_EMAIL=foo@bar.com

Per modificare l'amministratore di sistema predefinito con un utente diverso:

  1. Crea un nuovo amministratore di sistema come descritto sopra o assicurati che l'account utente del nuovo amministratore di sistema sia già configurato come amministratore di sistema.
  2. Modifica /opt/apigee/customer/defaults.sh per impostare ADMIN_EMAIL sull'indirizzo email del nuovo amministratore di sistema.
  3. Modifica il file di configurazione silenziosa che hai utilizzato per installare l'interfaccia utente Edge per impostare le seguenti proprietà:
    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

    Tieni presente che devi includere le proprietà SMTP perché tutte le proprietà dell'interfaccia utente vengono reimpostate.

  4. Riconfigura l'UI di 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 vuoi solo modificare l'indirizzo email dell'account utente dell'attuale amministratore di sistema predefinito, devi prima aggiornare l'account utente per impostare il nuovo indirizzo email, quindi modificare l'indirizzo email predefinito dell'amministratore di sistema:

  1. Aggiorna l'account utente dell'attuale utente amministratore di sistema predefinito con un nuovo indirizzo email:
    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. Ripeti i passaggi 2, 3 e 4 della procedura precedente per aggiornare il file /opt/apigee/customer/defaults.sh e aggiornare l'UI di Edge.

Specifica del dominio email di un amministratore di sistema

Come ulteriore livello di sicurezza, puoi specificare il dominio email richiesto di un amministratore di sistema Edge. Durante l'aggiunta di un amministratore di sistema, se l'indirizzo email dell'utente non appartiene al dominio specificato, l'aggiunta dell'utente al ruolo "sysadmin" non riesce.

Per impostazione predefinita, il dominio obbligatorio è vuoto, il che significa che puoi aggiungere qualsiasi indirizzo email al ruolo "sysadmin".

Per impostare il dominio email:

  1. Apri il file management-server.properties in un editor:
    vi /opt/apigee/customer/application/management-server.properties

    Se il file non esiste, crealo.

  2. Imposta la proprietà conf_security_rbac.global.roles.allowed.domains sull'elenco dei domini consentiti separati da virgole. Ad esempio:
    conf_security_rbac.global.roles.allowed.domains=myCo.com,yourCo.com
  3. Salva le modifiche.
  4. Riavvia Edge Management Server:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

    Se ora tenti di aggiungere un utente al ruolo "sysadmin" e l'indirizzo email dell'utente non è in uno dei domini specificati, l'aggiunta non riesce.

Eliminazione di un utente

Puoi creare un utente utilizzando l'API Edge o l'UI Edge. Tuttavia, puoi eliminare un utente solo utilizzando l'API.

Per visualizzare l'elenco degli utenti attuali, incluso l'indirizzo email, utilizza il seguente comando curl:

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

Utilizza il seguente comando curl per eliminare un utente:

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