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

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

IAM-Rollen für Amazon EC2

Anwendungen müssen ihre API-Anforderungen mit - AWS Anmeldeinformationen signieren. Als Anwendungs-Developer 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 jedoch schwierig, Anmeldeinformationen sicher an jede Instance zu verteilen, insbesondere an solche, die in Ihrem Namen AWS erstellt, wie Spot-Instances oder Instances in Auto Scaling-Gruppen. Sie müssen auch in der Lage sein, die Anmeldeinformationen für jede Instance zu aktualisieren, wenn Sie Ihre AWS Anmeldeinformationen rotieren.

Anmerkung

Für Ihre Amazon-EC2-Workloads empfehlen wir, dass Sie die Anmeldeinformationen für die Sitzung mit der unten beschriebenen Methode abrufen. Diese Anmeldeinformationen sollten es Ihrem Workload ermöglichen, AWS -API-Anfragen zu stellen, ohne sts:AssumeRole verwenden zu müssen, um dieselbe Rolle zu übernehmen, die bereits mit dieser Instance verknüpft ist. Nur wenn Sie Sitzungs-Tags für die attributbasierte Zugriffskontrolle (ABAC) übergeben oder eine Sitzungsrichtlinie übergeben müssen, um die Berechtigungen der Rolle weiter einzuschränken, sind solche Rollenannahmeaufrufe erforderlich, da sie einen neuen Satz derselben temporären Anmeldeinformationen für die Rollensitzung erstellen.

Wenn Ihr Workload eine Rolle verwendet, um sich selbst anzunehmen, müssen Sie eine Vertrauensrichtlinie erstellen, die ausdrücklich zulässt, dass diese Rolle sich selbst annimmt. Wenn Sie die Vertrauensrichtlinie nicht erstellen, erhalten Sie den Fehler AccessDenied. Weitere Informationen finden Sie unter Ändern einer Vertrauensrichtlinie für Rollen im IAM-Benutzerhandbuch.

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 die Berechtigung für API-Anforderungen wie folgt delegieren:

  1. Erstellen Sie eine IAM-Rolle.

  2. Definieren Sie, welche Konten oder AWS Services die Rolle übernehmen 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 -Benutzer erstellen. Wenn Sie an einer Rolle etwas ändern, wird diese Änderung an alle Instances weitergegeben.

Anmerkung

Die Anmeldeinformationen für Amazon EC2-IAM-Rollen unterliegen keinen maximalen Sitzungsdauern, die in der Rolle konfiguriert sind. Weitere Informationen finden Sie unter IAM-Rollen verwenden im IAM-Benutzerhandbuch.

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 die AWS CLI, API oder ein AWS SDK verwenden, um eine Rolle zu erstellen, erstellen Sie die Rolle und das Instance-Profil als separate Aktionen mit potenziell unterschiedlichen Namen. Wenn Sie dann die AWS CLI, API oder ein AWS SDK verwenden, um eine Instance mit einer IAM-Rolle zu starten oder eine IAM-Rolle an eine Instance 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 s3access abgerufen.

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 und Tools for Windows- PowerShell Befehle AWS CLI, die auf der Instance ausgeführt werden, müssen Sie die temporären Sicherheitsanmeldeinformationen nicht explizit abrufen – die AWS SDKs , AWS CLIund Tools for Windows rufen die Anmeldeinformationen PowerShell automatisch vom EC2-Instance-Metadatenservice 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 finden Sie unter Verwenden temporärer Sicherheitsanmeldeinformationen zum Anfordern des Zugriffs auf - AWS Ressourcen 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 von Berechtigungen für Benutzer zur Weitergabe einer IAM-Rolle an eine Instance

Damit ein Benutzer eine Instance mit einer IAM-Rolle aktivieren oder eine IAM-Rolle für eine vorhandene Instance anfügen oder ersetzen kann, müssen Sie dem Benutzer die Berechtigung zur Verwendung der folgenden API-Aktionen gewähren:

  • 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

Wenn Sie möchten, dass die Richtlinie Benutzern Zugriff auf alle Ihre Rollen gewährt, geben Sie die Ressource als * in der Richtlinie an. Als bewährte Methode sollten Sie dabei jedoch das Prinzip der minimalen Rechtevergabe beachten.

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

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.

Console
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 Rollen und dann Rolle erstellen aus.

  3. Wählen Sie auf der Seite Vertrauenswürdige Entität auswählen die Option AWS-Service und dann den EC2-Anwendungsfall aus. Wählen Sie Weiter aus.

  4. Wählen Sie auf der Seite Berechtigungen hinzufügen die Richtlinien aus, die Ihren Instances Zugriff auf die benötigten Ressourcen gewähren. Wählen Sie Weiter aus.

  5. Geben Sie auf der Seite Name, Überprüfung und Erstellung einen Namen und eine Beschreibung für die Rolle ein. Fügen Sie der Rolle optional Tags hinzu. Wählen Sie Rolle erstellen aus.

Command line

Im folgenden Beispiel wird eine IAM-Rolle mit einer Richtlinie erstellt, die es der Rolle ermöglicht, einen Amazon S3-Bucket zu verwenden.

IAM-Rolle und Instance-Profil erstellen (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

    Beispielantwort

    { "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. Hängen Sie die Zugriffsrichtlinie mit dem put-role-policy Befehl an die Rolle an.

    aws iam put-role-policy \ --role-name s3access \ --policy-name S3-Permissions \ --policy-document file://ec2-role-access-policy.json
  5. Erstellen Sie s3access-profile mit dem create-instance-profile Befehl ein Instance-Profil mit dem Namen .

    aws iam create-instance-profile --instance-profile-name s3access-profile

    Beispielantwort

    { "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 finden Sie unter Fehlerbehebung bei IAM-Rollen im IAM-Benutzerhandbuch.

New console
So starten Sie eine Instance mit einer IAM-Rolle (Konsole)
  1. Befolgen Sie das Verfahren zum Starten einer Instance.

  2. Erweitern Sie Advanced details (Erweiterte Details) und wählen Sie für das IAM instance profile (IAM-Instance-Profil) die von Ihnen erstellte IAM-Rolle aus.

    Anmerkung

    In der Liste der IAM instance profile (IAM-Instance-Profile) wird der Name des Instance-Profils angezeigt, das Sie beim Erstellen Ihrer IAM-Rolle erstellt 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 Ihre IAM-Rolle mit der AWS CLI, der API oder einem AWS SDK erstellt haben, haben Sie Ihr Instance-Profil möglicherweise anders benannt.

  3. Konfigurieren Sie alle anderen Details, die Sie für Ihre Instance benötigen oder akzeptieren Sie die Standardeinstellungen und wählen Sie ein Schlüsselpaar aus. Weitere Informationen zu den Feldern im Launch Instance Wizard finden Sie unter Starten einer Instance mit definierten Parametern.

  4. Überprüfen Sie im Bereich Summary (Übersicht) die Konfiguration Ihrer Instance und wählen Sie dann Launch instance (Instance starten) aus.

  5. Wenn Sie die Amazon EC2-API-Aktionen in Ihrer Anwendung verwenden, rufen Sie die auf der Instance verfügbaren AWS Sicherheitsanmeldeinformationen ab und signieren Sie die Anforderungen mit ihnen. Das erledigt das AWS SDK für Sie.

    IMDSv2IMDSv1
    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
Old console
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 Ihre IAM-Rolle mit der AWS CLI, der API oder einem AWS SDK erstellt haben, haben Sie Ihr Instance-Profil möglicherweise anders benannt.

  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 verfügbaren AWS Sicherheitsanmeldeinformationen ab und signieren Sie die Anforderungen mit ihnen. Das erledigt das AWS SDK für Sie.

    IMDSv2IMDSv1
    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
Command line

Sie können die verwenden AWS CLI , um eine Rolle während des Starts einer Instance zuzuordnen. Sie müssen das Instance-Profil im Befehl angeben.

Instance mit IAM-Rolle starten (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

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

  2. Wenn Sie die Amazon EC2-API-Aktionen in Ihrer Anwendung verwenden, rufen Sie die auf der Instance verfügbaren AWS Sicherheitsanmeldeinformationen ab und signieren Sie die Anforderungen mit ihnen. Das 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.

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.

Command line
IAM-Rolle einer Instance anfügen (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 die IAM-Rolle an die Instance anzuhängen, 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"

    Beispielantwort

    { "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 für 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.

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.

Command line
IAM-Rolle für eine Instance ersetzen (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 Befehl replace-iam-instance-profile-association, um das IAM-Instance-Profil zu ersetzen, indem Sie die Zuordnungs-ID für das vorhandene Instance-Profil und den ARN oder Namen des Instance-Profils angeben, das es ersetzen soll.

    aws ec2 replace-iam-instance-profile-association \ --association-id iip-assoc-0044d817db6c0a4ba \ --iam-instance-profile Name="TestRole-2"

    Beispielantwort

    { "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 für Windows- PowerShell Befehle verwenden:

Trennen einer IAM-Rolle

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

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 aus.

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

Command line
IAM-Rolle von einer Instance trennen (AWS CLI)
  1. Falls erforderlich, verwenden Sie describe-iam-instance-profile-Associations, um Ihre IAM-Instance-Profilzuordnungen zu beschreiben und die Zuordnungs-ID für das zu trennende IAM-Instance-Profil abzurufen.

    aws ec2 describe-iam-instance-profile-associations

    Beispielantwort

    { "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 , um das IAM-Instance-Profil mithilfe seiner Zuordnungs-ID zu trennen.

    aws ec2 disassociate-iam-instance-profile --association-id iip-assoc-0044d817db6c0a4ba

    Beispielantwort

    { "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 für 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 überprüft Ihre AWS CloudTrail Protokolle und generiert eine Richtlinienvorlage, die die Berechtigungen enthält, die von der Rolle in Ihrem 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 erteilen Sie nur die Berechtigungen, die die Rolle für die Interaktion mit AWS Ressourcen für Ihren spezifischen Anwendungsfall benötigt. 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.