Signature et chiffrement SAML - Amazon Cognito

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Signature et chiffrement SAML

Amazon Cognito prend en charge les demandes SAML signées et les réponses SAML cryptées pour la connexion et la déconnexion. Toutes les opérations cryptographiques effectuées au cours des opérations SAML du pool d'utilisateurs doivent générer des signatures et du texte chiffré à l'aide des clés générées par user-pool-provided Amazon Cognito. À l'heure actuelle, vous ne pouvez pas configurer un groupe d'utilisateurs pour signer des demandes ou accepter des assertions chiffrées avec une clé externe.

Note

Les certificats de votre groupe d'utilisateurs sont valides pendant 10 ans. Une fois par an, Amazon Cognito génère de nouveaux certificats de signature et de chiffrement pour votre groupe d'utilisateurs. Amazon Cognito renvoie le certificat le plus récent lorsque vous demandez le certificat de signature, et signe les demandes avec le certificat de signature le plus récent. Votre IdP peut chiffrer les assertions SAML avec n'importe quel certificat de chiffrement de groupe d'utilisateurs qui n'est pas expiré. Vos anciens certificats restent valables pendant toute leur durée de validité. Il est recommandé de mettre à jour le certificat dans la configuration de votre fournisseur chaque année.

Acceptation des réponses SAML cryptées de la part de votre IdP

Amazon Cognito et votre IdP peuvent garantir la confidentialité des réponses SAML lorsque les utilisateurs se connectent et se déconnectent. Amazon Cognito attribue une paire de clés RSA publique-privée et un certificat à chaque fournisseur SAML externe que vous configurez dans votre groupe d'utilisateurs. Lorsque vous activez le chiffrement des réponses pour le fournisseur SAML de votre groupe d'utilisateurs, vous devez télécharger votre certificat sur un IdP qui prend en charge les réponses SAML chiffrées. La connexion de votre groupe d'utilisateurs à votre IdP SAML ne fonctionne pas avant que celui-ci ne commence à chiffrer toutes les assertions SAML avec la clé fournie.

Vous trouverez ci-dessous un aperçu du flux d'une connexion SAML cryptée.

  1. Votre utilisateur commence à se connecter et choisit son IdP SAML.

  2. Votre groupe d'utilisateurs Point de terminaison d’autorisation redirige votre utilisateur vers son IdP SAML avec une demande de connexion SAML. Votre groupe d'utilisateurs peut éventuellement accompagner cette demande d'une signature permettant la vérification de l'intégrité par l'IdP. Lorsque vous souhaitez signer des demandes SAML, vous devez configurer votre IdP pour accepter les demandes que votre groupe d'utilisateurs a signées avec la clé publique figurant dans le certificat de signature.

  3. L'IdP SAML connecte votre utilisateur et génère une réponse SAML. L'IdP chiffre la réponse avec la clé publique et redirige votre utilisateur vers le point de terminaison de votre groupe d'utilisateurs. /saml2/idpresponse L'IdP doit chiffrer la réponse conformément à la spécification SAML 2.0. Pour plus d'informations, consultez Element <EncryptedAssertion> la section Assertions et protocoles pour le langage de balisage d'assertions de sécurité (SAML) OASIS V2.0.

  4. Votre groupe d'utilisateurs déchiffre le texte chiffré dans la réponse SAML à l'aide de la clé privée et signe votre utilisateur.

Important

Lorsque vous activez le chiffrement des réponses pour un IdP SAML dans votre groupe d'utilisateurs, celui-ci doit chiffrer toutes les réponses avec une clé publique spécifique au fournisseur. Amazon Cognito n'accepte pas les réponses SAML non chiffrées provenant d'un IdP externe SAML que vous configurez pour prendre en charge le chiffrement.

Tout IdP SAML externe de votre groupe d'utilisateurs peut prendre en charge le chiffrement des réponses, et chaque IdP reçoit sa propre paire de clés.

AWS Management Console
Pour configurer le chiffrement des réponses SAML
  1. Créez un groupe d'utilisateurs, un client d'application et un IdP SAML.

  2. Lorsque vous créez ou modifiez votre fournisseur d'identité SAML, sous Signer les demandes et chiffrer les réponses, cochez la case intitulée Exiger des assertions SAML chiffrées de la part de ce fournisseur.

  3. Dans l'onglet Expérience de connexion de votre groupe d'utilisateurs, sous Connexion au fournisseur d'identité fédéré, sélectionnez votre IdP SAML et choisissez Afficher le certificat de chiffrement.

  4. Choisissez Télécharger au format .crt et fournissez le fichier téléchargé à votre IdP SAML. Configurez votre IdP SAML pour chiffrer les réponses SAML à l'aide de la clé contenue dans le certificat.

API/CLI

Pour configurer le chiffrement des réponses SAML

Configurez le chiffrement des réponses avec le EncryptedResponses paramètre d'une requête CreateIdentityProviderou d'une demande d'UpdateIdentityProviderAPI. Voici un exemple ProviderDetails d'IdP qui prend en charge la signature des demandes.

"ProviderDetails": { "MetadataURL" : "https://myidp.example.com/saml/metadata", "IDPSignout" : "true", "RequestSigningAlgorithm" : "rsa-sha256", "EncryptedResponses" : "true", "IDPInit" : "true" }

Signature de requêtes SAML

La capacité à prouver l'intégrité des requêtes SAML 2.0 adressées à votre IdP constitue un avantage de sécurité de la connexion SAML initiée par Amazon Cognito SP. Chaque groupe d'utilisateurs doté d'un domaine reçoit un certificat de signature X.509 du groupe d'utilisateurs. Avec la clé publique contenue dans ce certificat, les groupes d'utilisateurs appliquent une signature cryptographique aux demandes de déconnexion que votre groupe d'utilisateurs génère lorsque vos utilisateurs sélectionnent un IdP SAML. Vous pouvez éventuellement configurer votre client d'application pour signer les demandes de connexion SAML. Lorsque vous signez vos demandes SAML, votre IdP peut vérifier que la signature figurant dans les métadonnées XML de vos demandes correspond à la clé publique figurant dans le certificat de groupe d'utilisateurs que vous fournissez.

AWS Management Console
Pour configurer la signature des demandes SAML
  1. Créez un groupe d'utilisateurs, un client d'application et un IdP SAML.

  2. Lorsque vous créez ou modifiez votre fournisseur d'identité SAML, sous Signer les demandes et chiffrer les réponses, cochez la case intitulée Signer les demandes SAML à ce fournisseur.

  3. Dans l'onglet Expérience de connexion de votre groupe d'utilisateurs, sous Connexion au fournisseur d'identité fédéré, choisissez Afficher le certificat de signature.

  4. Choisissez Télécharger au format .crt et fournissez le fichier téléchargé à votre IdP SAML. Configurez votre IdP SAML pour vérifier la signature des demandes SAML entrantes.

API/CLI

Pour configurer la signature des demandes SAML

Configurez la signature des demandes avec le RequestSigningAlgorithm paramètre d'une demande CreateIdentityProviderou d'une demande d'UpdateIdentityProviderAPI. Voici un exemple ProviderDetails d'IdP qui prend en charge la signature des demandes.

"ProviderDetails": { "MetadataURL" : "https://myidp.example.com/saml/metadata", "IDPSignout" : "true", "RequestSigningAlgorithm" : "rsa-sha256", "EncryptedResponses" : "true", "IDPInit" : "true" }