Gestion des clients STS

Utilisez le client STS (Security Token Service) pour échanger des jetons. Respectez les spécifications relatives à l'échange de jetons d' OAuth s lorsque vous créez et gérez vos clients STS dans IBM® Verify. Vous pouvez valider vos applications tierces en utilisant l' OAuth e comme ressource protégée.

Avant de commencer

Remarque : seuls les utilisateurs disposant des autorisations nécessaires peuvent voir le secret client. Pour plus d'informations, consultez la section « Mises à jour de sécurité pour les droits ».

A propos de cette tâche

Configurer un client STS pour l'échange de jetons. Un client demande un jeton de sécurité au point de terminaison des jetons du serveur d'autorisation en utilisant le mécanisme de type d'octroi « token extension ». Les applications externes développées en utilisant Verify comme fournisseur d'identité peuvent accepter les requêtes API REST authentifiées à l'aide d'un jeton d'accès OAuth 2.0 et de différentes méthodes d'authentification. Pour plus d'informations, consultez le site https://www.rfc-editor.org/rfc/rfc8693.html.

Procédure

  1. Sélectionnez Applications > Clients STS.
  2. Sélectionnez « Ajouter un client STS ».
  3. Donnez les informations générales.
    1. Facultatif : indiquez un identifiant client.
      Si vous n'indiquez pas d'identifiant client, un identifiant sera créé à la fin de la configuration.
    2. Donnez un nom unique au client STS.
    3. Laissez la case « Activé » cochée.
      Vous pouvez activer ou désactiver ce client STS.
    4. Autoriser l'échange de jetons d'accès pour la session SSO. Si l'option « Par défaut » est sélectionnée, ce sont les paramètres généraux de l'application OIDC qui déterminent si les jetons d'accès peuvent être échangés pour une session SSO.
  4. Cliquez sur Suivant.
  5. Sélectionnez la méthode d'authentification du client.
    Ce paramètre détermine la manière dont le client est authentifié.
    • Pour les méthodes « Par défaut », « Secret client (Basic) » et « Secret client (POST) », le secret client est généré automatiquement une fois la configuration terminée.
    • Pour la méthode JWT à clé privée, vous devez sélectionner un algorithme de signature des assertions client ainsi que les clés de vérification de signature autorisées. Vous pouvez également sélectionner l'option « Valider l'assertion client » (JTI) pour valider l'assertion client.
    • Pour la méthode « Mutual TLS », vous devez fournir l'attribut d'authentification client « TLS » et la valeur de cet attribut, « TLS ».
    • Si vous modifiez un client STS existant, vous pouvez utiliser les options de clé secrète suivantes :
      • Sélectionnez Afficher pour afficher le secret du client.
      • Sélectionnez Masquer pour masquer le secret du client.
      • Cliquez sur Copier pour copier l'identifiant client ou la clé secrète dans le presse-papiers.
      • Cliquez Liste ici pour afficher les secrets client mis à jour.
        • Sélectionnez un ou plusieurs secrets client renouvelés dans la liste, puis cliquez sur Supprimer pour les supprimer.
      • Sélectionnez Régénérer pour générer un nouveau secret client. Utilisez cette option si vous pensez que le secret client est compromis. Si vous régénérez le secret client, vous devez le mettre à jour dans tous les clients OAuth de l'application.
        • Cochez la case « Conserver le secret actuel » pour ajouter le secret client actuel à la liste des secrets clients renouvelés.
        • Si la case « Conserver le secret actuel » est cochée, sélectionnez la description du secret client et la date d'expiration (selon l'heure locale du navigateur). Si aucune durée d'expiration n'est sélectionnée, la durée de vie du secret renouvelé du locataire définie dans les paramètres de l'application s'appliquera.
        • Les secrets client renouvelés sont hachés et ne peuvent plus être récupérés en clair, mais ils restent utilisables jusqu'à la date d'expiration choisie.
        • Une fois la confirmation effectuée, le secret client est immédiatement renouvelé. Le nouveau secret client s'affiche à l'écran.
    Remarque : la méthode d'authentification par défaut du client est default.

    Si vous conservez la valeur par défaut, les méthodes de base et POST pour secret client sont autorisées. Si ce client est un client public, le secret client de base et l'autotest à la mise sous tension ne sont pas autorisés. Si la partie de confiance la prend en charge, utilisez la clé privée JWT ou Mutual TLS comme configuration. Pour plus d'informations sur l'authentification du client TLS, voir Authentification client TLS mutuelle OpenID Connect et jeton d'accès lié au certificat.

  6. Cliquez sur Suivant.
  7. Sélectionnez les types de jetons autorisés pour le jeton du sujet et le jeton demandé.
    1. Facultatif : sélectionnez les types de jetons autorisés pour le jeton d'acteur.
    Tableau 1. Échange de jetons
    Zone Descriptif
    Jeton de sujet Le type du jeton en question, qui représente l'identité de la partie pour le compte de laquelle le jeton est demandé.
    Jeton d'acteur Le type de jeton de l'acteur, qui représente l'identité de la partie à laquelle sont délégués les droits d'accès du jeton émis.
    Jeton demandé

    Le type de jetons dont la génération peut être demandée dans le cadre de l'échange de jetons.

    Jeton de transaction : ce jeton de sécurité à usage unique contient des informations contextuelles relatives à une transaction, une action, une ressource ou une requête spécifiques, permettant ainsi une autorisation très précise pour cette opération particulière. Lorsque vous sélectionnez le jeton, la vignette « Contexte de transaction » s'affiche; vous pouvez alors définir le contexte à l'aide d'une expression CELx. Pour plus d'informations, consultez la section « Jeton de transaction ».
    Remarque : le jeton de transaction est une fonctionnalité disponible sur demande, VDEV-186514: Sécurisation des agents IA. Pour demander cette fonctionnalité, veuillez contacter votre représentant commercial IBM ou votre interlocuteur IBM et lui faire part de votre souhait d'activer cette fonctionnalité. Vous pouvez également créer un ticket d'assistance en indiquant le numéro de la fonctionnalité si vous disposez des autorisations nécessaires. IBM Verify Les abonnements d'essai ne permettent pas de créer des tickets d'assistance.
    Groupes de clients Liste des groupes de clients d' OpenID Connect. Les jetons générés par ce client peuvent servir de jetons de référence pour l'échange de jetons au sein du même groupe. Si cette liste est vide, n'importe quel client peut utiliser les jetons générés par ce client comme jeton de sujet pour l'échange de jetons.
    Demander un jeton d'acteur Exiger un jeton d'acteur dans le cadre de la demande d'échange de jetons. Cette action applique le scénario de délégation et interdit le scénario d'usurpation d'identité.
    Contexte de la transaction Le champ « Contexte de la transaction » n'est visible que lorsque le jeton « Demandé » est défini sur « Jeton de transaction ». Ce champ ne s'applique pas aux autres types de jetons. Pour plus d'informations, consultez la section « Jeton de transaction ».
    Pour créer un type de jeton personnalisé à utiliser pour le client, consultez la section « Gestion des types de jetons personnalisés ».
  8. Cliquez sur Suivant.
  9. Sélectionnez ou définissez les paramètres de jeton souhaités.
    Tableau 2. Paramètres de jeton demandés
    Zone Descriptif
    Format du jeton d'accès Indique le format du jeton d'accès. Les options suivantes sont disponibles :
    • Par défaut

    • JWT

    Durée de validité du jeton d'accès (en secondes)

    Définit la durée en secondes au bout de laquelle le jeton d'accès expire.

    Définissez une expiration de jeton d'accès pour limiter l'heure à laquelle un agresseur peut accéder à la ressource avec le jeton volé lorsque l'application client est compromise.

    Seuls les entiers positifs sont autorisés.

    La valeur par défaut est 3600 secondes. La valeur minimale admise est 1 seconde et la valeur maximale admise est 2147483647 secondes.

    Algorithme de signature L'algorithme utiliséVerify pour signer le jeton d'identification. L'algorithme doit correspondre à celui que la partie de Verifyconfiance a enregistré. Choisissez l'un des algorithmes de hachage suivants pour vérifier la signature :
    • RS256
    • RS384
    • RS512
    • PS256
    • PS384
    • PS512
    • ES256
    • ES384
    • ES512
    Remarque :
    • Si l'algorithme de signature ES256 est sélectionné, le certificat doit être ECDSA avec P-256.
    • Si l'algorithme de signature ES384 est sélectionné, le certificat doit être ECDSA avec P-384.
    • Si l'algorithme de signature ES512 est sélectionné, le certificat doit être ECDSA avec P-521.
    Signature du certificat Sélectionnez le certificat utilisé pour signer le jeton d'identification.

    La sélection par défaut correspond à la valeur par défaut que vous avez configurée dans Sécurité > Certificats.

    .
    Algorithme de chiffrement L'algorithme cryptographique utilisé pour chiffrer ou déterminer la valeur de la clé de chiffrement du contenu (CEK). Les algorithmes suivants sont pris en charge.
    • Aucune
    • RSA-OAEP
    • RSA-OAEP-256
    Algorithme de contenu L'algorithme de chiffrement du contenu utilisé pour le chiffrement avec authentification du texte en clair, afin de produire le texte chiffré et la balise d'authentification. Les algorithmes suivants sont pris en charge :
    • Aucune
    • A128GCM
    • A192GCM
    • A256GCM
    Certificat de chiffrement Saisissez une valeur ou sélectionnez un certificat de signataire dans la liste de ceux que vous avez déjà téléchargés dans le tenant.
    Remarque : pour savoir comment importer des certificats de signataire, consultez la section « Gestion des certificats ».
    URI JWKS L'URI à l'adresse de laquelle l'émetteur de jetons ou la partie de confiance publie ses clés publiques au format JSON Web Keys Set (JWKS). Cet URI est utilisé pour la vérification de signature ou le chiffrement JWT. Le système peut rejeter un URI JWKS inaccessible ou qui n'a pas répondu. Le système peut également rejeter l'URI JWKS si la taille JWKS est trop grande. Si l'émetteur du jeton ne publie pas d'URI JWKS, une clé publique peut être ajoutée au système sous la forme d'un certificat « X509 ». Voir la section « Gestion des certificats ». Le « nom ami » qui est associé au certificat public est la valeur de l'en-tête de clé (enfant) de JWT. Par exemple :
    https://{yourDomain}/.well-known/jwks.json
  10. Cliquez sur Suivant.
  11. Cochez les cases correspondant aux paramètres de preuve de possession.
    Tableau 3. Paramètres de la preuve de possession
    Zone Descriptif
    Jetons d'accès liés au certificat Indique si les jetons générés sont liés à un certificat. Pour plus d'informations sur les jetons d'accès liés à un certificat, consultez la page Authentification mutuelle du client TLS OpenID Connect et jeton d'accès lié à un certificat.
    Appliquer les jetons d'accès d' DPoP-bound. Indique si l'en-tête « DPoP » est obligatoire pour les demandes de jeton.
    Valider la demande JTI du jeton JWT DPoP Indique si le JTI contenu dans le JWT de l' DPoP t validé pour un usage unique.
    Algorithme de signature du jeton JWT DPoP

    L'algorithme de signature prévu pour le JWT de l' DPoP.

    Choisissez parmi les algorithmes suivants.

    • RS256
    • RS384
    • RS512
    • PS256
    • PS384
    • PS512
    • ES256
    • ES384
    • ES512
  12. Cliquez sur Suivant.
  13. Configurez les mappages de demandes et de réponses pour chacun des nœuds finaux.
    1. Configurez le mappage Introspect pour ajouter et modifier les attributs renvoyés par le point de terminaison Introspect.
    2. Configurez les informations utilisateur et le mappage des attributs du jeton d'identification afin d'ajouter et de modifier les attributs renvoyés par le userinfo point de terminaison et figurant dans le jeton d'identification.
  14. Cliquez sur Suivant.
  15. Restreignez les portées personnalisées.
    Un client OIDC / OAuth peut demander des champs personnalisés dans les flux d'autorisation OIDC / OAuth pris en charge. Si l'option Restreindre les portées personnalisées est activée (elle l'est par défaut), les portées octroyées au client à la fin du flux se limitent à celles qui figurent dans cette section. Si l'option « Restreindre les champs d'application personnalisés » n'est pas disponible, tous les champs d'application personnalisés demandés sont accordés une fois le flux terminé.
    openidRemarque : les portées standard, profile, email, phone, et address ne peuvent pas être restreintes.
    1. Assurez-vous que la case « Restreindre les champs d'application personnalisés » est cochée.
    2. Entrez le nom de la portée personnalisée à octroyer ainsi qu'une description.
      Le nom de la portée référence la portée OAuth2/OIDC qui est demandée par une partie utilisatrice/un client. La description est une explication compréhensible de la portée.
      Un autre ensemble de zones de portée est affiché.
    3. Répétez l'étape précédente pour chaque portée personnalisée à octroyer.
  16. Détails relatifs à la restriction des autorisations
    Les informations d'autorisation peuvent être demandées par un client OIDC/ OAuth dans les flux d'autorisation OIDC/ OAuth pris en charge. Si l'option « Restreindre les détails d'autorisation » est activée, les détails d'autorisation accordés à la fin du flux sont limités à ceux spécifiés dans cette section. Si l'option « Restreindre les détails d'autorisation » est désactivée, toute demande de détails d'autorisation est acceptée une fois le flux terminé.
    1. Assurez-vous que la case « Détails de l'autorisation restreinte » est cochée.
    2. Vérifiez si l'option « Ignorer les informations d'autorisation inconnues » est activée.
    3. Saisissez ou sélectionnez le nom du type de détail d'autorisation que vous souhaitez accorder. Vous pouvez modifier et définir une règle personnalisée supplémentaire afin de filtrer les requêtes en fonction d'une propriété du fichier JSON contenant les détails d'autorisation. Par exemple, si le type de détail d'autorisation est resource_access et qu'il comprend une location propriété, la demande ne peut être acceptée que si le lieu est le Japon. Dans ce cas, la règle serait la suivante : requestContext.ad.location == 'Japan'.
    4. Cliquez sur « Ajouter » et répétez l'étape précédente pour chaque type de détail d'autorisation que vous souhaitez accorder.
  17. Sélectionnez les autorisations destinées aux utilisateurs et aux non-utilisateurs que vous souhaitez attribuer au jeton d'accès.
    L'accès à l'API est restreint par défaut. Pour attribuer des autorisations d'accès à l'API, procédez comme suit. Si vous décochez la case Restrict API access, un ensemble d'autorisations par défaut est octroyé au jeton. Voir les autorisations de l'API relatives aux jetons d'authentification par défaut.
  18. Sélectionnez « Terminer l'installation ».