Skip to main content

Prezentare generală

Okta poate furniza activitate normalizată privind ciclul de viață al utilizatorilor, autentificarea, MFA și activitatea administrativă. Exemplele analizate includ:
  • account.locked — cont blocat
  • mfa.factor.activated — activează factori MFA suplimentari
  • auth.login.failed — eșuează la autentificare
Ambele metode de conectare citesc aceleași două fluxuri — directorul de utilizatori (/api/v1/users) și jurnalul de sistem (/api/v1/logs). Consultați cum devin datele de integrare semnale.

Alegeți o metodă de conectare

Ambele metode necesită același acces, deci alegerea ține de gestionarea credențialelor, nu de ceea ce poate citi platforma.

Opțiunea A — Token API (SSWS)

Recomandat.

Ce are nevoie Living Security

Cerințe preliminare

  • Trebuie să fiți Super Administrator în Okta pentru a crea un utilizator de cont de serviciu, a atribui roluri de administrator și a crea token-uri API.
1

Creați un utilizator care să dețină token-ul

Un token API Okta are permisiunile utilizatorului care l-a creat și nu mai funcționează dacă acel utilizator este dezactivat. Creați un cont de serviciu dedicat în loc să utilizați un cont personal de administrator, astfel încât conexiunea să reziste schimbărilor de personal.
  1. În Admin Console, accesați Directory → People.
  2. Faceți clic pe Add person și creați un utilizator precum svc-livingsecurity@yourcompany.com.
  3. Activați contul.
2

Atribuiți rolul de administrator cu drepturi de citire

Platforma doar citește. Acordarea de drepturi mai mari decât cele de citire oferă token-ului permisiuni pe care nu le utilizează niciodată.
  1. Accesați Security → Administrators.
  2. Faceți clic pe Add administrator și selectați utilizatorul din pasul anterior.
  3. Atribuiți rolul Read-only Administrator.
  4. Save.
Fără un rol de administrator, apelurile către Okta Management API reușesc cu 200 OK și returnează o listă goală. Nu există 403 care să vă indice că rolul lipsește — fluxurile rămân pur și simplu goale.
3

Creați token-ul API

  1. Conectați-vă la Admin Console ca utilizator al contului de serviciu din pasul 1. Token-ul moștenește drepturile contului care îl creează.
  2. Accesați Security → API și deschideți fila Tokens.
  3. Faceți clic pe Create token, denumiți-l, de exemplu Living Security Platform, apoi faceți clic pe Create token.
  4. Copiați acum valoarea token-ului — Okta o afișează o singură dată.
Okta dezactivează un token API după 30 de zile fără utilizare. Sincronizările din această integrare rulează cel puțin o dată pe zi, deci o conexiune activă își menține în viață propriul token. O conexiune lăsată în pauză o lună necesită un token nou.
Lista de adrese de mai sus este relevantă doar dacă organizația dumneavoastră Okta restricționează accesul API în funcție de network zone. Majoritatea organizațiilor nu fac acest lucru.
4

Găsiți subdomeniul tenantului

URL-ul Admin Console arată astfel: https://acme-admin.okta.com. Subdomeniul tenantului este acme — fără sufixul -admin, fără .okta.com și fără https://.
Acum sunteți conectat la Okta (SSWS).

Depanare

Token-ul este nevalid, a fost revocat sau a fost dezactivat după 30 de zile de inactivitate. Creați un token nou ca utilizator al contului de serviciu și introduceți-l din nou în conexiune.
Proprietarul token-ului nu are un rol de administrator. Atribuiți Read-only Administrator contului de serviciu (pasul 2) — API-ul returnează 200 OK cu o listă goală, în loc de o eroare, atunci când rolul lipsește.
Token-ul nu mai funcționează dacă utilizatorul care l-a creat este dezactivat. Din acest motiv, token-ul trebuie să aparțină unui cont de serviciu, nu unei persoane.

Opțiunea B — Aplicație de serviciu OAuth 2.0

Utilizați această metodă atunci când politica dumneavoastră de securitate nu permite token-uri API cu durată lungă de viață. Ea înlocuiește token-ul cu un ID client și o pereche de chei RSA pe care le dețineți dumneavoastră. În platformă, aceasta este tile-ul Okta (OAuth 2.0), din Setări → Integrari → Catalog. Pentru a vă autentifica în Okta folosind Client Credentials, aveți nevoie de următoarele:
  1. ID client - Un identificator unic pentru aplicația dumneavoastră Okta API Services.
  2. Cheie privată (JWK) - Cheia privată RSA în format JSON Web Key, a cărei cheie publică este înregistrată în aplicația dumneavoastră Okta.
  3. Domeniu Okta - Doar subdomeniul tenantului dumneavoastră Okta (de exemplu dev-12345678), nu numele complet de gazdă.
  4. Scope-uri - O listă de scope-uri Okta Management API separate prin spațiu (de exemplu okta.users.read okta.logs.read).
Acest ghid vă va îndruma în crearea unei aplicații API Services în Okta cu autentificare private_key_jwt.

Cerințe preliminare:

  • Trebuie să aveți un cont Okta. Puteți crea un cont gratuit de dezvoltator la developer.okta.com.

Pasul 1: Crearea aplicației Okta API Services

  1. Conectați-vă la Okta Admin Console.
  2. În bara laterală din stânga, accesați Applications > Applications.
  3. Faceți clic pe Create App Integration.
  4. Selectați API Services ca metodă de autentificare și faceți clic pe Next.
  1. Denumiți aplicația și faceți clic pe Save.
  2. În fila General a aplicației, găsiți Client ID — veți avea nevoie de el în ultimul pas.
  3. Setați Client authentication la Public key / Private key. Scope-urile okta.* sunt acceptate doar cu această metodă de autentificare.
  1. Dezactivați Proof of possession (DPoP) — nu este acceptat.
Aplicația trebuie creată ca API Services.

Pasul 2: Generarea și înregistrarea perechii de chei RSA

Utilizați generatorul de chei Okta
Okta poate genera pentru dumneavoastră perechea de chei RSA direct în Admin Console:
  1. În Admin Console, deschideți aplicația API Services.
  2. Accesați fila General și derulați până la secțiunea PUBLIC KEYS.
  3. Faceți clic pe Add Key, apoi selectați Generate new key.
  4. Faceți clic pe Save — Okta generează perechea de chei și afișează Private Key (JWK) o singură dată.
  5. Copiați și salvați imediat JSON-ul cheii private — nu va mai fi afișat din nou.
  1. Cheia publică este înregistrată automat în aplicația dumneavoastră.
Copiați JWK-ul privat înainte de a închide dialogul. Lipiți-l în câmpul Cheie privată din Living Security Platform, în ultimul pas.
Creați propria cheie
Okta utilizează private_key_jwt pentru aplicațiile API Services. Generați o pereche de chei RSA, înregistrați JWK-ul public în Okta și furnizați JWK-ul privat către Living Security Platform. Generați un JWK privat utilizând următorul script Node.js (necesită Node.js 18+):
Înregistrați JWK-ul public în Okta:
  1. În Admin Console, deschideți aplicația API Services.
  2. Accesați fila General și derulați până la secțiunea PUBLIC KEYS.
  3. Faceți clic pe Add Key, lipiți JSON-ul JWK public rezultat din scriptul de mai sus și faceți clic pe Save.
JWK-ul privat este cel pe care îl lipiți în Living Security Platform. Acesta include tot materialul cheii (d, p, q, dp, dq, qi) și kid. Păstrați-l secret.

Pasul 3: Găsirea domeniului Okta

Introduceți doar subdomeniul tenantului dumneavoastră Okta — partea dinaintea .okta.com.
  • În Admin Console, bara de adrese a browserului va afișa un URL precum https://dev-12345678-admin.okta.com.
  • Domeniul Okta este doar subdomeniul (de exemplu, dev-12345678), nu dev-12345678.okta.com.
  • Alternativ, accesați Settings > Account în Admin Console pentru a găsi domeniul Okta, apoi utilizați partea de subdomeniu.

Pasul 4: Acordarea scope-urilor API aplicației

Okta necesită cel puțin un scope în fiecare solicitare de token. Înainte ca aplicația să poată solicita anumite scope-uri, acestea trebuie acordate:
  1. În Admin Console, accesați Applications > Applications și deschideți aplicația.
  2. Faceți clic pe fila Okta API Scopes.
  3. Acordați scope-urile necesare integrării dumneavoastră: okta.users.read și okta.logs.read.
O listă completă a scope-urilor disponibile se găsește în referința Okta Management API.

Pasul 5: Atribuirea unui rol de administrator aplicației

Acordarea scope-urilor nu este suficientă — endpoint-urile Okta Management API (de exemplu /api/v1/users) returnează în mod silențios un răspuns 200 [] gol dacă aplicația dumneavoastră nu are un rol de administrator. Trebuie să atribuiți cel puțin Read-Only Administrator:
  1. În Admin Console, accesați Security > Administrators (sau accesați Applications > Applications > aplicația dumneavoastră > Admin roles).
  2. Faceți clic pe Add administrator assignment și selectați aplicația API Services.
  1. Atribuiți rolul Read-Only Administrator (sau unul superior, în funcție de scope-urile de care aveți nevoie).
  2. Faceți clic pe Save.
Fără un rol de administrator, apelurile API reușesc cu 200 OK, dar returnează rezultate goale și nu există nicio eroare 403 care să indice problema.

Pasul 6: Introducerea credențialelor în Living Security Platform

După ce aveți ID client, Cheie privată (JWK), Domeniu Okta și Scope-uri:
  1. Deschideți formularul în care trebuie să vă autentificați în Okta (Client Credentials).
  2. Introduceți ID client.
  3. Lipiți Cheie privată (JWK) — obiectul JSON complet din scriptul de mai sus (pe o singură linie sau formatat).
  4. Introduceți Domeniu Okta doar ca subdomeniu al tenantului (de exemplu, dev-12345678).
  5. Introduceți Scope-uri ca listă separată prin spații (de exemplu, okta.users.read okta.logs.read).
  6. Trimiteți formularul și ar trebui să fiți autentificat cu succes.
Acum sunteți conectat la Okta (Client Credentials).
Porțiuni din această documentație sunt adaptate după Nango, utilizate sub Elastic License 2.0.