Blog

Vermeiden Sie die Verwendung des Standardprofils

Joris Conijn

Aktualisiert Oktober 15, 2025
3 Minuten

Wenn Sie anfangen, mit AWS zu arbeiten, ist eine der einfachsten Möglichkeiten, mit den APIs zu interagieren, die über den IAM-Benutzer. Das ist zwar nicht der empfohlene Weg, aber der einfachste und daher auch der am häufigsten genutzte und am meisten missbrauchte. In diesem Blog werde ich etwas tiefer in dieses Thema eintauchen.

Einfach zu benutzen

Die Verwendung eines IAM-Benutzers ist der älteste Weg, um mit der AWS-API zu interagieren. Sie brauchen nur einen AccessKey und einen SecretAccessKey und schon können Sie loslegen! Wenn Sie die AWS CLI installiert haben, müssen Sie nur den Befehl ausführen. Dabei werden einige Eingaben über Prompts abgefragt:

$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [eu-west-1]: eu-west-1
Default output format [yaml]: yaml

Das Ergebnis ist die folgende Datei ~/.aws/credentials:

[default]
aws_access_key_id = AKIAIOSFODNN7EXAMPLE
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

Und schon sind Sie startklar! Sie können jetzt jeden aws cli-Befehl ausführen. Vorausgesetzt, der IAM-Benutzer verfügt über die richtigen Richtlinien, um die benötigten Aktionen durchzuführen. Wenn Sie diese Anmeldeinformationen haben, ist Ihr Leben einfacher. Ein Beispiel: Das Boto3 SDK wird Ihre Anmeldedaten verwenden. Super bequem, super gefährlich!

Boto3 SDK

Wenn Sie entwickeln, lassen Sie Ihren Code oft laufen, um zu testen, ob er funktioniert. Ich würde gerne glauben, dass alle Menschen testgetriebene Entwicklung betreiben, aber ich weiß, dass dies nicht der Fall ist. Das kann viele Gründe haben, Erfahrung ist der offensichtlichste. Wenn Sie mit der Entwicklung beginnen, gibt es bereits eine Menge Dinge, die Sie lernen müssen. Das Schreiben von Unit-Tests hat für jemanden, der lernen will, wie man Code schreibt, nicht die höchste Priorität. Davon abgesehen, ja, es wird Sie verlangsamen. Aber nur am Anfang! Wenn Sie das Testen richtig beherrschen, werden Sie Ihre Produktivität um das Zehnfache steigern!

Warum sind diese Berechtigungsnachweise also wieder gefährlich? Nehmen wir an, Sie schreiben einen Code zum Bereinigen von Objekten aus einem S3-Bucket. Wenn Sie einen Fehler in Ihrem Code haben und Ihr Skript ausführen, wird es standardmäßig die Standard-Anmeldeinformationen verwenden. Das kann zu einem Datenverlust in Ihrem AWS-Konto führen! Und das ist natürlich nur eines der Beispiele, die schief gehen können. Selbst wenn Sie testgetriebene Entwicklung verwenden und vergessen, einen der API-Aufrufe zu stubben. Boto3 wird die Standard-Anmeldeinformationen verwenden und den API-Aufruf ausführen.

Vermeiden Sie die Verwendung eines Standardprofils

Sollten Sie also die IAM-Benutzeranmeldeinformationen nicht verwenden? Nun, es gibt "bessere" Alternativen, wie Single Sign On. Wenn Sie diese Anmeldedaten als Ihre Standardanmeldedaten konfigurieren, werden Sie mit dem gleichen Problem konfrontiert! Vermeiden Sie also das Standardprofil! Entweder konfigurieren Sie es nicht oder Sie verwenden Schein-Anmeldedaten, wie ich sie in meinem Beispiel verwendet habe. Sie führen zwar zu einer Zugriffsverweigerung, aber das ist besser als Datenverlust. Außerdem sollten Sie das Prinzip des am wenigsten Privilegierten anwenden. Denn wenn Ihr Auftraggeber nicht über die entsprechenden Zugriffsrechte verfügt, kann er sie auch nicht ausführen!

Fazit

Stellen Sie sicher, dass Sie das Prinzip der geringsten Privilegien anwenden. Und vermeiden Sie es, Ihre Anmeldedaten im Standardprofil zu speichern.

Foto von Min An

Verfasst von

Joris Conijn

Joris is the AWS Practise CTO of the Xebia Cloud service line and has been working with the AWS cloud since 2009 and focussing on building event-driven architectures. While working with the cloud from (almost) the start, he has seen most of the services being launched. Joris strongly believes in automation and infrastructure as code and is open to learning new things and experimenting with them because that is the way to learn and grow.

Contact

Let’s discuss how we can support your journey.