Obtenir l'empreinte numérique d'un fournisseur d'identité OpenID Connect - AWS Identity and Access Management

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.

Obtenir l'empreinte numérique d'un fournisseur d'identité OpenID Connect

Lorsque vous créez un fournisseur d'identité OpenID Connect (OIDC) dansIAM, IAM il nécessite l'empreinte numérique de l'autorité de certification (CA) intermédiaire supérieure qui a signé le certificat utilisé par le fournisseur d'identité externe (IdP). L'empreinte numérique est une signature du certificat de l'autorité de certification qui a été utilisé pour émettre le certificat pour l'IdP OIDC compatible. Lorsque vous créez un fournisseur IAM OIDC d'identité, vous faites confiance aux identités authentifiées par cet IdP pour avoir accès à votre. Compte AWS En utilisant l'empreinte numérique du certificat de l'autorité de certification, vous faites confiance à tout certificat émis par cette autorité de certification portant le même DNS nom que celui enregistré. Ainsi, vous n'avez plus besoin de mettre à jour les approbations dans chaque compte lorsque vous renouvelez le certificat de signature de l'IdP.

Important

Dans la plupart des cas, le serveur de fédération utilise deux certificats différents.

  • Le premier établit une HTTPS connexion entre AWS et votre IdP. Cela doit être émis par une autorité de certification racine publique bien connue, telle que AWS Certificate Manager. Cela permet au client de vérifier la fiabilité et l'état du certificat.

  • Le second est utilisé pour crypter les jetons et doit être signé par un opérateur privé ou public racine CA.

Vous pouvez créer un fournisseur IAM OIDC d'identité à AWS Command Line Interface l'aide des outils pour Windows PowerShell ou du IAM API. Lorsque vous utilisez ces méthodes, vous avez la possibilité de fournir manuellement une empreinte numérique. Si vous choisissez de ne pas inclure d'empreinte numérique, l'empreinte numérique intermédiaire supérieure du certificat du serveur OIDC IdP IAM sera récupérée. Si vous choisissez d'inclure une empreinte numérique, vous devez l'obtenir manuellement et la fournir à. AWS

Lorsque vous créez un fournisseur d'OIDCidentité à l'aide de la IAM console, il IAM tente de récupérer pour vous l'empreinte numérique de l'autorité de certification intermédiaire supérieure du certificat du serveur OIDC IdP.

Nous vous recommandons également d'obtenir l'empreinte numérique de votre OIDC IdP manuellement et de vérifier que l'empreinte numérique a été IAM récupérée correctement. Pour plus d'informations sur l'obtention des empreintes digitales des certificats, consultez les sections suivantes.

Note

AWS sécurise les communications avec les fournisseurs OIDC d'identité (IdPs) à l'aide de notre bibliothèque d'autorités de certification racine fiables (CAs) pour vérifier le certificat du point de terminaison JSON Web Key Set (JWKS). TLS Si votre OIDC IdP s'appuie sur un certificat qui n'est pas signé par l'un de ces certificats approuvésCAs, ce n'est qu'alors que nous sécurisons les communications à l'aide des empreintes digitales définies dans la configuration de l'IdP. AWS reviendra à la vérification par empreinte digitale si nous ne sommes pas en mesure de récupérer le TLS certificat ou si la TLS version 1.3 est requise.

Obtenir l'empreinte numérique du certificat

Vous utilisez un navigateur Web et l'outil de ligne de SSL commande Open pour obtenir l'empreinte numérique du certificat d'un OIDC fournisseur. Toutefois, il n'est pas nécessaire d'obtenir manuellement l'empreinte numérique du certificat pour créer un fournisseur d'IAMOIDCidentité. Vous pouvez utiliser la procédure suivante pour obtenir l'empreinte numérique du certificat de votre OIDC fournisseur.

Pour obtenir l'empreinte numérique d'un IdP OIDC
  1. Avant de pouvoir obtenir l'empreinte numérique d'un OIDC IdP, vous devez obtenir l'outil de ligne de commande OpenSSL. Vous utilisez cet outil pour télécharger la chaîne de certificats OIDC IdP et produire une empreinte numérique du certificat final dans la chaîne de certificats. Si vous devez installer et configurer OpenSSL, suivez les instructions indiquées dans Installer et ouvrir SSL etConfigurer Open SSL.

  2. Commencez par l'OIDCIdP URL (par exemple,https://server.example.com), puis ajoutez /.well-known/openid-configuration URL pour former le document de configuration de l'IdP, tel que le suivant :

    https://server.example.com/.well-known/openid-configuration

    Ouvrez-le URL dans un navigateur Web, en remplaçant server.example.com avec le nom de votre serveur IdP.

  3. Dans le document affiché, utilisez la fonction rechercher de votre navigateur web pour localiser le texte "jwks_uri". Juste après le texte"jwks_uri", il y a deux points (:) suivis d'unURL. Copiez le nom de domaine complet duURL. N'incluez pas https:// ou le chemin d'accès qui suit le domaine de niveau supérieur.

    { "issuer": "https://accounts.example.com", "authorization_endpoint": "https://accounts.example.com/o/oauth2/v2/auth", "device_authorization_endpoint": "https://oauth2.exampleapis.com/device/code", "token_endpoint": "https://oauth2.exampleapis.com/token", "userinfo_endpoint": "https://openidconnect.exampleapis.com/v1/userinfo", "revocation_endpoint": "https://oauth2.exampleapis.com/revoke", "jwks_uri": "https://www.exampleapis.com/oauth2/v3/certs", ...
  4. Utilisez l'outil de ligne de SSL commande Ouvrir pour exécuter la commande suivante. Remplacez keys.example.com avec le nom de domaine dans lequel vous l'avez obtenuÉtape 3.

    openssl s_client -servername keys.example.com -showcerts -connect keys.example.com:443
  5. Dans votre fenêtre de commande, faites défiler jusqu'à afficher un certificat similaire à l'exemple suivant. Si plusieurs certificats sont affichés, recherchez le dernier certificat affiché (à la fin de la sortie de commande). Celui-ci contient le certificat de l'autorité de certification (CA) intermédiaire supérieure dans la chaîne d'autorité de certification.

    -----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6 b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd BgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcN MTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYD VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25z b2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFt YXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ 21uUSfwfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9T rDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpE Ibb3OhjZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4 nUhVVxYUntneD9+h8Mg9q6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb FFBjvSfpJIlJ00zbhNYS5f6GuoEDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTb NYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE= -----END CERTIFICATE-----

    Copiez le certificat (notamment les lignes -----BEGIN CERTIFICATE----- et -----END CERTIFICATE-----) et collez-le dans un fichier texte. Puis enregistrez le fichier sous le nom certificate.crt.

    Note

    La chaîne de certificats du fournisseur d'OIDCidentité doit commencer par le domaine ou l'émetteurURL, inclure tous les certificats intermédiaires (le cas échéant) et se terminer par le certificat racine. Si l'ordre de la chaîne de certificats est différent ou inclut des certificats dupliqués ou supplémentaires, vous recevrez une erreur de non-concordance de signature et vous STS ne pourrez pas valider le jeton JSON Web (JWT). Corrigez l'ordre des certificats dans la chaîne renvoyée par le serveur pour résoudre l'erreur. Pour plus d'informations sur les normes relatives aux chaînes de certificats, consultez la section certificate_list de la section RFC 5246 sur le site Web de la série. RFC

  6. Utilisez l'outil de ligne de SSL commande Ouvrir pour exécuter la commande suivante.

    openssl x509 -in certificate.crt -fingerprint -sha1 -noout

    Votre fenêtre de commande affiche l'empreinte du certificat qui semble similaire à l'exemple suivant :

    SHA1 Fingerprint=99:0F:41:93:97:2F:2B:EC:F1:2D:DE:DA:52:37:F9:C9:52:F2:0D:9E

    Supprimez les deux points (:) de cette chaîne pour générer l'empreinte finale, comme ceci :

    990F4193972F2BECF12DDEDA5237F9C952F20D9E
  7. Si vous créez le fournisseur IAM OIDC d'identité à l' AWS CLI aide des outils pour Windows ou du PowerShell IAMAPI, la saisie d'une empreinte numérique est facultative. Si vous choisissez de ne pas inclure d'empreinte numérique lors de la création, l'empreinte numérique intermédiaire supérieure du certificat du serveur OIDC IdP IAM sera récupérée. Une fois le fournisseur IAM OIDC d'identité créé, vous pouvez comparer cette empreinte numérique à l'empreinte numérique récupérée par. IAM

    Si vous créez le fournisseur IAM OIDC d'identité dans la IAM console, celle-ci tente de récupérer pour vous l'empreinte numérique de l'autorité de certification intermédiaire supérieure du certificat du serveur OIDC IdP. Vous pouvez comparer cette empreinte numérique à celle récupérée par. IAM Une fois le fournisseur IAM OIDC d'identité créé, vous pouvez consulter son empreinte numérique dans l'onglet Vérification du IAM OIDC point de terminaison sur la page de la console récapitulative du OIDC fournisseur.

    Important

    Si l'empreinte numérique que vous avez obtenue ne correspond pas à celle que vous voyez dans les détails de l'empreinte numérique du fournisseur IAM OIDC d'identité, vous ne devez pas utiliser le fournisseur. OIDC Vous devez plutôt supprimer le OIDC fournisseur créé, puis réessayer de le OIDC créer après un certain temps. Vérifiez que les empreintes du pouce correspondent avant d'utiliser le fournisseur. Si les empreintes digitales ne correspondent toujours pas après une deuxième tentative, utilisez le IAMforum pour nous contacter. AWS

Installer et ouvrir SSL

Si Open n'est pas encore SSL installé, suivez les instructions de cette section.

Pour installer Open sous SSL Linux ou Unix
  1. Accédez à Open SSL : Source, Tarballs (https://openssl.org/source/).

  2. Téléchargez la source la plus récente et créez le package.

Pour installer Open SSL sous Windows
  1. Accédez à Open SSL : Binary Distributions (https://wiki.openssl. org/index.php/Binaries) pour obtenir la liste des sites à partir desquels vous pouvez installer la version Windows.

  2. Suivez les instructions sur le site que vous avez sélectionné pour démarrer l'installation.

  3. Si vous êtes invité à installer le package Microsoft Visual C++ 2008 Redistributable et qu'il n'est pas déjà installé sur votre système, choisissez le lien de téléchargement correspondant à votre environnement. Suivez les instructions fournies par l'Assistant d'installation de Microsoft Visual C++ 2008 Redistributable.

    Note

    Si vous ne savez pas si Microsoft Visual C++ 2008 Redistributables est déjà installé sur votre système, vous pouvez d'abord essayer d'installer OpenSSL. Le SSL programme d'installation Open affiche une alerte si Microsoft Visual C++ 2008 Redistributables n'est pas encore installé. Assurez-vous d'installer l'architecture (32 bits ou 64 bits) qui correspond à la version d'Open SSL que vous installez.

  4. Après avoir installé les redistribuables Microsoft Visual C++ 2008, sélectionnez la version des SSL fichiers binaires Open adaptée à votre environnement et enregistrez le fichier localement. Lancez l'assistant SSL d'installation ouvert.

  5. Suivez les instructions décrites dans l'assistant SSL d'installation ouvert.

Configurer Open SSL

Avant d'utiliser SSL les commandes Open, vous devez configurer le système d'exploitation de manière à ce qu'il dispose d'informations sur l'emplacement où Open SSL est installé.

Pour configurer Open sous SSL Linux ou Unix
  1. Sur la ligne de commande, définissez la OpenSSL_HOME variable sur l'emplacement de l'SSLinstallation Open :

    $ export OpenSSL_HOME=path_to_your_OpenSSL_installation
  2. Définissez le chemin pour inclure l'SSLinstallation ouverte :

    $ export PATH=$PATH:$OpenSSL_HOME/bin
    Note

    Les modifications apportées aux variables d'environnement à l'aide de la commande export sont valides uniquement pour la session actuelle. Vous pouvez apporter des modifications persistantes aux variables d'environnement en les définissant dans votre fichier de configuration de shell. Pour plus d'informations, consultez la documentation de votre système d'exploitation.

Pour configurer Open SSL sous Windows
  1. Ouvrez une fenêtre d'invite de commande.

  2. Définissez la OpenSSL_HOME variable sur l'emplacement de l'SSLinstallation Open :

    C:\> set OpenSSL_HOME=path_to_your_OpenSSL_installation
  3. Définissez la OpenSSL_CONF variable sur l'emplacement du fichier de configuration dans votre SSL installation Open :

    C:\> set OpenSSL_CONF=path_to_your_OpenSSL_installation\bin\openssl.cfg
  4. Définissez le chemin pour inclure l'SSLinstallation ouverte :

    C:\> set Path=%Path%;%OpenSSL_HOME%\bin
    Note

    Toutes les modifications que vous apportez aux variables d'environnement Windows dans une fenêtre d'invite de commandes ne sont valides que pour la session de ligne de commande en cours. Vous pouvez apporter des modifications persistantes aux variables d'environnement en les définissant comme propriétés système. Les procédures précises dépendent de la version de Windows que vous utilisez. (Par exemple, dans Windows 7, ouvrez le Panneau de configuration, puis Système et sécurité, Système. Ensuite, choisissez Paramètres système avancés, Avancés, Variables d'environnement.) Pour de plus amples informations, veuillez consulter la documentation Windows.