Können Sie MFA für AWS IAM-Konten anfordern?


23

Ist es möglich, die Aktivierung der Multi-Factor-Authentifizierung (MFA) für bestimmte / alle IAM-Konten in Amazon Web Services zu verlangen?

Es gibt Optionen für Passwortanforderungen und es ist klar, wie man es seinem Konto hinzufügen kann, aber es ist nicht klar, ob es eine Option gibt, um Benutzer zu zwingen, MFA zu haben.


IAM-Richtlinie, die MFA für die meisten Aktionen erfordert: docs.aws.amazon.com/IAM/latest/UserGuide/…
Simon Woodside

Antworten:


13

Die Antwort ist ja, das gibt es. Durch die Verwendung einer Bedingung. Zum Beispiel für Administratorkonten:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "*",
      "Resource": "*", 
      "Condition":
      {
          "Null":{"aws:MultiFactorAuthAge":"false"}
      }
    }
  ]
}

Es erzwingt MFA sowohl für die Kennwortauthentifizierung als auch für die tokenbasierte Authentifizierung mithilfe der API.


6
Wenn Sie dies auf diese Weise tun, ist dies sowohl für den Konsolen- als auch für den API-Zugriff erforderlich. Wäre es möglich, es nur für den Konsolenzugriff zu benötigen ?
Jeffbyrnes

Keine Ahnung. Ich weiß, dass es für die API (CLI) ärgerlich ist, da MFA nicht gut unterstützt wird. Übrigens sehe ich keinen Sinn darin, eine stärkere Sicherheit einzurichten, wenn dies eine Möglichkeit ist, sie mit einer anderen Zugriffsmethode zu umgehen.
Smad

3
@smad Ich denke, der Punkt wäre, dass Token-Anmeldeinformationen automatisch generiert und auf der Festplatte des Benutzers gespeichert werden, sodass der einzige Angriffsvektor darin besteht, sie vom Computer des Benutzers abzurufen, entweder über Malware, Diebstahl des Computers usw. Das Passwort ist aktiviert Die andere Seite könnte schwach sein oder auf anderen Sites wiederverwendet werden, sodass es einen zusätzlichen Angriffsvektor gibt, der es brutal erzwingt oder von einem Passwort-Dump von einer gehackten Site abruft. Eine Passwortrichtlinie kann helfen, aber es ist schwer zu verhindern, dass ppl z. B. ein Wörterbuchwort verwendet, bei dem nur i durch 1 oder! Ersetzt wird.
Danny

@jeffbyrnes Wenn Sie einen Benutzer für MFA aktivieren, ist dies standardmäßig nur für den Konsolenzugriff aktiviert. Sie müssen dann eine IAM-Richtlinie wie diese verwenden, um zu definieren, für welche API / CLI-Aktionen ggf. MFA erforderlich ist.
SeanFromIT

1
Ich bin mir nicht sicher, ob das mehr funktioniert - zumindest, wenn ich es nicht richtig angewendet habe! (Als neue Richtlinie, der Gruppe Administratoren zugewiesen). Sowohl neue als auch vorhandene Administratoren in meinem Konto können sich anmelden, ohne MFA eingerichtet zu haben.
Tim Malone

8

Nach einigem Hin und Her scheint die Antwort "irgendwie" zu sein. In IAM kann ein Administrator einen MFA für einen anderen IAM-Benutzer konfigurieren. Obwohl dies beim Einrichten eines virtuellen MFA etwas schwierig sein kann, ist dies möglich. Wenn dem Benutzer dann keine Berechtigungen zum Aktualisieren / Entfernen seiner MFA erteilt wurden, ist dies tatsächlich erforderlich.

Obwohl ich noch nicht die vollständige Liste der Aktionen festgelegt habe, die abgelehnt (oder einfach nicht gewährt) werden sollen, enthält dieser Beitrag anscheinend die Informationen, und ich werde diese Antwort aktualisieren, sobald ich sie getestet habe.

[Aktualisieren]

Ich war in der Lage, Benutzer als Hauptbenutzer einzurichten (ihnen dadurch keinen Zugriff auf IAM-Funktionen zu gewähren, obwohl ich mir sicher bin, dass Sie noch detaillierter werden können) und ihre MFA mit ihnen zu implementieren. Mit dieser Methode können sie es nicht deaktivieren.


1
Wissen Sie, ob es möglich ist, dass IAM-Benutzer MFA selbst einrichten?
Cavalcade

Wenn ja, habe ich den Weg nicht gefunden.
Joe

2
@MattTagg Ja, es ist möglich, siehe docs.aws.amazon.com/IAM/latest/UserGuide/…
dasil003

1

Ja, Sie können MFA für IAM-Konten sowohl für die Webkonsole als auch für die awscliBefehlszeile anfordern. Tatsächlich ist es nicht möglich, MFA zuverlässig für die Webkonsole und nicht für die awscliBefehlszeile zu benötigen , da beide dieselben APIs verwenden. Ich sage "zuverlässig", weil es mit komplexen IAM-Richtlinien möglich ist, einige awscliVorgänge ohne MFA zuzulassen, während MFA für die Webkonsole erzwungen wird. Die Ergebnisse sind jedoch etwas unvorhersehbar, und außerdem sind die IAM-Schlüssel gleichermaßen, wenn nicht gefährlicher, ungeschützt. Ich empfehle, es für beide zu fordern und dann möglicherweise ungeschützte Schlüssel für spezielle Zwecke zu erstellen, bei denen MFA absolut kontraindiziert ist. Für automatisierte Prozesse wären Rollen im Allgemeinen die bessere Wahl.

Um die MFA-Operationen in der Befehlszeile zu vereinfachen, habe ich sie erstellt eine Reihe von Bash-Skripten und ein sorgfältig ausgearbeitetes Beispiel für eine MFA-Durchsetzungsrichtlinie erstellt , mit denen sich vMFAd problemlos anfügen / entfernen sowie MFA-Sitzungen starten und verwalten lassen. Sie funktionieren unter MacOS und Linux, wahrscheinlich jedoch nicht unter Windows (nicht getestet).


0

Scheinbar nicht. Es scheint, dass MFA für IAM-Konten optional ist, obwohl Sie am besten eine verbindliche Antwort in den AWS-Supportforen veröffentlichen.


Vielen Dank für den Link. Er beantwortet jedoch eine andere Frage, wann MFA erforderlich sein wird, sobald es aktiviert ist. Bei dieser Frage geht es darum, ob die Freigabe erzwungen werden kann.
Joe

0

In der Dokumentation zu einigen benutzerdefinierten Tools ( https://github.com/kreuzwerker/awsu ), die wir für die Verwendung von Yubikeys entwickelt haben, haben wir einige Überlegungen zu AWS API multifactor im Allgemeinen dokumentiert (wo die Bedingungen hinzugefügt werden sollen, welche Auswirkungen usw.) als Quelle für die TOTP-Token. Dies macht das Arbeiten mit Rollen und langfristigen Anmeldeinformationen + Sitzungstoken ziemlich einfach.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.