IAM-Rollen für Amazon EC2 - Amazon Elastic Compute Cloud

IAM-Rollen für Amazon EC2

Anwendungen müssen ihre API-Anforderungen mit AWS-Anmeldeinformationen signieren. Als Anwendungsentwickler benötigen Sie daher eine Strategie zur Verwaltung der Anmeldeinformationen für die Anwendungen, die auf EC2-Instances ausgeführt werden. Sie können zum Beispiel die AWS-Anmeldeinformationen sicher an die Instances verteilen, damit die Anwendungen auf diesen Instances sie zum Signieren von Anforderungen verwenden können, während Ihre Anmeldeinformationen vor anderen Benutzern geschützt bleiben. Es ist allerdings schwierig, Anmeldeinformationen sicher an alle Instances zu verteilen, insbesondere an solche, die AWS in Ihrem Auftrag erstellt, wie Spot-Instances oder Instances in Auto-Scaling-Gruppen. Bei der Rotation von AWS-Anmeldeinformationen müssen Sie die Anmeldeinformationen auf jeder Instance außerdem aktualisieren können.

Wir haben IAM-Rollen entworfen, damit Ihre Anwendungen die API-Anforderungen sicher von Ihren Instances senden können, ohne dass Sie die von den Anwendungen verwendeten Sicherheitsanmeldeinformationen verwalten müssen. Anstatt Ihre AWS-Anmeldeinformationen zu erstellen und zu verteilen, können Sie mithilfe von IAM-Rollen Berechtigungen für API-Anforderungen wie folgt delegieren:

  1. Erstellen Sie eine IAM-Rolle.

  2. Definieren Sie, welche Konten oder AWS-Services die Rollen annehmen können.

  3. Definieren Sie, welche API-Aktionen und -Ressourcen die Anwendung nach Annahme der Rolle verwenden kann.

  4. Geben Sie die Rolle beim Starten der Instance an oder verknüpfen Sie die Rolle mit einer vorhandenen Instance.

  5. Lassen Sie die Anwendung einen Satz vorübergehende Anmeldeinformationen abrufen und verwenden.

Verwenden Sie IAM-Rollen zum Beispiel zum Erteilen von Berechtigungen für Anwendungen, die auf Instances ausgeführt werden, die einen Bucket in Amazon S3 verwenden müssen. Sie können Berechtigungen für IAM-Rollen angeben, indem Sie eine Richtlinie im JSON-Format erstellen. Diese Richtlinien sind denen ähnlich, die Sie für IAM-Benutzer erstellen. Wenn Sie an einer Rolle etwas ändern, wird diese Änderung an alle Instances weitergegeben.

Beim Erstellen von IAM-Rollen ordnen Sie IAM-Richtlinien mit geringsten Berechtigungen zu, die den Zugriff auf die spezifischen API-Aufrufe einschränken, die die Anwendung benötigt.

Sie können nur eine IAM-Rolle an eine Instance anhängen, aber Sie können die gleiche Rolle an viele Instances anhängen. Weitere Informationen zum Erstellen und Verwenden von IAM-Rollen finden Sie unter Rollen im IAM-Benutzerhandbuch.

Sie können Berechtigungen auf Ressourcenebene auf Ihre IAM-Richtlinien anwenden, um zu steuern, ob Benutzer einer Instance IAM-Rollen anfügen, diese ersetzen oder trennen können. Weitere Informationen finden Sie unter Unterstützte Berechtigungen auf Ressourcenebene für Amazon EC2-API-Aktionen und in diesem Beispiel: Beispiel: Arbeiten mit IAM-Rollen.

Instance-Profile

Amazon EC2 verwendet ein Instance-Profil als Container für eine IAM-Rolle. Wenn Sie eine IAM-Rolle mithilfe der IAM-Konsole erstellen, erzeugt die Konsole automatisch ein Instance-Profil und gibt ihm denselben Namen wie der entsprechenden Rolle. Wenn Sie die Amazon EC2-Konsole verwenden, um eine Instance mit einer IAM-Rolle zu starten oder einer Instance eine IAM-Rolle anzufügen, wählen Sie die Rolle aus einer Liste von Instance-Profilnamen aus.

Wenn Sie zum Erstellen einer Rolle die AWS CLI, API oder ein AWS-SDK verwenden, erstellen Sie die Rollen und das Instance-Profil als separate Aktionen, deren Namen verschieden sein können. Wenn Sie in diesem Fall die AWS CLI, die API oder ein AWS-SDK verwenden, um eine Instance mit einer IAM-Rolle zu starten oder einer Instance eine IAM-Rolle anzufügen, geben Sie den Namen des Instance-Profils an.

Ein Instance-Profil kann nur eine IAM-Rolle enthalten. Dieses Limit kann nicht erhöht werden.

Weitere Informationen finden Sie unter Instance-Profile im IAM-Benutzerhandbuch.

Abrufen von Sicherheitsanmeldeinformationen aus Instance-Metadaten

Eine Anwendung auf der Instance ruft die von der Rolle bereitgestellten Sicherheitsanmeldeinformationen aus dem Instance-Metadatenelement iam/security-credentials/Rollenname ab. Über die mit der Rolle verknüpften Sicherheitsanmeldeinformationen werden der Anwendung die Berechtigungen für die Aktionen und Ressourcen gewährt, die Sie für die Rolle definiert haben. Diese Sicherheitsanmeldeinformationen sind temporär und werden automatisch gewechselt. Neue Anmeldeinformationen stehen spätestens fünf Minuten vor dem Ablauf der alten zur Verfügung.

Warnung

Wenn Sie Services verwenden, die Instance-Metadaten mit IAM-Rollen nutzen, müssen Sie sicherstellen, dass Sie Ihre Anmeldeinformationen nicht zur Verfügung stellen, wenn die Services HTTP-Aufrufe in Ihrem Auftrag senden. Zu den Service-Typen, die Anmeldeinformationen verfügbar machen könnten, gehören HTTP-Proxys, HTML-/CSS-Validierungs-Services und XML-Prozessoren, die die XML-Aufnahme unterstützen.

Mit dem folgenden Befehl werden die Sicherheitsanmeldeinformationen für eine IAM-Rolle namens abgerufe s3access.

IMDSv2
[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" -v http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access
IMDSv1
[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access

Es folgt eine Beispielausgabe.

{ "Code" : "Success", "LastUpdated" : "2012-04-26T16:39:16Z", "Type" : "AWS-HMAC", "AccessKeyId" : "ASIAIOSFODNN7EXAMPLE", "SecretAccessKey" : "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "Token" : "token", "Expiration" : "2017-05-17T15:09:54Z" }

Für Anwendungen, AWS CLI- und Tools for Windows PowerShell-Befehle, die auf der Instance ausgeführt werden, müssen Sie die temporären Sicherheitsanmeldeinformationen nicht explizit abrufen – die AWS-SDKs, die AWS CLI und Tools for Windows PowerShell rufen die Anmeldeinformationen automatisch aus dem EC2-Instance-Metadaten-Service ab und verwenden sie. Für einen Aufruf außerhalb der Instance mithilfe der temporären Sicherheitsanmeldeinformationen (beispielsweise um IAM-Richtlinien zu testen) müssen Sie den Zugriffsschlüssel, den geheimen Schlüssel und das Sitzungs-Token zur Verfügung stellen. Weitere Informationen zu temporären Anmeldeinformationen finden Sie unter Verwenden von temporären Sicherheitsanmeldeinformationen, um den Zugriff auf AWS-Ressourcen anzufordern im IAM-Benutzerhandbuch.

Weitere Informationen zu Instance-Metadaten erhalten Sie unter Instance-Metadaten und Benutzerdaten. Hinweise zur IP-Adresse der Instance-Metadaten finden Sie unter Abrufen von Instance-Metadaten.

Gewähren einer Berechtigung, mit der ein IAM-Benutzer eine IAM-Rolle an eine Instance übergeben kann

Damit ein IAM-Benutzer eine Instance mit einer IAM-Rolle starten oder eine IAM-Rolle für eine vorhandene Instance anhängen oder ersetzen kann, müssen Sie dem Benutzer die Berechtigung erteilen, die folgenden API-Aktionen zu verwenden:

  • iam:PassRole

  • ec2:AssociateIamInstanceProfile

  • ec2:ReplaceIamInstanceProfileAssociation

Die folgende IAM-Richtlinie erteilt Benutzern beispielsweise die Berechtigung zum Starten von Instances mit einer IAM-Rolle oder zum Anhängen oder Ersetzen einer IAM-Rolle für eine vorhandene Instance mithilfe von AWS CLI.

Anmerkung

Diese Richtlinie gewährt IAM-Benutzern Zugriff auf alle Ihre Rollen, indem die Ressource in der Richtlinie als * angegeben wird. Ziehen Sie dabei in Betracht, ob Benutzer, die Instances mit Ihren Rollen starten (mit vorhandenen oder solchen, die Sie später erstellen), möglicherweise Berechtigungen erhalten, die sie nicht benötigen oder über die sie nicht verfügen dürfen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:AssociateIamInstanceProfile", "ec2:ReplaceIamInstanceProfileAssociation" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*" } ] }

Um Benutzern die Berechtigung zum Starten von Instances mit einer IAM-Rolle oder zum Anhängen oder Ersetzen einer IAM-Rolle für eine vorhandene Instance mithilfe der Amazon-EC2-Konsole zu erteilen, müssen Sie ihnen die Berechtigung erteilen, iam:ListInstanceProfiles, iam:PassRole, ec2:AssociateIamInstanceProfile und ec2:ReplaceIamInstanceProfileAssociation zusätzlich zu anderen zu verwenden Berechtigungen, die sie möglicherweise benötigen. Beispiele für Richtlinien finden Sie unter Beispielrichtlinien für die Arbeit in der Amazon EC2-Konsole.

Arbeiten mit IAM-Rollen

Sie können eine IAM-Rolle erstellen und sie während des Starts oder danach einer Instance anfügen. Sie können eine IAM-Rolle für eine Instance auch ersetzen oder trennen.

Erstellen Sie eine IAM-Rolle

Sie müssen eine IAM-Rolle erstellen, bevor Sie eine Instance mit dieser Rolle starten oder die Rolle einer Instance anfügen können.

So erstellen Sie eine IAM-Rolle mit der IAM-Konsole

  1. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Wählen Sie im Navigationsbereich Roles und Create Role aus.

  3. Wählen Sie auf der Seite Select role type EC2 und den Verwendungsfall EC2. Wählen Sie Next: Permissions (Weiter: Überprüfen) aus.

  4. Wählen Sie auf der Seite Attach permissions policy eine von AWS verwaltete Richtlinie aus, die Ihren Instances Zugriff auf die benötigten Ressourcen gewährt.

  5. Geben Sie auf der Seite Review (Überprüfen) einen Namen für die Rolle ein, und wählen Sie Create role (Rolle erstellen).

Alternativ können Sie die AWS CLI verwenden, um eine IAM-Rolle zu erstellen. Im folgenden Beispiel wird eine IAM-Rolle mit einer Richtlinie erstellt, die es der Rolle ermöglicht, einen Amazon S3-Bucket zu verwenden.

Erstellen einer IAM-Rolle und eines Instance-Profils (AWS CLI)

  1. Definieren Sie die folgende Richtlinie und speichern Sie sie in einer Textdatei namens ec2-role-trust-policy.json.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com"}, "Action": "sts:AssumeRole" } ] }
  2. Erstellen Sie die s3access-Rolle und geben Sie die Vertrauensrichtlinie an, die Sie mit dem Befehl create-role erstellt haben.

    aws iam create-role --role-name s3access --assume-role-policy-document file://ec2-role-trust-policy.json { "Role": { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" } } ] }, "RoleId": "AROAIIZKPBKS2LEXAMPLE", "CreateDate": "2013-12-12T23:46:37.247Z", "RoleName": "s3access", "Path": "/", "Arn": "arn:aws:iam::123456789012:role/s3access" } }
  3. Schreiben Sie eine Zugriffsrichtlinie und speichern Sie sie in einer Textdatei mit Namen ec2-role-access-policy.json. Zum Beispiel gewährt diese Richtlinie Anwendungen, die auf der Instance ausgeführt werden, administrative Berechtigungen für Amazon S3.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:*"], "Resource": ["*"] } ] }
  4. Weisen Sie die Zugriffsrichtlinie mit dem Befehl put-role-policy der Rolle zu.

    aws iam put-role-policy --role-name s3access --policy-name S3-Permissions --policy-document file://ec2-role-access-policy.json
  5. Erstellen Sie ein Instance-Profil namens „s3access-profile“, indem Sie den Befehl create-instance-profile verwenden.

    aws iam create-instance-profile --instance-profile-name s3access-profile { "InstanceProfile": { "InstanceProfileId": "AIPAJTLBPJLEGREXAMPLE", "Roles": [], "CreateDate": "2013-12-12T23:53:34.093Z", "InstanceProfileName": "s3access-profile", "Path": "/", "Arn": "arn:aws:iam::123456789012:instance-profile/s3access-profile" } }
  6. Fügen Sie dem Instance-Profil s3access die IAM-Rolle s3access-profile hinzu.

    aws iam add-role-to-instance-profile --instance-profile-name s3access-profile --role-name s3access

Alternativ können Sie die folgenden AWS Tools for Windows PowerShell-Befehle verwenden:

Starten einer Instance mit einer IAM-Rolle

Nachdem Sie eine IAM-Rolle erstellt haben, können Sie eine Instance starten und dabei die Rolle mit der Instance verknüpfen.

Wichtig

Nach der Erstellung einer IAM-Rolle kann es mehrere Sekunden dauern, bis die Weiterleitung der Berechtigungen abgeschlossen ist. Wenn Sie beim ersten Versuch, eine Instance mit einer Rolle zu starten, einen Fehler erhalten, warten Sie einige Sekunden, bevor Sie es erneut versuchen. Weitere Informationen zur Fehlerbehebung beim Arbeiten mit Rollen finden Sie im IAM-Benutzerhandbuch.

So starten Sie eine Instance mit einer IAM-Rolle (Konsole)

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie auf dem Dashboard Launch Instance (Instance starten) aus.

  3. Wählen Sie ein AMI und einen Instance-Typ aus und klicken Sie auf Next: Configure Instance Details.

  4. Wählen Sie auf der Seite Configure Instance Details für IAM role die IAM-Rolle aus, die Sie erstellt haben.

    Anmerkung

    In der Liste IAM role wird der Name des Instance-Profils angezeigt, das Sie bei der Erstellung der IAM-Rolle definiert haben. Wenn Sie die IAM-Rolle mit der Konsole erstellt haben, wurde das Instance-Profil für Sie angelegt und hat denselben Namen wie die Rolle erhalten. Wenn Sie zum Erstellen der IAM-Rolle die AWS CLI, die API oder ein AWS-SDK verwendet haben, haben Sie dem Instance-Profil möglicherweise einen anderen Namen gegeben.

  5. Konfigurieren Sie ggf. andere Details. Folgen Sie den weiteren Anleitungen des Assistenten oder klicken Sie auf Review and Launch, um die Standardeinstellungen zu akzeptieren und direkt die Seite Review Instance Launch aufzurufen.

  6. Überprüfen Sie Ihre Einstellungen und klicken Sie auf Launch, um ein Schlüsselpaar auszuwählen und die Instance zu starten.

  7. Wenn Sie die Amazon EC2-API-Aktionen in Ihrer Anwendung verwenden, rufen Sie die auf der Instance zur Verfügung gestellten AWS-Sicherheitsanmeldeinformationen ab und signieren Sie mit ihnen die Anforderung. Dies erledigt das AWS SDK für Sie.

    IMDSv2
    [ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" –v http://169.254.169.254/latest/meta-data/iam/security-credentials/role_name
    IMDSv1
    [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/iam/security-credentials/role_name

Alternativ können Sie die AWS CLI verwenden, um eine Rolle beim Start mit einer Instance zu verknüpfen. Sie müssen das Instance-Profil im Befehl angeben.

Starten einer Instance mit einer IAM-Rolle (AWS CLI)

  1. Verwenden Sie den run-instances-Befehl, um eine Instance mithilfe des Instance-Profils zu starten. Im folgenden Beispiel wird gezeigt, wie eine Instance mit dem Instance-Profil gestartet wird.

    AWS ec2 run-instances \ --image-id ami-11aa22bb \ --iam-instance-profile Name="s3access-profile" \ --key-name my-key-pair \ --security-groups my-security-group \ --subnet-id subnet-1a2b3c4d

    Sie können alternativ den New-EC2Instance--Tools-for-Windows-PowerShell-Befehl verwenden.

  2. Wenn Sie die Amazon EC2-API-Aktionen in Ihrer Anwendung verwenden, rufen Sie die auf der Instance zur Verfügung gestellten AWS-Sicherheitsanmeldeinformationen ab und signieren Sie mit ihnen die Anforderung. Dies erledigt das AWS SDK für Sie.

    curl http://169.254.169.254/latest/meta-data/iam/security-credentials/role_name

Anfügen einer IAM-Rolle an eine Instance

Um eine IAM-Rolle an eine Instance ohne Rolle anzufügen, kann sich die Instance im Zustand stopped oder running befinden.

New console

So fügen Sie einer Instance eine IAM-Rolle an

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances aus.

  3. Wählen Sie die Instance aus, klicken Sie auf Actions (Aktionen), Security (Sicherheit), Modify IAM role (IAM-Rolle ändern).

  4. Wählen Sie die IAM-Rolle zum Anfügen an die Instance aus und klicken Sie auf Speichern.

Old console

So fügen Sie einer Instance eine IAM-Rolle an

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances aus.

  3. Wählen Sie die Instance aus und klicken Sie auf Actions, Instance Settings und Attach/Replace IAM role.

  4. Wählen Sie die IAM-Rolle zum Anfügen an die Instance aus und klicken Sie auf Apply.

Anfügen einer Instance an eine IAM-Rolle (AWS CLI)

  1. Falls erforderlich, beschreiben Sie die Instances, um die ID der Instance zu erhalten, der Sie die Rolle anfügen möchten.

    aws ec2 describe-instances
  2. Verwenden Sie den associate-iam-instance-profile-Befehl, um der Instance die IAM-Rolle anzufügen, indem Sie das Instance-Profil angeben. Sie können den Amazon-Ressourcennamen (ARN) des Instance-Profils oder dessen Namen angeben.

    aws ec2 associate-iam-instance-profile \ --instance-id i-1234567890abcdef0 \ --iam-instance-profile Name="TestRole-1" { "IamInstanceProfileAssociation": { "InstanceId": "i-1234567890abcdef0", "State": "associating", "AssociationId": "iip-assoc-0dbd8529a48294120", "IamInstanceProfile": { "Id": "AIPAJLNLDX3AMYZNWYYAY", "Arn": "arn:aws:iam::123456789012:instance-profile/TestRole-1" } } }

Alternativ können Sie die folgenden Tools-for-Windows-PowerShell-Befehle verwenden:

Ersetzen einer IAM-Rolle

Um die IAM-Rolle in einer Instance zu ersetzen, an die bereits eine IAM-Rolle angefügt ist, muss sich die Instance im Zustand running befinden. Sie können dies tun, wenn Sie die IAM-Rolle für eine Instance ändern möchten, ohne zuvor die vorhandene Instance zu trennen. Sie können dies beispielsweise tun, um sicherzustellen, dass die von Anwendungen auf der Instance ausgeführten API-Aktionen nicht unterbrochen werden.

New console

So ersetzen Sie eine IAM-Rolle für eine Instance

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances aus.

  3. Wählen Sie die Instance aus, klicken Sie auf Actions (Aktionen), Security (Sicherheit), Modify IAM role (IAM-Rolle ändern).

  4. Wählen Sie die IAM-Rolle zum Anfügen an die Instance aus und klicken Sie auf Speichern.

Old console

So ersetzen Sie eine IAM-Rolle für eine Instance

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances aus.

  3. Wählen Sie die Instance aus und klicken Sie auf Actions, Instance Settings und Attach/Replace IAM role.

  4. Wählen Sie die IAM-Rolle zum Anfügen an die Instance aus und klicken Sie auf Apply.

Ersetzen einer IAM-Rolle für eine Instance (AWS CLI)

  1. Falls erforderlich, beschreiben Sie Ihre IAM-Instance-Profilverknüpfungen, um die Verknüpfungs-ID für das IAM-Instance-Profil zu erhalten, das Sie ersetzen möchten.

    aws ec2 describe-iam-instance-profile-associations
  2. Verwenden Sie den replace-iam-instance-profile-association-Befehl, um das IAM-Instance-Profil zu ersetzen. Geben Sie die Verknüpfungs-ID für das vorhandene Instance-Profil und den ARN oder Namen des Instance-Profils an, welches das vorhandene ersetzen soll.

    aws ec2 replace-iam-instance-profile-association \ --association-id iip-assoc-0044d817db6c0a4ba \ --iam-instance-profile Name="TestRole-2" { "IamInstanceProfileAssociation": { "InstanceId": "i-087711ddaf98f9489", "State": "associating", "AssociationId": "iip-assoc-09654be48e33b91e0", "IamInstanceProfile": { "Id": "AIPAJCJEDKX7QYHWYK7GS", "Arn": "arn:aws:iam::123456789012:instance-profile/TestRole-2" } } }

Alternativ können Sie die folgenden Tools-for-Windows-PowerShell-Befehle verwenden:

Trennen einer IAM-Rolle

Sie können eine IAM-Rolle von einer laufenden oder angehaltenen Instance trennen.

New console

So trennen Sie eine IAM-Rolle von einer Instance

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances aus.

  3. Wählen Sie die Instance aus, klicken Sie auf Actions (Aktionen), Security (Sicherheit), Modify IAM role (IAM-Rolle ändern).

  4. Klicken Sie unter IAM-Rolle auf die Option Keine IAM-Rolle. Wählen Sie Save (Speichern) aus.

  5. Geben Sie im Bestätigungsdialogfeld Trennen, ein, und wählen Sie dann Trennen.

Old console

So trennen Sie eine IAM-Rolle von einer Instance

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances aus.

  3. Wählen Sie die Instance aus und klicken Sie auf Actions, Instance Settings und Attach/Replace IAM role.

  4. Klicken Sie für IAM role auf die Option No Role. Wählen Sie Apply aus.

  5. Wählen Sie im Bestätigungsdialogfeld Yes, Detach (Ja, trennen) aus.

Trennen einer IAM-Rolle von einer Instance (AWS CLI)

  1. Falls erforderlich, beschreiben Sie Ihre IAM-Instance-Profilverknüpfungen mit dem describe-iam-instance-profile-associations-Befehl, um die Verknüpfungs-ID für das gewünschte IAM-Instance-Profil zu erhalten.

    aws ec2 describe-iam-instance-profile-associations { "IamInstanceProfileAssociations": [ { "InstanceId": "i-088ce778fbfeb4361", "State": "associated", "AssociationId": "iip-assoc-0044d817db6c0a4ba", "IamInstanceProfile": { "Id": "AIPAJEDNCAA64SSD265D6", "Arn": "arn:aws:iam::123456789012:instance-profile/TestRole-2" } } ] }
  2. Verwenden Sie den disassociate-iam-instance-profile-Befehl mit der Verknüpfungs-ID des IAM-Instance-Profils, um dieses zu trennen.

    aws ec2 disassociate-iam-instance-profile --association-id iip-assoc-0044d817db6c0a4ba { "IamInstanceProfileAssociation": { "InstanceId": "i-087711ddaf98f9489", "State": "disassociating", "AssociationId": "iip-assoc-0044d817db6c0a4ba", "IamInstanceProfile": { "Id": "AIPAJEDNCAA64SSD265D6", "Arn": "arn:aws:iam::123456789012:instance-profile/TestRole-2" } } }

Alternativ können Sie die folgenden Tools-for-Windows-PowerShell-Befehle verwenden:

Generieren einer Richtlinie für Ihre IAM-Rolle basierend auf Zugriffsaktivitäten

Wenn Sie zum ersten Mal eine IAM-Rolle für Ihre Anwendungen erstellen, können Sie manchmal Berechtigungen erteilen, die über das erforderliche hinausgehen. Bevor Sie Ihre Anwendung in Ihrer Produktionsumgebung starten, können Sie eine IAM-Richtlinie generieren, die auf der Zugriffsaktivität für eine IAM-Rolle basiert. IAM Access Analyzer prüft Ihre AWS CloudTrail-Protokolle und generiert eine Richtlinienvorlage, die die Berechtigungen enthält, die von der Rolle im angegebenen Datumsbereich verwendet wurden. Sie können die Vorlage verwenden, um eine verwaltete Richtlinie mit definierten Berechtigungen zu erstellen und sie dann an die IAM-Rolle anzuhängen. Auf diese Weise gewähren Sie nur die Berechtigungen, die die Rolle benötigt, um mit AWS-Ressourcen für Ihren spezifischen Anwendungsfall zu interagieren. Dies hilft Ihnen, die Best Practice einzuhalten, die geringsten Privilegien zu gewähren. Weitere Informationen finden Sie unter Generieren von Richtlinien basierend auf Zugriffsaktivitäten im IAM-Benutzerhandbuch.