Skip to main content

Visão geral

O Okta pode fornecer dados normalizados de ciclo de vida de usuários, autenticação, MFA e atividade administrativa. Entre os exemplos analisados, estão:
  • account.locked — conta bloqueada
  • mfa.factor.activated — ativa fatores adicionais de MFA
  • auth.login.failed — falha ao fazer login
Ambos os métodos de conexão leem os mesmos dois fluxos — o diretório de usuários (/api/v1/users) e o log do sistema (/api/v1/logs). Consulte como os dados de integração se transformam em sinais.

Escolha um método de conexão

Ambos os métodos exigem o mesmo acesso; portanto, a escolha diz respeito ao gerenciamento de credenciais, e não ao que a plataforma consegue ler.

Opção A — Token de API (SSWS)

Recomendado.

O que o Living Security precisa

Pré-requisitos

  • Você deve ser um Super Administrator do Okta para criar um usuário de conta de serviço, atribuir funções de administrador e criar tokens de API.
1

Crie um usuário para ser o proprietário do token

Um token de API do Okta assume as permissões do usuário que o criou e deixa de funcionar se esse usuário for desativado. Crie uma conta de serviço dedicada em vez de usar uma conta de administrador pessoal, para que a conexão continue funcionando mesmo após mudanças na equipe.
  1. No Admin Console, acesse Directory → People.
  2. Clique em Add person e crie um usuário como svc-livingsecurity@yourcompany.com.
  3. Ative a conta.
2

Atribua a função de administrador somente leitura

A plataforma apenas lê dados. Conceder mais do que acesso de leitura dá ao token permissões que ele nunca utiliza.
  1. Acesse Security → Administrators.
  2. Clique em Add administrator e selecione o usuário da etapa anterior.
  3. Atribua a função Read-only Administrator.
  4. Clique em Salvar.
Sem uma função de administrador, as chamadas à API de gerenciamento do Okta são bem-sucedidas com 200 OK e retornam uma lista vazia. Não há 403 para indicar que a função está ausente — os fluxos simplesmente permanecem vazios.
3

Crie o token de API

  1. Faça login no Admin Console como o usuário da conta de serviço da etapa 1. O token herda as permissões da conta que o cria.
  2. Acesse Security → API e abra a guia Tokens.
  3. Clique em Create token, atribua um nome como Living Security Platform e clique em Create token.
  4. Copie o valor do token agora — o Okta o exibe uma única vez e nunca mais.
O Okta desativa um token de API após 30 dias sem uso. As sincronizações desta integração são executadas pelo menos uma vez por dia; portanto, uma conexão ativa mantém o próprio token ativo. Uma conexão mantida em pausa por um mês exigirá um novo token.
A lista de endereços acima só é relevante se a sua organização do Okta restringir o acesso à API por zona de rede. A maioria das organizações não faz isso.
4

Encontre o subdomínio do seu tenant

A URL do seu Admin Console tem o formato https://acme-admin.okta.com. O subdomínio do tenant é acme — sem o sufixo -admin, sem .okta.com e sem https://.
Agora você está conectado ao Okta (SSWS).

Solução de problemas

O token é inválido, foi revogado ou foi desativado após 30 dias de inatividade. Crie um novo token como o usuário da conta de serviço e insira-o novamente na conexão.
O proprietário do token não tem uma função de administrador. Atribua Read-only Administrator à conta de serviço (etapa 2) — a API retorna 200 OK com uma lista vazia, em vez de um erro, quando a função está ausente.
O token deixa de funcionar se o usuário que o criou for desativado. Por isso, o token deve pertencer a uma conta de serviço, e não a uma pessoa.

Opção B — Aplicativo de serviço OAuth 2.0

Use este método quando a sua política de segurança não permitir tokens de API de longa duração. Ele substitui o token por um ID do cliente e um par de chaves RSA de sua propriedade. Na plataforma, trata-se do bloco Okta (OAuth 2.0), em Configurações → Integrações → Catálogo. Para se autenticar no Okta usando Client Credentials, você precisa do seguinte:
  1. ID do cliente - Um identificador exclusivo para o seu aplicativo API Services do Okta.
  2. Chave privada (JWK) - A chave privada RSA no formato JSON Web Key, cuja chave pública está registrada no seu aplicativo do Okta.
  3. Domínio do Okta - Somente o subdomínio do seu tenant do Okta (por exemplo, dev-12345678), não o nome de host completo.
  4. Escopos - Uma lista de escopos da API de gerenciamento do Okta separados por espaço (por exemplo, okta.users.read okta.logs.read).
Este guia orienta você na criação de um aplicativo API Services no Okta com autenticação private_key_jwt.

Pré-requisitos:

  • Você deve ter uma conta do Okta. Cadastre-se para obter uma conta gratuita de desenvolvedor em developer.okta.com.

Etapa 1: Criação do seu aplicativo API Services do Okta

  1. Faça login no Okta Admin Console.
  2. Na barra lateral esquerda, navegue até Applications > Applications.
  3. Clique em Create App Integration.
  4. Selecione API Services como método de login e clique em Next.
  1. Dê um nome ao seu aplicativo e clique em Save.
  2. Na guia General do aplicativo, localize o seu ID do cliente — você precisará dele na etapa final.
  3. Defina Client authentication como Public key / Private key. Os escopos okta.* só são compatíveis com este método de autenticação.
  1. Desative Proof of possession (DPoP) — ele não é compatível.
O aplicativo deve ser criado como API Services.

Etapa 2: Geração e registro do seu par de chaves RSA

Use o gerador de chaves do Okta
O Okta pode gerar o par de chaves RSA para você diretamente no Admin Console:
  1. No Admin Console, abra o seu aplicativo API Services.
  2. Acesse a guia General e role até a seção PUBLIC KEYS.
  3. Clique em Add Key e, em seguida, selecione Generate new key.
  4. Clique em Save — o Okta gera o par de chaves e exibe a Chave privada (JWK) uma única vez.
  5. Copie e salve imediatamente o JSON da chave privada — ele não será exibido novamente.
  1. A chave pública é registrada automaticamente no seu aplicativo.
Copie a JWK privada antes de fechar a caixa de diálogo. Cole-a no campo Private Key na Living Security Platform, na etapa final.
Crie sua própria chave
O Okta usa private_key_jwt para aplicativos API Services. Você gera um par de chaves RSA, registra a JWK pública no Okta e fornece a JWK privada à Living Security Platform. Gere uma JWK privada usando o seguinte script Node.js (requer Node.js 18+):
Registre a JWK pública no Okta:
  1. No Admin Console, abra o seu aplicativo API Services.
  2. Acesse a guia General e role até a seção PUBLIC KEYS.
  3. Clique em Add Key, cole o JSON da JWK pública gerado pelo script acima e clique em Save.
A JWK privada é o que você cola na Living Security Platform. Ela inclui todo o material da chave (d, p, q, dp, dq, qi) e o kid. Mantenha-a em sigilo.

Etapa 3: Localização do seu domínio do Okta

Insira somente o subdomínio do seu tenant do Okta — a parte anterior a .okta.com.
  • No Admin Console, a barra de endereços do navegador exibirá uma URL como https://dev-12345678-admin.okta.com.
  • Seu Domínio do Okta é somente o subdomínio (por exemplo, dev-12345678), não dev-12345678.okta.com.
  • Como alternativa, acesse Configurações > Account no Admin Console para encontrar o seu domínio do Okta e, em seguida, use a parte do subdomínio.

Etapa 4: Concessão de escopos de API ao seu aplicativo

O Okta exige pelo menos um escopo em cada solicitação de token. Antes que o seu aplicativo possa solicitar escopos específicos, eles precisam ser concedidos:
  1. No Admin Console, navegue até Applications > Applications e abra o seu aplicativo.
  2. Clique na guia Okta API Scopes.
  3. Conceda os escopos exigidos pela sua integração: okta.users.read e okta.logs.read.
Uma lista completa dos escopos disponíveis está na referência da API de gerenciamento do Okta.

Etapa 5: Atribuição de uma função de administrador ao seu aplicativo

Conceder escopos, por si só, não é suficiente — os endpoints da API de gerenciamento do Okta (por exemplo, /api/v1/users) retornam silenciosamente uma resposta 200 [] vazia se o seu aplicativo não tiver uma função de administrador. Você deve atribuir pelo menos Read-Only Administrator:
  1. No Admin Console, navegue até Security > Administrators (ou acesse Applications > Applications > seu aplicativo > Admin roles).
  2. Clique em Add administrator assignment e selecione o seu aplicativo API Services.
  1. Atribua a função Read-Only Administrator (ou superior, dependendo dos escopos de que você precisa).
  2. Clique em Save.
Sem uma função de administrador, as chamadas de API são bem-sucedidas com 200 OK, mas retornam resultados vazios, e não há nenhum erro 403 que indique o problema.

Etapa 6: Inserção das credenciais na Living Security Platform

Depois de obter o seu ID do cliente, a Chave privada (JWK), o Domínio do Okta e os Escopos:
  1. Abra o formulário em que você precisa se autenticar no Okta (Client Credentials).
  2. Insira o seu ID do cliente.
  3. Cole a sua Chave privada (JWK) — o objeto JSON completo gerado pelo script acima (em uma única linha ou formatado).
  4. Insira o seu Domínio do Okta apenas como o subdomínio do tenant (por exemplo, dev-12345678).
  5. Insira os Escopos como uma lista separada por espaços (por exemplo, okta.users.read okta.logs.read).
  6. Envie o formulário e a autenticação deverá ser concluída com sucesso.
Agora você está conectado ao Okta (Client Credentials).
Partes desta documentação foram adaptadas do Nango, usadas sob a Elastic License 2.0.