将 IAM 角色附加到实例
在启动过程中或启动之后,您可以创建一个 IAM 角色并将其附加到实例。您也可以替换或分离 IAM 角色。
要在启动时使用 Amazon EC2 控制台将 IAM 角色附加到实例,请展开高级详细信息。对于 IAM 实例配置文件,选择 IAM 角色。
注意
如果您是使用 IAM 控制台创建的 IAM 角色,则为您创建了实例配置文件,并提供了与角色相同的名称。如果使用 AWS CLI、API 或 AWS SDK 创建了 IAM 角色,则可能为实例配置文件指定了与角色不同的名称。
您可以将 IAM 角色附加到正在运行或已停止的实例。如果实例已附加 IAM 角色,则必须将其替换为新的 IAM 角色。
- Console
-
将 IAM 角色附加到实例
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择实例。
-
选择实例。
-
依次选择 Actions(操作)、Security(安全)和 Modify IAM role(修改 IAM 角色)。
-
对于 IAM 角色,选择 IAM 实例配置文件。
-
选择更新 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 角色
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择实例。
-
选择实例。
-
依次选择 Actions(操作)、Security(安全)和 Modify IAM role(修改 IAM 角色)。
-
对于 IAM 角色,选择 IAM 实例配置文件。
-
选择更新 IAM 角色。
- AWS CLI
-
替换实例的 IAM 角色
-
如果需要,请描述您的 IAM 实例配置文件关联情况,以获取要替换的 IAM 实例配置文件的关联 ID。
aws ec2 describe-iam-instance-profile-associations
-
使用 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 角色
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择实例。
-
选择实例。
-
依次选择 Actions(操作)、Security(安全)和 Modify IAM role(修改 IAM 角色)。
-
对于 IAM 角色,请选择无 IAM 角色。
-
选择更新 IAM 角色。
-
提示进行确认时,输入分离,然后选择分离。
- AWS CLI
-
从实例中分离 IAM 角色
-
如果需要,使用 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" } } ] }
-
使用 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