Kostenlose Übersetzung von Jeff Wierers Artikel "
Aktivieren der Föderation zu AWS mithilfe von Windows Active Directory, ADFS und SAML 2.0 " mit Ergänzungen und Erläuterungen.
1. Die Quelldaten
2. Vorbereitung
3. AD-Konfiguration
4. Installieren Sie ADFS
5. ADFS konfigurieren
6. Konfigurieren von AWS
7. Testen
8. Bekannte Fehler und ihre Lösungen
1. Die QuelldatenAD Windows 2016 ausgelöst
Der Autor verwendete EC2 von Windows 2008R2 bei Amazon. Ich habe eine virtuelle Maschine im lokalen Windows 2016-Netzwerk mit Internetzugang.
AWS-Konto (das für alles bezahlt)
Gerade Arme
Zweck: Damit sich der AD-Benutzer abhängig von der AD-Gruppe mit den angegebenen Rechten bei AWS anmelden kann (um eine Rolle zu erhalten).
Schema:

1. Der Benutzer (wird Bob sein) öffnet die Seite (https://ADFS.domain.name/adfs/ls/IdpInitiatedSignOn.aspx)
2. Bob ist autorisiert (ADFS fordert die erforderlichen Felder in AD an)
3. Bobs Browser empfängt die erforderlichen Daten im SAML-Format von ADFS
4. Der Browser sendet die empfangenen Daten an den SAML-Autorisierungsdienst (https://signin.aws.amazon.com/saml).
5. Bob Browser Ruft die Anmelde-URL für die AWS-Konsole ab
2. Vorbereitung2.1. Sie haben bereits AD ausgelöst und Benutzer gestartet, die sich in verschiedenen Gruppen befinden.
2.2. Erhöhter IIS (
So erhöhen Sie die Rolle des IIS )
2.3. Generieren Sie ein selbstsigniertes SSL-Zertifikat. (
So generieren Sie ein selbstsigniertes SSL-Zertifikat ) Installieren Sie es sofort für die Standardwebsite.
3. AD-Konfiguration3.1. Sie müssen zwei Gruppen AWS-Production und AWS-Billing erstellen
3.2. Benutzer Bob erstellen (Achtung !!! Der Benutzer muss das E-Mail-Feld ausfüllen: bob@youdomain.com, andernfalls wird beim Aufrufen der AWS-Konsole eine Fehlermeldung angezeigt.)
3.3. Fügen Sie Bob zu den erstellten AWS-Produktions- und AWS-Abrechnungsgruppen hinzu
3.4. Erstellen Sie einen anderen ADFSSVC-Benutzer. Spezielles Dienstkonto für die Verbindung zu AD.
4. Installieren Sie ADFSEs gibt verschiedene Versionen von ADFS
- ADFS 1.0 - Windows Server 2003 R2 (zusätzlicher Download)
- ADFS 1.1 - Windows Server 2008 und Windows Server 2008 R2
- ADFS 2.0 - Windows Server 2008 und Windows Server 2008 R2 (Download von Microsoft.com)
- ADFS 2.1 - Windows Server 2012
- ADFS 3.0 - Windows Server 2012 R2 [5]
- ADFS 4.0 - Windows Server 2016 - Unsere Wahl
- ADFS 5.0 - Windows Server 2019
Der Autor lädt ADFS v2 herunter und installiert es.
Wir werden die Rolle von ADFS erhöhen
Es gibt dort keine Schwierigkeiten, drei Screenshots helfen Ihnen, auf die Schaltfläche Weiter> zu klicken
Screenshots


Ich habe es bereits installiert, so dass es ein bisschen anders aussieht.
Weiter, Weiter, Installieren ...
5. ADFS konfigurierenÜber diesen Link können Sie den ADFS-Konfigurator aufrufen



Stellen Sie mit dem aktuellen Benutzer eine Verbindung zu AD her.

Hier benötigen wir das Zertifikat, das wir in IIS (Abschnitt 2.3) generiert haben, und den Namen unseres zukünftigen ADFS (adfs.you-domain.com). Die Anzeigezeile lautet NAME YOUR COMPANY

Wir wählen das Dienstkonto
ADFSSVC aus , das wir in
Abschnitt 3.4 erstellt haben

Erstellen Sie eine neue Datenbank

Überprüfen ...

Überprüfung vor der Installation ... Klicken Sie auf Konfigurieren

Fertig.
Die Konsole sucht zunächst im Windows-Suchbegriff nach "AD-Verwaltung".


Gehen Sie als Nächstes zu
Vertrauensbeziehungen und wählen Sie
Vertrauensstellungen für
vertrauende ParteienRechte Taste ->
Vertrauenswürdiges Vertrauen hinzufügen
Auswahl von
Ansprüchen bewusst
Wählen Sie "Daten importieren, die die vertrauende Partei online veröffentlicht hat ..." und geben Sie die Zeile
https://signin.aws.amazon.com/static/saml-metadata.xml
Sie ist für alle gleich und wird von AWS bereitgestellt.

Fahren Sie den Namen "
AWS GO " nach eigenem Ermessen oder lassen Sie ihn unverändert.

Wir wählen "Alle Benutzer zulassen ...". Der Zugriff ist für alle zulässig.

Erneut prüfen und fertig.

Klicken Sie mit der rechten Maustaste auf unsere Relais und wählen Sie "Anspruchsausgaberichtlinie bearbeiten".

Wir fangen an, unsere Regeln hinzuzufügen:
5.1 Einen Benutzernamen erhalten. Vorlage:
Transformieren Sie einen eingehenden Anspruch und füllen Sie die folgenden Felder aus:
a. Name der Anspruchsregel:
NameIdb. Typ des eingehenden Anspruchs:
Windows-Kontonamec. Typ des ausgehenden Anspruchs:
Name IDd. ID-Format für ausgehende Namen:
Persistent Identifiere. Alle Anspruchswerte durchlaufen:
geprüft
Fertig.
5.2 Abrufen einer Rollenliste für den Benutzer. Vorlage:
LDAP-Attribute als Ansprüche senden ,

Felder:
a. Name der Anspruchsregel:
RoleSessionNameb. Attributspeicher:
Active Directoryc. LDAP-Attribut:
E-Mail-Adressend. Typ des ausgehenden Anspruchs:
https://aws.amazon.com/SAML/Attributes/RoleSessionName

Fertig
5.3 Wichtiger Hinweis: In dieser Regel werden alle Rollen für den Benutzer extrahiert und ähnlichen Rollen im IAM zugeordnet (dh Rollen, die mit AWS -... beginnen). Diese Regel ruft alle AD-Mitgliedschaften ab. Vorlage:
Senden Sie Ansprüche mit einer benutzerdefinierten Regel
Felder
a. Name der Anspruchsregel:
AD-Gruppen abrufenb. Benutzerdefinierte Rolle:
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => add(store = "Active Directory", types = ("http://temp/variable"), query = ";tokenGroups;{0}", param = c.Value);

Um die nächste Regel hinzuzufügen, müssen Sie nach Schritt 6 zurückkehren (oder Sie können sie hinzufügen und anschließend die ID ändern).
5.4 Fügen Sie eine weitere Regel wie 5.3 hinzu.
a. Name der Anspruchsregel:
Rolessb. Benutzerdefinierte Rolle:
c:[Type == "http://temp/variable", Value =~ "(?i)^AWS-"] => issue(Type = "https://aws.amazon.com/SAML/Attributes/Role", Value = RegExReplace(c.Value, "AWS-", "arn:aws:iam::123456789012:saml-provider/ADFS,arn:aws:iam::123456789012:role/ADFS-"));

Hier müssen Sie den Wert 123456789012 von IAM AWS in Ihren eigenen ändern

Dies wird in Abschnitt 6 beschrieben.
6. Konfigurieren von AWSAlle Aktionen finden in der AWS-Konsole statt :)
6.1 SAML-Provider erstellen
a.
IAM -> Identitätsanbieter -> Anbieter erstellen
Anbietertyp - SAML
Anbietername -
ADFSMetadatendokument - Diese Kachel muss auf Ihrem FS-Server unter
https:///FederationMetadata/2007-06/FederationMetadata.xml erstellt (heruntergeladen) werden
Wenn die Datei nicht verfügbar ist, lesen Sie Punkt 8 - Bekannte Fehler und ihre Lösungen

b. Erstellen Sie zwei Rollen für unsere Benutzer.
IAM-Rollen Rollen -> Rolle erstellen

Skizzieren Sie die erforderlichen Richtlinien (z. B. Abrechnung (Standardrichtlinie) für Benutzer, die das Geld überwachen, oder erstellen Sie Ihre eigene Richtlinie vorab und weisen Sie sie hier zu.)

ggf. Tags zuweisen ...

Geben Sie einen Namen ein: Der Name nach "-" muss mit dem Namen in AD nach "-" übereinstimmen. ASFS-
Billing = AWS-
Billing. In diesem Fall befindet sich Ihr Benutzer in der richtigen Gruppe.
Klicken Sie auf Rolle erstellen
7. Testen7.1
https://localhost/adfs/ls/IdpInitiatedSignOn.aspx
in Ihrem bevorzugten Browser zu Ihrer Serverseite
https://localhost/adfs/ls/IdpInitiatedSignOn.aspx
(ein selbstsigniertes Zertifikat muss bestätigt werden).
Eine Seite mit ähnlichem Inhalt wird geöffnet.

Geben Sie die Daten unseres Benutzers AD ein

Außerdem werden wir mit einem Vorschlag zur Rolle, unter der der Benutzer in AWS arbeiten wird, auf die AWS-Seite weitergeleitet

Dies liegt daran, dass sich unser Bob gleichzeitig in zwei AD-Gruppen befindet (AWS-Produktion und AWS-Abrechnung).
Wir wählen AWS-Abrechnung und sehen die erforderlichen Einstellungen (wir können das Budget anzeigen und bearbeiten, haben jedoch kein Recht, EC2 gemäß den Rollen zu erstellen, die wir dafür definiert haben).
8. Bekannte Fehler und ihre Lösungen8.1 Das Portal antwortet nicht oder kann die erforderlichen Seiten nicht finden. Zum Beispiel:
https://localhost/adfs/ls/IdpInitiatedSignOn.aspx
Lösung: Auf dem ADFS-Server müssen Sie den PowerShell-Befehl ausführen
Set-AdfsProperties -EnableIdPInitiatedSignonPage $true
Sie können das Logo sofort auf die Begrüßungsseite setzen
Set-AdfsWebTheme -TargetName default -Illustration @{path="C:\path\adfslogo.jpg"}
8.2 Bei der Umleitung zur AWS-Konsole wird eine Fehlermeldung des Formulars angezeigt:
RoleSessionName is required in AuthnResponse (Service: AWSSecurityTokenService; Status Code: 400; Error Code: InvalidIdentityToken; Request ID: e4ddf8cd-d7b7-11e9-8729-09c90d2561b0). Please try again
Lösung: Höchstwahrscheinlich verfügt Ihr Benutzer in AD nicht über ein E-Mail-Feld
Lösung 2: Es liegt wahrscheinlich ein Fehler beim Schreiben der Gruppe in AD und der Rolle in AWS vor