> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livingsecurity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Okta integrācijas iestatīšana

> Pievienojiet Okta platformai Living Security, lai iegūtu datus par lietotāju dzīvescikla notikumiem, autentifikāciju, MFA un administratīvajām darbībām.

export const PublicIntegrationNextSteps = () => <>
    <hr />
    <h2>Saistītie resursi</h2>
    <ul>
      <li>
        <a href="/lv/signals/data-sources">Uzziniet, kā integrāciju dati kļūst par cilvēciskā riska pārvaldības signāliem</a>
      </li>
      <li>
        <a href="https://www.livingsecurity.com/integrations">Izpētiet Living Security Integrations</a>
      </li>
      <li>
        <a href="https://app.livingsecurity.ai/">Atveriet Living Security Platform</a>
      </li>
      <li>
        <a href="https://www.livingsecurity.com/request-demo/">Pieprasiet Living Security demonstrāciju</a>
      </li>
    </ul>
  </>;

export const EgressIpSafelist = ({system}) => <Note>
    <strong>Pievienojiet visas četras Living Security sinhronizācijas izejošā datplūsmas IP adreses</strong> atļauto sarakstam sistēmā{' '}
    {system}. Ja {system} sagaida CIDR pierakstu, katru adresi ievadiet kā atsevišķu resursdatoru ar <code>/32</code>:
    <br />
    <code>52.34.139.153/32</code>, <code>54.69.127.183/32</code>, <code>44.247.133.183/32</code>,{' '}
    <code>52.26.211.56/32</code>
    <br />
    <br />
    Datplūsma var iziet no jebkuras no šīm četrām adresēm, tāpēc, ja atļauto sarakstam tiek pievienotas tikai dažas no tām, rodas periodiskas sinhronizācijas kļūmes. Šīs četras adreses ir vienādas visos Living Security reģionos. Pilnu sarakstu, izmaiņu politiku un problēmu novēršanas norādījumus skatiet sadaļā{' '}
    <a href="/lv/integrations/managing/egress-ip-addresses">
      Configuring Integration Egress IP Addresses
    </a>.
  </Note>;

export const ConnectInPlatform = ({tile, children}) => <Step title="Ievadiet akreditācijas datus Living Security Platform">
    <p>
      Šo darbību veic persona, kurai ir Living Security piekļuve — programmas īpašnieks vai
      sistēmas administrators, ja viņš ir uzaicināts (deleģēta iestatīšana).
    </p>
    <ol>
      <li>
        Dodieties uz <strong>Settings → Integrations → Catalog</strong>, atrodiet elementu{' '}
        <strong>{tile}</strong>, noklikšķiniet uz <strong>Connect</strong>.
      </li>
      <li>
        Aizpildiet tālāk norādītos laukus, pēc tam noklikšķiniet uz <strong>Connect</strong>.
      </li>
    </ol>
    {children}
  </Step>;

## Pārskats

Okta var sniegt normalizētus datus par lietotāju dzīvescikla notikumiem, autentifikāciju, MFA un administratīvajām darbībām. Pārskatīti piemēri:

* `account.locked` — konts bloķēts
* `mfa.factor.activated` — aktivizē papildu MFA faktorus
* `auth.login.failed` — neizdodas pieteikties

Abas savienojuma metodes nolasa vienas un tās pašas divas datu plūsmas — lietotāju direktoriju (`/api/v1/users`) un sistēmas žurnālu (`/api/v1/logs`). Skatiet sadaļu [kā integrāciju dati kļūst par Signals](/lv/signals/data-sources).

## Savienojuma metodes izvēle

| | **Okta (SSWS)** | **Okta (OAuth 2.0)** |
| - | - | - |
| Akreditācijas dati | API token, ko izveidojat Admin Console | Klienta ID un privātā JWK, ko ģenerējat un reģistrējat |
| Iestatīšana | Trīs soļi, nav jāģenerē atslēgu materiāls | Deviņi soļi, tostarp RSA atslēgu pāris |
| Nepieciešamā administratora loma | Tikai lasīšanas tiesību administrators, kas piešķirts tokena īpašniekam | Tikai lasīšanas tiesību administrators, kas piešķirts lietojumprogrammai |
| Tokena derīguma termiņš | Tiek deaktivizēts pēc 30 dienām bez lietošanas | Bez derīguma termiņa; atslēgu pāra rotācija ir jūsu pārziņā |
| Kad izmantot | Ieteicamais variants lielākajai daļai organizāciju | Jūsu drošības politika aizliedz ilgstoši derīgus API tokenus |

Abām metodēm nepieciešama vienāda piekļuve, tāpēc izvēle attiecas uz akreditācijas datu apstrādi, nevis uz to, ko platforma var nolasīt.

***

## A variants — API token (SSWS)

*Ieteicams.*

### Kas nepieciešams Living Security

| Akreditācijas dati | Apraksts |
| - | - |
| **API key** | Okta API token. Savienojuma dialoglodziņā šis lauks ir apzīmēts kā **API key** |
| **Tenant subdomain** | `<tenant>` adresē `<tenant>.okta.com` — tikai apakšdomēns, nevis pilns URL |

### Priekšnosacījumi

* Jums jābūt Okta **Super Administrator**, lai izveidotu servisa konta lietotāju, piešķirtu administratora lomas un izveidotu API tokenus.

<Steps>
  <Step title="Izveidojiet lietotāju, kam piederēs tokens">
    Okta API token manto tā lietotāja atļaujas, kurš to izveidojis, un pārstāj darboties, ja šis lietotājs tiek deaktivizēts. Izveidojiet īpašu servisa kontu, nevis izmantojiet personīgo administratora kontu, lai savienojums saglabātos pēc personāla izmaiņām.

    1. Admin Console atveriet **Directory** → **People**.
    2. Noklikšķiniet uz **Add person** un izveidojiet lietotāju, piemēram, `svc-livingsecurity@yourcompany.com`.
    3. Aktivizējiet kontu.
  </Step>

  <Step title="Piešķiriet tikai lasīšanas tiesību administratora lomu">
    Platforma tikai nolasa datus. Piešķirot plašākas tiesības nekā lasīšana, tokenam tiek dotas atļaujas, kuras tas nekad neizmanto.

    1. Atveriet **Security** → **Administrators**.
    2. Noklikšķiniet uz **Add administrator** un atlasiet iepriekšējā solī izveidoto lietotāju.
    3. Piešķiriet lomu **Read-only Administrator**.
    4. Saglabājiet.

    <Note>
      Ja nav piešķirta administratora loma, izsaukumi uz Okta Management API tiek izpildīti ar `200 OK` un atgriež tukšu sarakstu. Nav `403`, kas norādītu uz trūkstošo lomu — datu plūsmas vienkārši paliek tukšas.
    </Note>
  </Step>

  <Step title="Izveidojiet API token">
    1. Pierakstieties Admin Console **kā servisa konta lietotājs** no 1. soļa. Tokens manto to kontu, kas to izveido.
    2. Atveriet **Security** → **API** un atveriet cilni **Tokens**.
    3. Noklikšķiniet uz **Create token**, piešķiriet tam nosaukumu, piemēram, `Living Security Platform`, un noklikšķiniet uz **Create token**.
    4. Nekavējoties nokopējiet tokena vērtību — Okta to parāda tikai vienreiz.

    <Warning>
      Okta deaktivizē API token pēc **30 dienām bez lietošanas**. Šīs integrācijas sinhronizācijas darbojas vismaz reizi dienā, tāpēc aktīvs savienojums uztur savu tokenu dzīvu. Savienojumam, kas mēnesi atstāts apturētā stāvoklī, nepieciešams jauns tokens.
    </Warning>

    <EgressIpSafelist system="Okta" />

    <Note>
      Iepriekš norādītais adrešu saraksts ir svarīgs tikai tad, ja jūsu Okta organizācija ierobežo API piekļuvi pēc **network zone**. Lielākā daļa organizāciju to nedara.
    </Note>
  </Step>

  <Step title="Atrodiet savu tenant subdomain">
    Jūsu Admin Console URL izskatās šādi: `https://acme-admin.okta.com`. Tenant subdomain ir `acme` — bez sufiksa `-admin`, bez `.okta.com` un bez `https://`.
  </Step>

  <ConnectInPlatform tile="Okta (SSWS)">
    | Lauks | Vērtība |
    | - | - |
    | **API key** | API token no 3. soļa |
    | **Tenant subdomain** | Apakšdomēns no 4. soļa (piemēram, `acme`) |
  </ConnectInPlatform>
</Steps>

Tagad esat izveidojis savienojumu ar Okta (SSWS).

### Problēmu novēršana

<AccordionGroup>
  <Accordion title="401 Unauthorized">
    Tokens nav derīgs, tika atsaukts vai deaktivizēts pēc 30 dienu neaktivitātes. Izveidojiet jaunu tokenu kā servisa konta lietotājs un atkārtoti ievadiet to savienojumā.
  </Accordion>

  <Accordion title="Savienojums izveidots, bet visas datu plūsmas ir tukšas">
    Tokena īpašniekam nav piešķirta administratora loma. Piešķiriet servisa kontam **Read-only Administrator** (2. solis) — ja loma nav piešķirta, API atgriež `200 OK` ar tukšu sarakstu, nevis kļūdu.
  </Accordion>

  <Accordion title="Sinhronizācijas neizdodas pēc personāla izmaiņām">
    Tokens pārstāj darboties, ja tiek deaktivizēts lietotājs, kurš to izveidoja. Tāpēc tokenam jāpieder servisa kontam, nevis personai.
  </Accordion>
</AccordionGroup>

***

## B variants — OAuth 2.0 servisa lietojumprogramma

Izmantojiet šo metodi, ja jūsu drošības politika neatļauj ilgstoši derīgus API tokenus. Tā aizstāj tokenu ar klienta ID un jums piederošu RSA atslēgu pāri. Platformā tā ir ikona **Okta (OAuth 2.0)** sadaļā **Settings → Integrations → Catalog**.

Lai autentificētos Okta, izmantojot Client Credentials, nepieciešams:

1. **Client ID** — unikāls jūsu Okta API Services lietojumprogrammas identifikators.
2. **Private Key (JWK)** — RSA privātā atslēga JSON Web Key formātā, kuras publiskā atslēga ir reģistrēta jūsu Okta lietojumprogrammā.
3. **Okta Domain** — tikai jūsu Okta tenant apakšdomēns (piemēram, `dev-12345678`), nevis pilns resursdatora nosaukums.
4. **Scopes** — ar atstarpēm atdalīts Okta Management API tvērumu (scopes) saraksts (piemēram, `okta.users.read okta.logs.read`).

Šī rokasgrāmata palīdzēs izveidot API Services lietojumprogrammu Okta ar `private_key_jwt` autentifikāciju.

### Priekšnosacījumi:

* Jums jābūt Okta kontam. Bezmaksas izstrādātāja kontu varat izveidot vietnē [developer.okta.com](https://developer.okta.com/signup/).

#### 1. solis: Okta API Services lietojumprogrammas izveide

1. Pierakstieties savā [Okta Admin Console](https://login.okta.com/).
2. Kreisajā sānjoslā atveriet **Applications** > **Applications**.
3. Noklikšķiniet uz **Create App Integration**.
4. Kā pierakstīšanās metodi atlasiet **API Services** un noklikšķiniet uz **Next**.

<img src="https://raw.githubusercontent.com/NangoHQ/nango/master/docs/api-integrations/okta-cc/select-api-service.png" style={{maxWidth: "550px"}} />

5. Piešķiriet lietojumprogrammai nosaukumu un noklikšķiniet uz **Save**.
6. Lietojumprogrammas cilnē **General** atrodiet savu **Client ID** — tas būs nepieciešams pēdējā solī.
7. Iestatiet Client authentication uz **Public key / Private key**. `okta.*` tvērumi (scopes) tiek atbalstīti tikai ar šo autentifikācijas metodi.

<img src="https://raw.githubusercontent.com/NangoHQ/nango/master/docs/api-integrations/okta-cc/select-public-private-key.png" style={{maxWidth: "550px"}} />

8. Atspējojiet **Proof of possession (DPoP)** — tas netiek atbalstīts.

<img src="https://raw.githubusercontent.com/NangoHQ/nango/master/docs/api-integrations/okta-cc/disable-dpop.png" style={{maxWidth: "550px"}} />

<Note>
  Lietojumprogramma jāizveido kā **API Services**.
</Note>

#### 2. solis: RSA atslēgu pāra ģenerēšana un reģistrēšana

##### Okta atslēgu ģeneratora izmantošana

Okta var ģenerēt RSA atslēgu pāri tieši Admin Console:

1. Admin Console atveriet savu API Services lietojumprogrammu.
2. Atveriet cilni **General** un ritiniet līdz sadaļai **PUBLIC KEYS**.
3. Noklikšķiniet uz **Add Key** un pēc tam atlasiet **Generate new key**.
4. Noklikšķiniet uz **Save** — Okta ģenerē atslēgu pāri un vienreiz parāda **Private Key (JWK)**.
5. Nekavējoties nokopējiet un saglabājiet privātās atslēgas JSON — tā vairs netiks parādīta.

<img src="https://raw.githubusercontent.com/NangoHQ/nango/master/docs/api-integrations/okta-cc/create-public-key.png" style={{maxWidth: "550px"}} />

6. Publiskā atslēga tiek automātiski reģistrēta jūsu lietojumprogrammā.

<Note>
  Nokopējiet privāto JWK, pirms aizverat dialoglodziņu. Ielīmējiet to laukā **Private Key** platformā Living Security Platform pēdējā solī.
</Note>

##### Savas atslēgas izveide

Okta API Services lietojumprogrammām izmanto `private_key_jwt`. Jūs ģenerējat RSA atslēgu pāri, reģistrējat **publisko** JWK Okta un norādāt **privāto** JWK platformai Living Security Platform.

**Ģenerējiet privāto JWK**, izmantojot šādu Node.js skriptu (nepieciešams Node.js 18+):

```javascript theme={null}
const { generateKeyPairSync } = require('crypto');
const { privateKey, publicKey } = generateKeyPairSync('rsa', { modulusLength: 2048 });

const privateJwk = privateKey.export({ format: 'jwk' });
const publicJwk  = publicKey.export({ format: 'jwk' });

// Assign a kid — must match between private and public JWK
const kid = require('crypto').randomUUID();
privateJwk.kid = kid;
publicJwk.kid  = kid;

console.log('=== PUBLIC JWK (upload to Okta) ===');
console.log(JSON.stringify(publicJwk, null, 2));
console.log('\n=== PRIVATE JWK (paste into the Living Security Platform) ===');
console.log(JSON.stringify(privateJwk));
```

**Reģistrējiet publisko JWK Okta:**

1. Admin Console atveriet savu API Services lietojumprogrammu.
2. Atveriet cilni **General** un ritiniet līdz sadaļai **PUBLIC KEYS**.
3. Noklikšķiniet uz **Add Key**, ielīmējiet no iepriekšējā skripta iegūto **publiskās JWK JSON** izvadi un noklikšķiniet uz **Save**.

<Note>
  Privātā JWK ir tā, ko ielīmējat platformā Living Security Platform. Tā ietver visu atslēgu materiālu (`d`, `p`, `q`, `dp`, `dq`, `qi`) un `kid`. Glabājiet to slepenībā.
</Note>

#### 3. solis: Okta Domain atrašana

Ievadiet tikai sava Okta tenant apakšdomēnu — daļu pirms `.okta.com`.

* Admin Console pārlūkprogrammas adreses joslā tiks rādīts URL, piemēram, `https://dev-12345678-admin.okta.com`.
* Jūsu **Okta Domain** ir tikai apakšdomēns (piemēram, `dev-12345678`), nevis `dev-12345678.okta.com`.
* Varat arī Admin Console atvērt **Settings** > **Account**, lai atrastu savu Okta domēnu, un pēc tam izmantot apakšdomēna daļu.

#### 4. solis: API tvērumu (scopes) piešķiršana lietojumprogrammai

Okta katrā tokena pieprasījumā prasa vismaz vienu tvērumu. Pirms lietojumprogramma var pieprasīt konkrētus tvērumus, tie ir jāpiešķir:

1. Admin Console atveriet **Applications** > **Applications** un atveriet savu lietojumprogrammu.
2. Noklikšķiniet uz cilnes **Okta API Scopes**.
3. Piešķiriet tvērumus, kas nepieciešami jūsu integrācijai: `okta.users.read` un `okta.logs.read`.

Pilns pieejamo tvērumu saraksts ir [Okta Management API atsaucē](https://developer.okta.com/docs/api/oauth2/#okta-admin-management).

#### 5. solis: Administratora lomas piešķiršana lietojumprogrammai

Ar tvērumu piešķiršanu vien nepietiek — Okta Management API galapunkti (piemēram, `/api/v1/users`) bez paziņojuma atgriež tukšu `200 []` atbildi, ja lietojumprogrammai nav administratora lomas. Jāpiešķir vismaz **Read-Only Administrator**:

1. Admin Console atveriet **Security** > **Administrators** (vai atveriet **Applications** > **Applications** > jūsu lietojumprogramma > **Admin roles**).
2. Noklikšķiniet uz **Add administrator assignment** un atlasiet savu API Services lietojumprogrammu.

<img src="https://raw.githubusercontent.com/NangoHQ/nango/master/docs/api-integrations/okta-cc/admin-role-dropdown.png" style={{maxWidth: "550px"}} />

3. Piešķiriet lomu **Read-Only Administrator** (vai augstāku, atkarībā no nepieciešamajiem tvērumiem).
4. Noklikšķiniet uz **Save**.

<img src="https://raw.githubusercontent.com/NangoHQ/nango/master/docs/api-integrations/okta-cc/add-admin-role.png" style={{maxWidth: "550px"}} />

<Note>
  Ja nav administratora lomas, API izsaukumi tiek izpildīti ar `200 OK`, bet atgriež tukšus rezultātus, un nav `403` kļūdas, kas norādītu uz problēmu.
</Note>

#### 6. solis: Akreditācijas datu ievade platformā Living Security Platform

Kad jums ir **Client ID**, **Private Key (JWK)**, **Okta Domain** un **Scopes**:

1. Atveriet veidlapu, kurā jāautentificējas Okta (Client Credentials).
2. Ievadiet savu **Client ID**.
3. Ielīmējiet savu **Private Key (JWK)** — pilnu JSON objektu no iepriekšējā skripta (vienā rindā vai formatētu).
4. Ievadiet savu **Okta Domain** kā tikai tenant apakšdomēnu (piemēram, `dev-12345678`).
5. Ievadiet **Scopes** kā ar atstarpēm atdalītu sarakstu (piemēram, `okta.users.read okta.logs.read`).
6. Iesniedziet veidlapu, un autentifikācijai jāizdodas.

Tagad esat izveidojis savienojumu ar Okta (Client Credentials).

***

<Note>Šīs dokumentācijas daļas ir adaptētas no [Nango](https://nango.dev/docs/) un tiek izmantotas saskaņā ar [Elastic License 2.0](https://github.com/NangoHQ/nango?tab=License-1-ov-file#readme).</Note>

<PublicIntegrationNextSteps />


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.