Docs
PlataformaProvedores de identidade

Okta

O formulário da conexão Okta, o API Services app e a private key, as mensagens do check, tokens dos seus serviços e o harness login.

Formulário da conexão Okta

O Xokepoint lê usuários e grupos do Okta com um API Services app da sua org. Para esse tipo de app, o Okta aceita só uma chave assinada, nunca um client secret: você gera a chave no Okta e cola uma única vez no formulário. Quem entra a partir de um harness de código passa por um segundo app, um OIDC Web app, porque o API Services app não autentica pessoas.

Connection

  • Connection name e Enable connection, como nas outras conexões.
  • Okta org URL: o endereço da sua org, como https://acme.okta.com, ou o seu custom domain. Não use o endereço do Admin Console: tire o -admin. Onde achar o domínio do Okta

Okta API Services app

O formulário guia em quatro passos, cada um com o link do guia do Okta:

  1. Create an API Services app: no Okta Admin Console, Applications, Applications, Create App Integration, API Services. Copie o Client ID. Guia do Okta: criar um service app
  2. Generate a key: no app, aba General, Client Credentials, Edit, depois Public key / Private key. Em Save keys in Okta, escolha Add key e Generate new key. Copie a private key em formato JSON na hora, porque o Okta mostra a chave uma única vez. Mantenha o DPoP obrigatório: cada token do Okta fica preso a uma chave que só o Xokepoint guarda. Guia do Okta: gerar a chave
  3. Grant the scopes okta.users.read e okta.groups.read na aba Okta API Scopes. Só um Super Administrator concede esses scopes, e os dois são só de leitura. Guia do Okta: conceder scopes
  4. Assign an admin role: aba Admin roles, Edit assignments, Read-only Administrator. Sem um papel atribuído, o Okta não libera os scopes. Guia do Okta: atribuir admin roles
CampoO que preencher
Client IDO Client ID do API Services app
Private key (JSON)A chave que o Okta mostra depois de Generate new key, com o kid. Um arquivo PEM ou uma chave pública são recusados. Guardada cifrada e nunca exibida de novo. Change troca a chave. Uma org URL ou um client ID novo pede a chave desse app

Uma pessoa é identificada pelo Okta user ID, o mesmo valor no harness login, nos tokens dos seus serviços e no diretório do Okta. Trocar o login ou o e-mail não muda esse identificador.

Pessoas desativadas não aparecem na lista. O grupo Everyone do Okta também fica de fora, para que nenhum agente seja aberto à org inteira por engano. Os grupos que o Okta importa do Active Directory ou do LDAP aparecem junto com os demais.

Check connection

Check connection lê os metadados e as chaves de assinatura da org, obtém um token do Okta com a private key e o DPoP, lê um usuário, lê os grupos e lê os grupos desse usuário. Cada mensagem aponta o passo que corrige o problema:

MensagemCorreção
Could not read this Okta orgConfira a org URL, sem -admin
Could not read this custom authorization serverCopie o Issuer em Security, API, Authorization Servers
Okta rejected the appConfira o client ID, cole a private key deste app e escolha Public key / Private key (passo 2)
A scope is not grantedConceda okta.users.read e okta.groups.read (passo 3)
The app can not read usersAtribua o papel Read-only Administrator (passo 4)
The app can not read groupsConceda okta.groups.read (passo 3). O harness login depende disso

Request authentication

Só é necessário quando um serviço seu troca o access token do Okta de um usuário por um token de agente. O Okta não permite que terceiros validem os access tokens do org authorization server, então esse caso exige um custom authorization server, que faz parte do Okta API Access Management. Guia do Okta: custom authorization server

  • Accept tokens from your services: desligado por padrão. O harness login e o diretório funcionam sem ele.
  • Custom authorization server issuer: o Issuer exibido em Security, API, Authorization Servers. Ele precisa ser da mesma org, <org URL>/oauth2/<ID>, por exemplo https://acme.okta.com/oauth2/default.
  • Accepted audiences: a Audience desse servidor, api://default por padrão. Add audience inclui outra.

A access policy do servidor precisa permitir o serviço seu que pede o token. O token tem que ser de uma pessoa da org: um token sem usuário, como o de client credentials, é recusado.

Harness login

As pessoas entram a partir de um harness de código com a conta do Okta (Harness login). O login usa um OIDC Web Application, não o API Services app:

  1. No Okta Admin Console, Applications, Create App Integration, OIDC - OpenID Connect, Web Application, com o grant Authorization Code e autenticação por client secret. Guia do Okta: criar um app OIDC
  2. Cole o Redirect URI do formulário em Sign-in redirect URIs.
  3. Em Assignments, atribua os grupos das pessoas autorizadas a entrar. O Okta recusa todas as outras antes que o login chegue ao Xokepoint.
  4. Copie o Client ID e o Client secret para Login client ID e Login client secret.

A cada login, o Xokepoint lê os grupos da pessoa com o okta.groups.read do API Services app. Qualquer grupo, menos o Everyone, pode ser escolhido em um agente.

Trocar a org

Se você trocar a org URL de uma conexão salva, as pessoas associadas antes pertencem à org anterior e perdem o acesso. O Xokepoint não bloqueia a troca.