Okta

Le connecteur Okta permet à Maverics d’interagir avec une organisation Okta. Le connecteur utilise l’API Okta User pour créer des utilisateurs ou rechercher des attributs et OpenID Connect pour authentifier les utilisateurs et valider les sessions.

Options de configuration

Les valeurs suivantes peuvent être fournies au connecteur Okta via le fichier de configuration de Maverics.

Auth Type

authType définit le protocole utilisé pour s’authentifier sur Okta. Le connecteur Okta prend en charge à la fois les protocoles saml et oidc pour l’authentification des utilisateurs. Si elle n’est pas définie, la valeur par défaut est oidc.

OIDC Well-known URL

oidcWellKnownURL définit l’emplacement où le client demande la configuration auprès du fournisseur OpenID d’Okta.

OAuth Client ID

oauthClientID définit l’identifiant du client utilisé pour identifier l’application Maverics sur Okta.

OAuth Client Secret

oauthClientSecret définit le secret client utilisé pour authentifier l’application Maverics sur Okta.

OAuth Redirect URL

oauthRedirectURL définit l’URL vers laquelle Okta redirigera le client après l’authentification. Le gestionnaire de rappel de Maverics sera servi sur cette URL.

ℹ️
Le chemin d’accès à oauthRedirectURL ne doit pas entrer en conflit avec le chemin d’accès aux ressources de l’application. Divers chemins d’accès peuvent être définis pour oauthRedirectURL2, par exemple : /oidc ou /oidc-handler.

OIDC Logout Callback URL

oidcLogoutCallbackURL définit l’URL vers laquelle Okta redirigera le client après la déconnexion.

Disable PKCE

disablePKCE est un champ facultatif utilisé pour désactiver l’extension OIDC Proof Key for Code Exchange (PKCE) (activée par défaut).

OIDC Scopes

scopes est un champ facultatif qui définit les champs d’application demandés dans le cadre du flux d’authentification OIDC. Les champs d’application doivent être délimités par un espace. Si ces champs ne sont pas définis, les valeurs par défaut de l’email du profil openid sont utilisées.

SAML Entity ID

samlEntityID correspond à l’identifiant unique d’entité d’application attribué à l’application.

SAML Metadata URL

samlMetadataURL correspond à l’URL des métadonnées de l’application configurée dans le fournisseur SAML. Le paramètre samlMetadataURL peut accepter un file:/// URI si le fichier de métadonnées est enregistré sur un système de fichiers accessible à l’utilisateur de l’orchestrateur.

SAML Consumer Service URL

samlConsumerServiceURL correspond à l’URL que le fournisseur SAML utilise pour POSTER la réponse SAML. Le gestionnaire SAML ACS de Maverics sera servi sur cette URL, elle ne devrait donc pas entrer en conflit avec les ressources de l’application. Il existe plusieurs possibilités pour le chemin d’accès samlConsumerServiceURL (par exemple, /maverics-saml ou /saml-handler), mais celui-ci doit correspondre à la configuration du fournisseur pour l’identifiant samlEntityID spécifié.

SAML Logout Callback URL

samlLogoutCallbackURL est un champ facultatif utilisé pour définir l’URL vers laquelle le fournisseur SAML renvoie une fois la déconnexion réussie. Ce champ permet d’initialiser un terminal sur Maverics permettant le rappel de l’URL. Le domaine de l’URL doit correspondre au domaine de Maverics. Il existe plusieurs possibilités pour le chemin d’accès samlLogoutCallbackURL (par exemple, /logout-maverics-saml ou /logout-saml-handler), mais celui-ci doit correspondre à la configuration du fournisseur pour l’identifiant samlEntityID spécifié.

SAML SP Cert Path

samlSPCertPath est une configuration facultative du chemin d’accès au certificat qui sera utilisé pour signer les requêtes d’authentification SAML. Elle doit être utilisée avec samlSPKeyPath.

SAML SP Key path

samlSPKeyPath est une configuration facultative du chemin d’accès à la clé privée qui sera utilisée pour signer les requêtes d’authentification SAML. Elle doit être utilisée avec samlSPCertPath.

IDP-Initiated Login

samlIDPInitiatedLogin est un champ facultatif utilisé pour définir les paramètres de connexion initiée par le fournisseur d’identité.

Enabled

enabled détermine si le connecteur accepte les réponses SAML non sollicitées provenant du fournisseur d’identité configuré. La connexion initiée par le fournisseur d’identité est désactivée par défaut, car elle est par nature moins sécurisée que le flux alternatif initié par le fournisseur de services.

Allowed Redirect URLs

allowedRedirectURLs constituent l’ensemble des URL vers lesquelles le connecteur peut rediriger les utilisateurs après avoir traité une réponse SAML initiée par le fournisseur d’identité. Le fournisseur d’identité doit transmettre l’une des URL listées par le biais d’un état de relais lorsqu’il initie une connexion. Pour plus d’informations sur la nécessité d’un ensemble d’URL, veuillez consulter le guide de OWASP concernant l’authentification unique initiée par le fournisseur d’identité (IdP Initiated SSO) et l’importance d’atténuer l’attaque Open Redirect.

API Token

apiToken correspond au jeton utilisé pour authentifier le client Maverics avec l’API Okta.

ℹ️
Les champs d’application API okta.users.manage et okta.users.read doivent être accordés à l’application enregistrée afin d’interagir avec l’API Okta.

Domain

domain correspond à l’URL de votre locataire Okta. Par exemple, https://yourtenant.okta.com. Ce champ est obligatoire pour interagir avec l’API Okta.

Error Page

errorPage correspond à la page présentée aux utilisateurs en cas d’erreur.

Cache

cache est un champ facultatif qui définit les paramètres du cache pour le connecteur. S’il n’est pas défini, le connecteur utilisera le cache intégré à la mémoire par défaut.

ℹ️
Pour l’instant, le champ cache n’est pris en charge que pour les connecteurs SAML.

Health Check

healthCheck définit une vérification d’état facultative du connecteur. Cette option est requise lors de l’utilisation du connecteur en situation de maintien de la pérennité du fournisseur d’identité. Pour plus d’informations sur la façon de définir la vérification d’état, veuillez consulter la documentation.

Exemples

Configuration du connecteur OIDC

connectors:
  - name: oktaIDP
    type: okta
    authType: oidc
    oidcWellKnownURL: https://yourtenant.okta.com/.well-known/openid-configuration
    oauthClientID: <okta-client-id>
    oauthClientSecret: <okta-client-secret>
    oauthRedirectURL: https://example.com/oidc-handler
    oidcLogoutCallbackURL: https://example.com/oidc/logout
    disablePKCE: false
    scopes: openid profile email okta.users.read
    errorPage: https://example.com/error-401.html

Configuration du connecteur SAML

connectors:
  - name: okta
    type: okta
    authType: saml
    samlMetadataURL: https://yourtenant.okta.com/app/1234/sso/saml/metadata
    samlConsumerServiceURL: https://example.com/saml/acs
    samlLogoutCallbackURL: https://example.com/saml/logout
    samlEntityID: https://example.com
    samlSPCertPath: /etc/maverics/certs/example.com.crt.pem
    samlSPKeyPath: /etc/maverics/certs/example.com.key.pem
    samlIDPInitiatedLogin:
      enabled: true
      allowedRedirectURLs:
        - https://example.com
    cache: redis

Configuration du fournisseur d’attributs

connectors:
  - name: oktaAttrProvider
    type: okta
    apiToken: <oktaAPIToken>
    domain: https://yourtenant.okta.com