Vielleicht die schlimmsten Sicherheits-Fehler, den Sie machen können, ist zu verlassen, streng vertrauliche geheime Schlüssel Zugriff auf eine web-verbundenen server. Also, wenn es Zeit kommt, zu installieren und authentifizieren von AWS-CLI auf einem remote-EC2-Instanz, wie Sie es konfigurieren?
Sie Sollten Mit IAM-Benutzer
Die Antwort ist definitiv nicht mit Ihrem root-Zugriff-Tasten—dies sind die wichtigsten Token auf Ihrem Konto, und Sie können umgehen, die multi-Faktor-Authentifizierung-Gerät, das Sie eingerichtet haben. (Kann man eigentlich einrichten, der durch MFA geschützte API-Zugriff, aber nicht für das root-Konto.)
AWS bietet einen Dienst, um dieses Problem zu beheben. Die “Identity und Access Management” (IAM) – Konsole ermöglicht Ihnen die Erstellung von untergeordneten Benutzer getrennt von Ihrem root-account. Diese kann sich entweder service-Benutzer mit API-Zugriff, oder full-on user accounts (mit Zugriff auf die AWS Management Console), die Sie verwenden können, für Mitarbeiter-Konten.
Jeder IAM-Nutzer hat es geschafft, Zugriff auf die AWS-Ressourcen in Ihrem Konto. Der Zugriff kontrolliert wird, mit Richtlinien, die aus einem Satz von Berechtigungen, die Kontrolle, was jeder Benutzer tun kann. Diese in-Tiefe Politik kontrollieren können, nur über jede Aktion, die Sie tun können in der AWS Management Console.
Sie können auch manuell ein-Berechtigungen Grenze, die fungiert als eine maximale Berechtigung, die ein Benutzer kann nicht vorbei gehen, überschreiben alle Richtlinien, die Sie gewähren, mehr. Es ist eine erweiterte Funktion, die verwendet wird, um Berechtigungen delegieren, management IAM-Mitarbeiter, und ermöglicht es Ihnen, um zusätzliche service-Funktionen, ohne Privilegien-Eskalation.
Wie richten Sie IAM-Benutzer
Aus dem IAM Management Console, klicken Sie auf die Registerkarte “Benutzer” und wählen Sie “Add User”.
Geben Sie einen Namen ein, und wählen Sie dann, wie Sie möchten, dass dieser Benutzer Zugriff auf AWS. Programmatischen Zugriff gibt Ihnen eine access key ID und secret access key, verwendet für die Authentifizierung mit der AWS API und CLI.
Management-Console, access erlaubt dem Benutzer den Zugriff auf die web-Konsole, die Sie aktivieren, wenn Sie den Zugang der Mitarbeiter. Wenn Sie die Einstellung dieser AWS-Standards zu geben, eine automatisch generierte Passwort und zwingt die Mitarbeiter, es zu ändern, wenn Sie sich angemeldet haben.
Sie geben beide Arten von Zugriff, wenn Sie möchten.
Als Nächstes konfigurieren Sie die Berechtigungen. AWS bietet eine Menge vorgefertigter Richtlinien, die Sie anfügen können direkt an die Benutzer. Sie können auch eine Gruppe erstellen, und fügen Sie den Benutzer, die Gruppe, die ermöglicht Ihnen eine einfache Verwaltung mehrerer Nutzer.
Wirklich, wir empfehlen uns nicht, die meisten dieser vorgefertigten Richtlinien. Sie wirklich nicht wollen, zu geben, die “Vollen Zugriff” auf einen individuellen service, und die andere alternative ist in der Regel “Nur Lesen”, und das ist wohl nicht genug Zugriff durch sich selbst. Einige der fein abgestimmte Berechtigungen sind in Ordnung, aber Sie sollten wirklich Ihre eigenen erstellen.
Sie werden schnell sehen, warum “Full Access”, ist eine schlechte Idee. Sagen Sie, dass Sie einen server konfigurieren, die Zugriff auf S3 und Objekte hochladen. Möchten Sie vielleicht, um es zu geben, “Schreiben” Zugriff, aber auch dies ermöglicht, dass Benutzer zum löschen gesamten Eimer, die ist nicht ideal überhaupt. Eine bessere Lösung ist es, die “PutObject” – Berechtigung, die es ermöglichen, PUT-Anfragen gemacht werden.
Diese Berechtigungen sind sehr intensiv und unterscheiden sich von service zu service, aber Sie können immer klicken Sie auf das Fragezeichen neben der Berechtigung Namen nach oben zu ziehen, eine schnelle definition. Andernfalls können Sie Lesen Sie unsere Anleitung zur IAM-Berechtigungen, um mehr zu erfahren.
Sie können (und wahrscheinlich sollte) beschränken den Zugriff auf bestimmte Ressourcen durch Ihre Amazon Resource Name (ARN), das deaktiviert den account-weiten Zugang. Es gibt auch bestimmte Bedingungen, die Sie anfügen können, um Berechtigungen, wie Datum und Zeit, die AWS prüft vor Freigabe einer Aktion geschehen.
Wenn Sie fertig sind, befestigen Berechtigungen verfügen, können Sie den Benutzer erstellen (Optional hinzufügen von tags ersten). Man brachte Sie zu einem Bildschirm, wo können Sie herunterladen oder kopieren Sie die access-keys, und wenn Sie hinzufügen, management-console, access -, ein Anmelde-link wird angezeigt, wo Sie senden können, um die Mitarbeiter halten dem Konto.
Ersetzen Sie Ihr Root-Konto mit einem IAM-Benutzer
AWS tatsächlich empfiehlt dieses für organisatorische accounts. Statt mit Ihrem root-Konto für Dinge wie Ihre persönliche CLI, solltest du ein “Administrator” IAM-Benutzer mit der management-Konsole zuzugreifen, und verwenden Sie das access-token aus, um zu authentifizieren, Ihre persönlichen terminal.
Dies bedeutet nicht, Sie sollten behandeln Sie die Anmeldeinformationen für das IAM-Benutzer als weniger sicher als Ihre root-account—wäre es immer noch ruinieren Ihren Tag, um Ihre administrator-Konto kompromittiert wurde, so sollten Sie weiterhin mit service-Konten für remote-Anwendungen, und Sie sollten immer noch auf jeden Fall aktivieren von multi-factor authentication für Ihren administrator IAM-Konto. Mit einem IAM-Benutzer statt des root-Accounts ist sicherer, da es jedoch bestimmte Konto-weite Maßnahmen, die nur der eigentliche root-account ausführen kann.
Mit diesem setup ist die einzige Sache, die Sie verwenden, Ihren root-account für die super-sichere Dinge, die gebunden sind, direkt in Ihren root-account, wie der account-Verwaltung und Abrechnung. Für alles andere, administrator-Berechtigungen ist genug, und ermöglicht es Ihnen, löschen Sie Ihre root-Zugriff-Tasten, so dass Sie nur Zugriff auf das root-Konto durch die Anmeldung manuell (und vorbei MFA).