Connessioni IAM del controllo dell'accesso basato sui ruoli
Questo argomento fornisce istruzioni per la gestione IT su come preparare un'applicazione integrata nel dominio che abilita il controllo dell'accesso basato sui ruoli utilizzando le richieste personalizzate JSON Web Token (JWT). Ciò consentirà agli utenti del dominio di eseguire il login al database utilizzando le proprie credenziali di dominio anziché la password dello schema.
Questo capitolo consente agli utenti del dominio di eseguire l'autenticazione al database con le proprie credenziali di dominio anziché utilizzare la password specifica dello schema.
- Crea attributi personalizzati per gli utenti
- Assegna ruolo personalizzato
- Creare un'applicazione integrata di dominio
- Definisci richiesta personalizzata
- Abilita il login IAM per lo schema di Autonomous AI Database
- Creare un file di connessione
In questo capitolo verrà utilizzato il dominio
Default, ma è possibile selezionare qualsiasi dominio delle preferenze.
Crea attributi personalizzati per gli utenti
- Passare a Identità → Domini → Predefinito. Fare clic sulla scheda Gestione schema e selezionare Attributi utente.
- Fare clic su Aggiungi attributo in Attributi utente.
- Nella finestra di dialogo Aggiungi attributi specificare i campi riportati di seguito.
- Nome visualizzato: ORDS RBAC
- Nome:rbac_ords
- Descrizione:Controllo dell'accesso basato sui ruoli per ORDS
- Tipo di dati: Array di stringhe
È possibile lasciare il resto dei campi allo stato predefinito.
Fare clic su Aggiungi. L'attributo personalizzato è stato aggiunto.
- Cercare l'attributo appena aggiunto digitando Personalizzato nel campo di ricerca. Verrà visualizzato l'attributo ORDS RBAC nell'elenco.
Fare clic su Modifica attributo.
- Copiare e annotare il valore di FQN (nome completamente qualificato).
In questo esempio, FQN è urn:ietf:params:scim:schemas:idcs:extension:custom:User:rbac_ords.
Assegna ruolo personalizzato
- Passare a Identità → Domini → Predefinito. Fare clic sulla scheda Gestione utenti e selezionare il nome utente dall'elenco di utenti visualizzato.
Fare clic su Modifica utente. Scorrere fino al campo Altre informazioni e immettere SQL Developer, SODA Developer in ORDS RBAC.
Per ulteriori informazioni sui ruoli ORDS, vedere questo capitolo in Informazioni sui ruoli utente di Oracle REST Data Services.
Dopo aver aggiunto i ruoli, fare clic su Salva modifiche.
Creare un'applicazione integrata di dominio
Svilupperemo un'applicazione integrata all'interno del dominio che emetterà un token JWT al momento dell'accesso.
- Passare a Identità → Domini → Predefinito. Fare clic sulla scheda Applicazioni integrate e selezionare Aggiungi applicazione.
- Fare clic su Applicazione riservata e selezionare Avvia workflow.
- Nella finestra di dialogo Aggiungi applicazione riservata specificare i campi riportati di seguito.
- Nome: immettere il nome dell'applicazione riservata. Ad esempio, Spreadsheet-Addin RBAC.
- Descrizione: immettere la descrizione. Ad esempio, Applicazione integrata per il controllo dell'accesso basato sul ruolo del componente aggiuntivo del foglio di calcolo.
Fare clic su Sottometti.
Verrà visualizzata la pagina dell'applicazione Spreadsheet-Addin RBAC appena aggiunta.
- Fare clic su Modifica configurazione OAuth nella scheda OAuth, configurazione della pagina RBAC - Aggiunta foglio di calcolo.
- In Configurazione server risorse, selezionare Configurare questa applicazione come server risorse ora.
- In Configura API dell'applicazione che devono essere protette da OAuth, selezionare 3600 come scadenza del token di accesso (secondi).
- Nel campo Audience principale immettere ssaddin/.
- Fare clic su Aggiungi ambiti e aggiungere l'ambito rbac.
- In Configurazione client specificare i campi riportati di seguito.
- Selezionare Configurare questa applicazione come client ora.
- Selezionare Implicito in Tipi di sovvenzione consentiti.
- Immettere il valore seguente nel campo URL di reindirizzamento:
https://static.oracle.com/cdn/spreadsheet/red-4/redirector.html - Immettere il valore seguente nel campo URL post-logout:
https://static.oracle.com/cdn/spreadsheet/red-4/redirector.html
Fare clic su Sottometti.Nota
Assicurarsi di attivare l'applicazione.
Definisci richiesta di risarcimento personalizzata
Per includere i ruoli utente all'interno del JWT, è necessario mappare l'attributo personalizzato stabilito nella prima sezione nel JWT utilizzando un risarcimento personalizzato.
Per raggiungere questo obiettivo, è necessario creare un'applicazione integrata temporanea aggiuntiva e allegare il reclamo personalizzato tramite tale applicazione.
Crea applicazione integrata del dominio di Identity
- Passare a Identità → Domini → Predefinito.
- Fare clic sulla scheda Applicazioni integrate e selezionare Aggiungi applicazione.
- Fare clic su Applicazione riservata e selezionare Avvia workflow.
- Immettere il nome dell'applicazione: Applicazione integrata del dominio di identità
- Descrizione: si tratta di un'applicazione integrata di dominio.
Fare clic su Sottometti.
- Nella pagina Applicazione integrata del dominio di identità, selezionare la scheda Configurazione OAuth.
- Fare clic su Modifica configurazione OAuth nella configurazione del server risorse. Nella finestra di dialogo Modifica configurazione OAuth specificare i campi riportati di seguito.
- In Configurazione client, selezionare il valore predefinitoConfigura questa applicazione come client ora.
- In Autorizzazione, selezionare Credenziali client. Mantenere lo stato predefinito delle altre configurazioni.
- Selezionare Aggiungi ruoli applicazione.
- Nella finestra di dialogo Aggiungi ruoli applicazione, fare clic su Amministratore dominio di Identity e selezionare Aggiungi.
- Dopo aver aggiunto i ruoli applicazione, fare clic su Sottometti.
- Attivare l'applicazione.
Nota
Assicurarsi di prendere nota dell'ID client e del segreto client della sezione Informazioni generali dell'applicazione integrata.
Crea nuova richiesta per il token JWT
Per recuperare un nuovo token di accesso per l'applicazione amministratore del dominio di Identity, sono necessari CLIENT ID, CLIENT SECRET e DOMAIN URL.
Abbiamo CLIENT ID e CLIENT SECRET dall'applicazione integrata di dominio creata nel passo precedente.
Il file DOMAIN URL è disponibile nella pagina del dominio sotto Informazioni sul dominio.
Eseguire il comando seguente e sostituire i valori (CLIENT ID), (CLIENT SECRET) e (DOMAIN URL) con i valori.
export ACCESS_TOKEN=$(curl -s -i -u"(CLIENT ID):(CLIENT SECRET)" -H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" --request POST (DOMAIN URL)/oauth2/v1/token -d
"grant_type=client_credentials&scope=urn:opc:idm:__myscopes__" | tail -n +1 | grep -o
'"access_token":"[^"]*' | cut -d'"' -f4)Client ID: 123a1234e1234567aa12345a1abcdefg1Client Secret: idcscs-12a1a123-a123-1234-1234-e1a05aabc123Domain URL: https://idcs-a123ab1ab12a4bb99a9aa9ab99aabbb9.identity.oraclecloud.com:443
export ACCESS_TOKEN=$(curl -s -i -u"123a1234e1234567aa12345a1abcdefg1: idcscs-12a1a123-a123-1234-1234-e1a05aabc123" -H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8" --request POST https://idcs-a123ab1ab12a4bb99a9aa9ab99aabbb9.identity.oraclecloud.com:443/oauth2/v1/token -d "grant_type=client_credentials&scope=urn:opc:idm:__myscopes__" |
tail -n +1 | grep -o '"access_token":"[^"]*' | cut -d'"'
-f4)
echo $ACCESS_TOKENL'immagine seguente mostra come vengono visualizzati i comandi sopra riportati nella shell Bash.
Visualizza l'output costituito da più righe (oltre 10) contenenti caratteri alfanumerici.
(ROLE CLAIM NAME) come ssaddin.role e (MODIFIED FQN) come urn:ietf:params:scim:schemas:idcs:extension:custom:User.rbac_ords:
Utilizzare FQN dal passaggio 1 e sostituire il finale ":" con un ".".
Ad esempio, FQN dal passo 1 è:
urn:ietf:params:scim:schemas:idcs:extension:custom:User:rbac_ordsQuindi il MODIFIED FQN dovrebbe essere:
urn:ietf:params:scim:schemas:idcs:extension:custom:User.rbac_ordscurl -i -X POST (DOMAIN URL)/admin/v1/CustomClaims -H"Cache-Control: no-cache" -H"Accept:application/json" -H"Content-Type:application/json" -H"Authorization: Bearer $ACCESS_TOKEN" -d '{
"schemas": [
"urn:ietf:params:scim:schemas:oracle:idcs:CustomClaim"
],
"name": "(ROLE CLAIM NAME)",
"value": "$user.(MODIFIED FQN).*",
"expression": true,
"mode": "always",
"tokenType": "AT",
"allScopes": false,
"scopes": [
"ssaddin/rbac"
]
}'Sostituire
Domain URL con il relativo valore effettivo nel codice sopra riportato.
Verrà visualizzato quanto segue come output:HTTP/1.1 201 Created.
Abilitare il login IAM RBAC per lo schema Autonomous Database
- Nella scheda Navigator del foglio di lavoro SQL, selezionare
ORDS_METADATAdall'elenco a discesa Schema. - Selezionare
Packagesdall'elenco a discesa Tipo di oggetto. - Digitare
ORDS_SECURITYnel campo Cerca. La funzione di ricerca recupera tutte le voci che iniziano conORDS_SECURITY. - Espandere il pacchetto
ORDS_SECURITY. - Fare clic con il pulsante destro del mouse su
CREATE_JWT_PROFILEe fare clic suRUN. Viene visualizzata una finestra di dialogoRUN CODE.Nella finestra di dialogo Run Code (Codice esecuzione…), specificare i seguenti valori di campo:- P_ISSUER: https://identity.oraclecloud.com/. Questo campo deve essere un valore non nullo e deve essere compilato con una virgola singola.
- P_AUDIENCE-ssaddin/. Questo campo deve essere un valore non nullo.
- P_JWK_URL: consente di aggiungere l'URL DOMINIO con /admin/v1/SigningCert/jwk. Deve essere un valore non nullo che inizi con https:// e identifichi la chiave di verifica pubblica fornita dal server di autorizzazione in formato JWK (JSON Web Key).
È possibile visualizzare l'URL dominio nella scheda Informazioni dominio presente nel menu Domini del menu di navigazione Identità e sicurezza della console OCI.
- P_DESCRIPTION: immettere la descrizione del profilo. Ad esempio, "RBAC JWT Demo confluence".
- P_ALLOWED_AGE-"0"
- P_ALLOWED_SKEW-"0"
- P_ROLE_CLAIM_NAME- "ssaddin.role"
Fare clic su Inserisci codice nel foglio di lavoro.
Eseguire la procedura.
Verrà visualizzata la "procedura PL/SQL completata correttamente" nel pannello di output.
Creare un file di connessione
-
Fare clic su Aggiungi nell'intestazione del riquadro Connessioni per aggiungere una connessione. Viene visualizzata la finestra di dialogo Aggiungi nuova connessione.
- Specificare i campi riportati di seguito nella finestra di dialogo Aggiungi nuova connessione.
- Nome connessione: immettere il nome della connessione.
- URL di Autonomous Database: immettere l'URL dell'Autonomous Database a cui si desidera connettersi. Copiare l'intero URL dall'interfaccia utente Web di Autonomous Database. Ad esempio, immettere o copiare il collegamento seguente "https://<nomehost>-<nomebase>.adb.<regione>.oraclecloudapps.com/" per connettersi al database.
- Nome schema: immettere lo stesso schema utilizzato per Abilitare il login IAM per lo schema di Autonomous Database.
- Selezionare il tipo di connessione: OCI IAM
- URL dominio: immettere l'URL dominio nella scheda Informazioni dominio.
- Selezionare il tipo IAM RBAC.
- Ambito IAM:
ssaddin/rbac
Una volta creata la connessione, è possibile condividerla con altri utenti di questo dominio.
Argomento padre: Strumento di analisi dei dati


















