要撤销 EC2 服务关联角色的临时凭证,可以使用以下代码示例中的步骤:
import boto3
iam_client = boto3.client('iam')
instance_id = 'your_instance_id'
response = iam_client.describe_iam_instance_profile_associations(
Filters=[
{
'Name': 'instance-id',
'Values': [instance_id]
}
]
)
iam_role_name = response['IamInstanceProfileAssociations'][0]['IamInstanceProfile']['Arn'].split('/')[-1]
response = iam_client.list_instance_profiles_for_role(
RoleName=iam_role_name
)
instance_profile_name = response['InstanceProfiles'][0]['InstanceProfileName']
response = iam_client.delete_instance_profile(
InstanceProfileName=instance_profile_name
)
完整的代码示例如下:
import boto3
iam_client = boto3.client('iam')
def revoke_instance_role_credentials(instance_id):
response = iam_client.describe_iam_instance_profile_associations(
Filters=[
{
'Name': 'instance-id',
'Values': [instance_id]
}
]
)
iam_role_name = response['IamInstanceProfileAssociations'][0]['IamInstanceProfile']['Arn'].split('/')[-1]
response = iam_client.list_instance_profiles_for_role(
RoleName=iam_role_name
)
instance_profile_name = response['InstanceProfiles'][0]['InstanceProfileName']
response = iam_client.delete_instance_profile(
InstanceProfileName=instance_profile_name
)
return
# 调用函数来撤销 EC2 实例的 IAM 角色的临时凭证
instance_id = 'your_instance_id'
revoke_instance_role_credentials(instance_id)
请确保替换代码示例中的 'your_instance_id'
为实际的 EC2 实例 ID。