Authentification multifacteur PingID
Le connecteur PingID MFA demande l’authentification d’une instance PingID MFA par le biais d’une requête PPM. PingID renvoie l’état de l’authentification et les attributs dans les réclamations à l’orchestrateur.
Configuration
Les valeurs suivantes peuvent être fournies au connecteur PingID MFA via le fichier de configuration de Maverics.
ppmURL
L’URL où Maverics enverra la requête PPM (en principe :« https://authenticator.pingone.com/pingid/ppm/auth »
).
secretKey
Le secret client de l’application Maverics utilisé pour signer les jetons Web JSON (JWT, JSON Web Tokens).
Le secret doit être codé en base64.
idpAccountID
L’identifiant du compte du fournisseur de service créé dans PingID.
issuer
La réclamation de l’émetteur identifiant le principal ayant émis le JWT.
audience
La réclamation d’audience identifiant les destinataires du JWT (en principe « pingidauthenticator
»).
mfaCallbackURL
L’URL utilisée par PingID pour POSTER la réponse PPM. Le gestionnaire PPM MFA de Maverics sera servi sur cette URL. Le chemin d’accès à l’URL peut être un terminal quelconque tel que /stuff/mfa/callback
ou /maverics-handlers/mfa/callback
.
Mappage des réclamations dans la politique d’authentification
L’utilisation du connecteur MFA PingID dans la politique d’authentification nécessite une correspondance
entre le nom d’utilisateur
PingID (envoyé sous la forme de « sub » dans la requête PPM) et une réclamation correspondante fournie par le connecteur du fournisseur d’identité. Cela permet de faire correspondre l’identité de l’utilisateur du premier facteur (fournisseur d’identité) avec son identité PingID. Par exemple :
authentication:
idps:
- azure
mfa:
- pingid:
mapping:
- username: azure.name
Exemple de configuration de connecteur
connectors:
- name: pingid
type: pingid
ppmURL: "https://authenticator.pingone.com/pingid/ppm/auth"
secretKey: <example_secret>
idpAccountID: "0aa0000a-a000-000a-00aaa-a0000aa00000"
issuer: "Example"
audience: "pingidauthenticator"
mfaCallbackURL: "https://maverics.example.com/mfa/callback"
Exemple de configuration complète avec Azure AD
version: 0.1
tls:
sonar-app:
caFile: /etc/maverics/certs/rootCA.pem
maverics:
certFile: /etc/maverics/certs/maverics.sonarsystems.co.crt
keyFile: /etc/maverics/certs/maverics.sonarsystems.co.key
http:
address: :443
tls: maverics
session:
cookie:
domain: example.com
appgateways:
- name: Sonar
basePath: /
upstream: https://app.sonarsystems.com:8443
tls: sonar-app
unauthorizedPage: https://example.com/sonar/accessdenied
idps:
- name: azure
- name: pingid
headers:
SM_USER: azure.name
firstname: azure.name
lastname: azure.surname
policies:
- location: /sonar/accessdenied
allowUnauthenticated: true
- location: /sonar
unauthorizedPage: https://app.sonarsystems.com:8443/sonar/accessdenied
authentication:
idps:
- azure
mfa:
- pingid:
mapping:
- username: azure.name
connectors:
- name: azure
type: azure
authType: saml
samlConsumerServiceURL: https://example.com/saml
samlLogoutCallbackURL: https://example.com/logout
samlMetadataURL: https://login.microsoftonline.com/<ID>/federationmetadata/2007-06/federationmetadata.xml?appid=<APP_ID>
samlEntityID: https://example.com
- name: pingid
type: pingid
ppmURL: "https://authenticator.pingone.com/pingid/ppm/auth"
secretKey: <example_secret>
idpAccountID: "0aa0000a-a000-000a-00aaa-a0000aa00000"
issuer: "Example"
audience: "pingidauthenticator"
mfaCallbackURL: "https://maverics.example.com/mfa/callback"