描述
附加实例 RAM 角色到实例上,实时生效。如果实例已有 RAM 角色,则报错提示用户不能附加新的角色。
请求参数
名称 | 类型 | 是否必须 | 描述 |
Action | String | 是 | 系统规定参数,取值:AttachInstanceRamRole。 |
RegionId | String | 是 | 地域 ID。Region ID 的列表详见 地域列表。 |
InstanceIds | Array | 是 | 实例 ID 集,最多 100 个实例,[“instanceId1”, “instanceId2”, “instanceId3”…]。 |
RamRoleName | String | 是 | 实例 RAM 角色名称,名称由 RAM 提供和维护,使用 RAM 的 ListRoles 接口查询。 |
错误代码 | 描述 | HTTP 状态码 | 语义 |
InvalidInstanceIds.Malformed | The specified InstanceIds is not valid. | 400 | 指定的 InstanceIds 不合法。 |
MissingParameter.InstanceIds | The input parameter InstanceIds that is mandatory for processing this request is missing. | 400 | 缺少必填参数 InstanceIds。 |
MissingParameter.RamRoleName | The input parameter RamRoleName that is mandatory for processing this request is missing. | 400 | 缺少必填参数 RamRoleName。 |
MissingParameter.RegionId | The input parameter RegionId that is mandatory for processing this request is missing. | 400 | 缺少必填参数 RegionId。 |
InvalidNetworkType.MismatchRamRole | Ram role cannot be attached to instances of Classic network type. | 403 | 实例 RAM 角色不能被用于经典网络。 |
InvalidUser.PassRoleForbidden | The RAM user does not have the privilege to pass a role. | 403 | RAM 用户不具有 PassRole 的权限。 |
InvalidInstanceId.NotFound | The specified InstanceId does not exist. | 404 | 指定的实例 ID 不存在。 |
InvalidRamRole.NotFound | The specified RamRoleName does not exist. | 404 | 指定的 RamRoleName 不存在。 |
https://ecs.aliyuncs.com/?Action=AttachInstanceRamRole
&RegionId=cn-hangzhou
&RamRoleName=RamRoleTest
&InstanceIds=["i-instance1"]
&<公共请求参数>
返回示例
XML 示例
<AttachInstanceRamRoleResponse>
<RequestId>E6352369-5C2B-41CD-AB50-471550C8F674</RequestId>
<AttachInstanceRamRoleResults>
<AttachInstanceRamRoleResult>
<InstanceId>i-instance1</InstanceId>
<Code>200</Code>
<Message>success</Message>
</AttachInstanceRamRoleResult>
</AttachInstanceRamRoleResults>
<TotalCount>1</TotalCount>
<FailCount>0</FailCount>
<RamRoleName>RamRoleTest</RamRoleName>
</AttachInstanceRamRoleResponse>
JSON 示例
{
"RequestId": "D9553E4C-6C3A-4D66-AE79-9835AF705639",
"AttachInstanceRamRoleResults": {
"AttachInstanceRamRoleResult": [
{
"Message": "success",
"InstanceId": "i-instance1",
"Code": "200"
}
]
},
"TotalCount": 1,
"FailCount": 0,
"RamRoleName": "RamRoleTest"
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
该描述是关于阿里云ECS(Elastic Compute Service,弹性计算服务)中通过API操作“AttachInstanceRamRole”来给实例附加RAM角色的使用说明。下面是对这一操作的详细解析:
AttachInstanceRamRole
API允许用户将一个RAM(Resource Access Management,资源访问管理)角色附加到指定的ECS实例上。一旦附加成功,该ECS实例就可以基于这个RAM角色的权限去访问其他阿里云服务,而无需在实例上直接管理密钥对或凭证,提高了安全性与便利性。需要注意的是,如果实例已经绑定了一个RAM角色,则不能再附加新的角色,系统会报错提示。
AttachInstanceRamRole
,表示执行的操作类型。ListRoles
接口获取角色名称列表。返回参数均为公共参数,具体可参考阿里云API文档中的公共参数部分。
列举了一些可能遇到的错误代码及其描述,例如: - InvalidInstanceIds.Malformed
: 实例ID格式不正确。 - MissingParameter.InstanceIds
: 缺少必需的InstanceIds
参数。 - InvalidNetworkType.MismatchRamRole
: 经典网络类型的实例不能附加RAM角色。 - InvalidUser.PassRoleForbidden
: RAM用户没有PassRole权限。
提供了一个请求示例的URL格式,实际调用时需要替换?Action=AttachInstanceRamRole
后面的部分为具体的请求参数,通常这些参数会通过HTTP POST请求的Body传递,并且需要进行URL编码和签名处理,以符合阿里云API调用的安全要求。
你好,我是AI助理
可以解答问题、推荐解决方案等