Besorgen Sie sich den Fingerabdruck für einen OpenID Connect-Identitätsanbieter - AWS Identitäts- und Zugriffsverwaltung

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Besorgen Sie sich den Fingerabdruck für einen OpenID Connect-Identitätsanbieter

Wenn Sie einen OpenID Connect (OIDC) -Identitätsanbieter in IAM erstellen, benötigt IAM den Fingerabdruck der obersten Zwischenzertifizierungsstelle (CA), die das vom externen Identitätsanbieter (IdP) verwendete Zertifikat signiert hat. Bei dem Thumbprint handelt es sich um eine Signatur für das CA-Zertifikat, das für die Ausstellung des Zertifikats für den OIDC-kompatiblen Identitätsanbieter verwendet wurde. Wenn Sie einen IAM-OIDC-Identitätsanbieter erstellen, vertrauen Sie darauf, dass Identitäten, die von diesem IdP authentifiziert wurden, Zugriff auf Ihren haben. AWS-Konto Indem Sie den Fingerabdruck des Zertifikats der Zertifizierungsstelle verwenden, vertrauen Sie jedem von dieser Zertifizierungsstelle ausgestellten Zertifikat mit demselben DNS-Namen wie dem registrierten. Dadurch müssen die Vertrauensstellungen in den einzelnen Konten nicht aktualisiert werden, wenn Sie das Signaturzertifikat des Identitätsanbieters erneuern.

Wichtig

In den meisten Fällen verwendet der Verbundserver zwei verschiedene Zertifikate:

  • Die erste stellt eine HTTPS-Verbindung zwischen AWS und Ihrem IdP her. Dies sollte von einer bekannten öffentlichen Root-CA ausgestellt werden, z. B. AWS Certificate Manager Dadurch kann der Kunde die Zuverlässigkeit und den Status des Zertifikats überprüfen.

  • Die zweite wird zum Verschlüsseln von Token verwendet und sollte von einer privaten oder öffentlichen Stamm-Zertifizierungsstelle signiert werden.

Sie können einen IAM-OIDC-Identitätsanbieter mit den AWS Command Line Interface Tools für Windows oder der PowerShell IAM-API erstellen. Wenn Sie diese Methoden verwenden, haben Sie die Möglichkeit, manuell einen Fingerabdruck bereitzustellen. Wenn Sie keinen Fingerabdruck angeben möchten, ruft IAM den obersten CA-Fingerabdruck der Zwischenstelle des OIDC-IdP-Serverzertifikats ab. Wenn Sie einen Fingerabdruck hinzufügen möchten, müssen Sie den Fingerabdruck manuell abrufen und an ihn weiterleiten. AWS

Wenn Sie mit der IAM-Konsole einen OIDC-Identitätsanbieter erstellen, versucht IAM, den obersten Zwischenzertifizierungsstellen-Fingerabdruck des OIDC-IdP-Serverzertifikats für Sie abzurufen.

Wir empfehlen Ihnen, den Fingerabdruck für Ihren OIDC-IdP auch manuell abzurufen und zu überprüfen, ob IAM den richtigen Fingerabdruck abgerufen hat. Weitere Informationen zum Abrufen von Fingerabdrücken von Zertifikaten finden Sie in den folgenden Abschnitten.

Anmerkung

AWS sichert die Kommunikation mit OIDC-Identitätsanbietern (IdPs) mithilfe unserer Bibliothek vertrauenswürdiger Stammzertifizierungsstellen (CAs), um das TLS-Zertifikat des JWKS-Endpunkts (JSON Web Key Set) zu verifizieren. Wenn Ihr OIDC-IdP auf einem Zertifikat basiert, das nicht von einer dieser vertrauenswürdigen Zertifizierungsstellen signiert ist, sichern wir nur dann die Kommunikation mit den in der IdP-Konfiguration festgelegten Fingerabdrücken. AWS greift auf die Überprüfung von Fingerabdrücken zurück, wenn wir das TLS-Zertifikat nicht abrufen können oder wenn TLS v1.3 erforderlich ist.

Besorgen Sie sich den Fingerabdruck des Zertifikats

Sie verwenden einen Webbrowser und das OpenSSL-Befehlszeilentool, um den Fingerabdruck des Zertifikats für einen OIDC-Anbieter abzurufen. Sie müssen den Fingerabdruck des Zertifikats jedoch nicht manuell abrufen, um einen IAM-OIDC-Identitätsanbieter zu erstellen. Sie können das folgende Verfahren verwenden, um den Fingerabdruck des Zertifikats Ihres OIDC-Anbieters abzurufen.

So rufen Sie den Thumbprint eines IAM-OIDC-Identitätsanbieters ab
  1. Bevor Sie den Thumbprint eines IAM-OIDC-Identitätsanbieters abrufen können, müssen Sie sich das OpenSSL-Befehlszeilen-Tool herunterladen. Mit diesem Tool laden Sie dann die Zertifikatskette des OIDC-Identitätsanbieters herunter und erstellen einen Thumbprint des letzten Zertifikats in der Zertifikatskette. Eine Anleitung zum Installieren und Konfigurieren von OpenSSL finden Sie unter Installieren von OpenSSL und Konfigurieren von OpenSSL.

  2. Beginnen Sie mit der URL des OIDC-Identitätsanbieters (z. B. https://server.example.com) und fügen Sie /.well-known/openid-configuration hinzu, um die URL für das Konfigurationsdokument des Identitätsanbieters wie folgt zu bilden:

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

    Öffnen Sie diese URL in einem Webbrowser und ersetzen Sie dabei server.example.com durch den Servernamen Ihres Identitätsanbieters.

  3. Verwenden Sie im angezeigten Dokument die Such-Feature Ihres Webbrowsers, um den Text "jwks_uri" zu finden. Direkt hinter dem Text "jwks_uri" finden Sie einen Doppelpunkt (:) gefolgt von einer URL. Kopieren Sie den vollständig qualifizierten Domainnamen der URL. Kopieren Sie weder https:// noch Teile des Pfads hinter der Top-Level-Domain.

    { "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. Führen Sie mithilfe des OpenSSL-Befehlszeilen-Tools den folgenden Befehl. Ersetzen Sie keys.example.com durch den Domainnamen, den Sie unter Schritt 3 erhalten haben.

    openssl s_client -servername keys.example.com -showcerts -connect keys.example.com:443
  5. Scrollen Sie im Befehlszeilenfenster nach unten, bis Sie ein Zertifikat ähnlich wie im folgenden Beispiel finden. Wenn mehrere Zertifikate angezeigt werden, suchen Sie nach dem letzten angezeigten Zertifikat (am Ende der Befehlsausgabe). Dies enthält das Zertifikat der Zertifizierungsstelle in der Kette der Zertifizierungsstellen.

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

    Kopieren Sie das Zertifikat (einschließlich der Zeilen -----BEGIN CERTIFICATE----- und -----END CERTIFICATE-----) und fügen es in einer Textdatei ein. Speichern Sie die Datei mit dem Dateinamen certificate.crt.

    Anmerkung

    Die Zertifikatskette des OIDC-Identitätsanbieters muss mit der Domain- oder Aussteller-URL beginnen, dann mit dem Zwischenzertifikat und mit dem Stammzertifikat enden. Wenn die Reihenfolge der Zertifikatskette unterschiedlich ist oder doppelte oder zusätzliche Zertifikate enthält, erhalten Sie einen Signaturfehler und STS kann das JSON Web Token (JWT) nicht validieren. Korrigieren Sie die Reihenfolge der Zertifikate in der Kette, die vom Server zurückgegeben wurden, um den Fehler zu beheben. Weitere Informationen zu Zertifikatskettenstandards finden Sie unter certificate_list in RFC 5246 auf der Website der RFC-Serie.

  6. Führen Sie mithilfe des OpenSSL-Befehlszeilen-Tools den folgenden Befehl.

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

    Im Befehlsfenster wird der Thumbprint des Zertifikats ähnlich wie im folgenden Beispiel angezeigt:

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

    Entfernen Sie den Doppelpunkt (:) aus dieser Zeichenfolge, um den endgültigen Thumbprint wie folgt zu erhalten:

    990F4193972F2BECF12DDEDA5237F9C952F20D9E
  7. Wenn Sie den IAM-OIDC-Identitätsanbieter mit den Tools für Windows oder der IAM-API erstellen AWS CLI, ist die Angabe eines PowerShell Fingerabdrucks optional. Wenn Sie bei der Erstellung keinen Fingerabdruck angeben möchten, ruft IAM den obersten CA-Fingerabdruck der Zwischenstelle des OIDC-IdP-Serverzertifikats ab. Nachdem der IAM-OIDC-Identitätsanbieter erstellt wurde, können Sie diesen Fingerabdruck mit dem von IAM abgerufenen Fingerabdruck vergleichen.

    Wenn Sie den IAM-OIDC-Identitätsanbieter in der IAM-Konsole erstellen, versucht die Konsole, den obersten Zwischen-CA-Fingerabdruck des OIDC-IdP-Serverzertifikats für Sie abzurufen. Sie können diesen Fingerabdruck mit dem von IAM abgerufenen Fingerabdruck vergleichen. Nachdem der IAM-OIDC-Identitätsanbieter erstellt wurde, können Sie den Fingerabdruck für den IAM-OIDC-Identitätsanbieter auf der Registerkarte Endpunktverifizierung auf der Konsolenseite mit der Zusammenfassung des OIDC-Anbieters einsehen.

    Wichtig

    Wenn der Fingerabdruck, den Sie erhalten haben, nicht mit dem übereinstimmt, den Sie in den Fingerabdruckdetails des IAM-OIDC-Identitätsanbieters sehen, sollten Sie den OIDC-Anbieter nicht verwenden. Stattdessen sollten Sie den erstellten OIDC-Anbieter löschen und nach einiger Zeit erneut versuchen, den OIDC-Anbieter zu erstellen. Stellen Sie sicher, dass die Fingerabdrücke übereinstimmen, bevor Sie den Anbieter verwenden. Wenn die Thumbprints auch beim zweiten Versuch nicht übereinstimmen, kontaktieren Sie über das IAM-Forum AWS.

Installieren von OpenSSL

Falls OpenSSL noch nicht installiert ist, befolgen Sie die Anleitungen in diesem Abschnitt.

So installieren Sie OpenSSL unter Linux und Unix
  1. Wechseln Sie zu OpenSSL: Source, Tarballs(https://openssl.org/source/).

  2. Laden Sie die aktuelle Quelldatei herunter und erstellen Sie das Paket.

So installieren Sie OpenSSL unter Windows
  1. Unter OpenSSL: Binary Distributions (https://wiki.openssl.org/index.php/Binaries) finden Sie eine Liste von Sites, von denen Sie die Windows-Version installieren können.

  2. Folgen Sie den Anweisungen auf der ausgewählten Site, um die Installation zu starten.

  3. Wenn Sie aufgefordert werden, die Microsoft Visual C++ 2008 Redistributables zu installieren, und diese nicht bereits auf Ihrem System installiert sind, wählen Sie den für Ihre Umgebung geeigneten Download-Link. Folgen Sie den Anweisungen des Microsoft Visual C++ 2008 Redistributable Setup Wizard.

    Anmerkung

    Wenn Sie nicht sicher sind, ob Microsoft Visual C++ 2008 Redistributables bereits auf Ihrem System installiert ist, können Sie zunächst versuchen, OpenSSL zu installieren. Das OpenSSL Installationsprogramm zeigt eine Warnung an, wenn Microsoft Visual C++ 2008 Redistributables noch nicht installiert ist. Installieren Sie die Architektur (32-Bit oder 64-Bit), die der installierten Version von OpenSSL entspricht.

  4. Wählen Sie nach der Installation von Microsoft Visual C++ 2008 Redistributables die entsprechende Version der OpenSSL-Binärdateien für Ihre Umgebung aus und speichern Sie die Datei lokal. Starten Sie den OpenSSL-Setup-Assistenten.

  5. Folgen Sie den Anweisungen des OpenSSL-Setup-Assistenten.

Konfigurieren von OpenSSL

Bevor Sie OpenSSL Befehle verwenden, müssen Sie das Betriebssystem so konfigurieren, dass es Informationen über den Speicherort enthält, an dem OpenSSL installiert ist.

So konfigurieren Sie OpenSSL unter Linux oder Unix
  1. Setzen Sie in der Befehlszeile die Variable OpenSSL_HOME auf den Speicherort der OpenSSL-Installation:

    $ export OpenSSL_HOME=path_to_your_OpenSSL_installation
  2. Legen Sie den Pfad für die OpenSSL Installation fest:

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

    Alle Änderungen, die Sie mit dem Befehl export an Umgebungsvariablen vornehmen, sind nur für die aktuelle Sitzung gültig. Sie können dauerhafte Änderungen an den Umgebungsvariablen vornehmen, indem Sie diese in Ihrer Shell-Konfigurationsdatei festlegen. Weitere Informationen finden Sie in der Dokumentation für das Betriebssystem Ihrer Instance.

So konfigurieren Sie OpenSSL unter Windows
  1. Öffnen Sie ein Befehlszeilenfenster.

  2. Setzen Sie die OpenSSL_HOME-Variable auf den Ort der OpenSSL-Installation:

    C:\> set OpenSSL_HOME=path_to_your_OpenSSL_installation
  3. Setzen Sie die OpenSSL_CONF-Variable auf den Speicherort der Konfigurationsdatei in Ihrer OpenSSL-Installation:

    C:\> set OpenSSL_CONF=path_to_your_OpenSSL_installation\bin\openssl.cfg
  4. Legen Sie den Pfad für die OpenSSL Installation fest:

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

    Alle Änderungen, die Sie in einem Eingabeaufforderungsfenster an Windows-Umgebungsvariablen vornehmen, sind nur für die aktuelle Befehlszeilensitzung gültig. Sie können dauerhafte Änderungen an den Umgebungsvariablen vornehmen, indem Sie sie als Systemeigenschaften festlegen. Die genauen Verfahren hängen davon ab, welche Version von Windows Sie verwenden. (Öffnen Sie beispielsweise unter Windows 7 Systemsteuerung, System und Sicherheit, System (System)aus. Wählen Sie dann Erweiterte Systemeinstellungen, AdvancedRegisterkarte Umgebungsvariablen.) Weitere Informationen finden Sie in der Windows-Dokumentation.