将 IAM 角色附加到实例 - Amazon Elastic Compute Cloud

将 IAM 角色附加到实例

在启动过程中或启动之后,您可以创建一个 IAM 角色并将其附加到实例。您也可以替换或分离 IAM 角色。

要在启动时使用 Amazon EC2 控制台将 IAM 角色附加到实例,请展开高级详细信息。对于 IAM 实例配置文件,选择 IAM 角色。

注意

如果您是使用 IAM 控制台创建的 IAM 角色,则为您创建了实例配置文件,并提供了与角色相同的名称。如果使用 AWS CLI、API 或 AWS SDK 创建了 IAM 角色,则可能为实例配置文件指定了与角色不同的名称。

您可以将 IAM 角色附加到正在运行或已停止的实例。如果实例已附加 IAM 角色,则必须将其替换为新的 IAM 角色。

Console
将 IAM 角色附加到实例
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择实例

  3. 选择实例。

  4. 依次选择 Actions(操作)、Security(安全)和 Modify IAM role(修改 IAM 角色)。

  5. 对于 IAM 角色,选择 IAM 实例配置文件。

  6. 选择更新 IAM 角色

AWS CLI
将 IAM 角色附加到实例

使用 associate-iam-instance-profile 命令将 IAM 角色附加到该实例。指定实例配置文件时,您可以使用实例配置文件的 Amazon 资源名称(ARN),也可以使用其名称。

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" } } }
PowerShell
将 IAM 角色附加到实例

要替换已附加了 IAM 角色的实例上的 IAM 角色,实例必须处于 running 状态。如果要更改实例的 IAM 角色而先不分离现有角色,则您可以执行此操作。例如,您可以执行此操作,以确保正在实例上运行的应用程序所执行的 API 操作不会被中断。

Console
替换实例的 IAM 角色
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择实例

  3. 选择实例。

  4. 依次选择 Actions(操作)、Security(安全)和 Modify IAM role(修改 IAM 角色)。

  5. 对于 IAM 角色,选择 IAM 实例配置文件。

  6. 选择更新 IAM 角色

AWS CLI
替换实例的 IAM 角色
  1. 如果需要,请描述您的 IAM 实例配置文件关联情况,以获取要替换的 IAM 实例配置文件的关联 ID。

    aws ec2 describe-iam-instance-profile-associations
  2. 使用 replace-iam-instance-profile-association 命令并通过为现有实例配置文件或 ARN 指定关联 ID 或指定替换实例配置文件的名称,替换 IAM 实例配置文件。

    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" } } }
PowerShell

您可以将 IAM 角色从正在运行或已停止的实例上分离。

Console
从实例中分离 IAM 角色
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择实例

  3. 选择实例。

  4. 依次选择 Actions(操作)、Security(安全)和 Modify IAM role(修改 IAM 角色)。

  5. 对于 IAM 角色,请选择无 IAM 角色

  6. 选择更新 IAM 角色

  7. 提示进行确认时,输入分离,然后选择分离

AWS CLI
从实例中分离 IAM 角色
  1. 如果需要,使用 describe-iam-instance-profile-associations 描述您的 IAM 实例配置文件关联,并获取要分离的 IAM 实例配置文件的关联 ID。

    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. 使用 disassociate-iam-instance-profile 命令分离使用其关联 ID 的 IAM 实例配置文件。

    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" } } }
PowerShell