通过实例RAM角色访问其他云资源之前,需要先获取该实例RAM角色的临时授权访问凭证。该临时授权访问凭证会自动周期性地更新。本文介绍如何通过元数据获取实例的RAM角色的临时授权访问凭证。
操作步骤
在实例内部,通过访问元数据服务器的方式,获取实例的RAM角色的临时授权访问凭证。
说明
通过元数据服务,您无需登录控制台或调用API,在实例内部即可获取实例信息。详细说明,请参见实例元数据。
加固模式(推荐)
Linux实例
# 获取元数据服务器的访问凭证用于鉴权 TOKEN=`curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds:<元数据服务器访问凭证有效期>"` # 获取实例RAM角色的临时授权访问凭证 curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/meta-data/ram/security-credentials/<实例RAM角色名称>
Windows实例(Powershell)
# 获取元数据服务器的访问凭证用于鉴权
$token = Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token-ttl-seconds" = "<元数据服务器的访问凭证有效期>"} -Method PUT –Uri http://100.100.100.200/latest/api/token
# 获取实例RAM角色的临时授权访问凭证
Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token" = $token} -Method GET -Uri http://100.100.100.200/latest/meta-data/ram/security-credentials/<实例RAM角色名称>
<元数据服务器的访问凭证有效期>:
实例RAM角色的临时授权访问凭证是通过元数据服务器获取的,在获取实例RAM角色的临时授权访问凭证之前,先获取元数据服务器的访问凭证并设置其有效期,以加强数据安全。超过有效期后,需要重新获取凭证,否则无法获取实例RAM角色的临时授权访问凭证。取值范围为1~21600,单位为秒。详细说明,请参见实例元数据。
<实例RAM角色名称>
:需替换为具体的实例RAM角色名称。例如EcsRamRoleDocumentTesting。
普通模式
Linux实例
curl http://100.100.100.200/latest/meta-data/ram/security-credentials/<实例RAM角色名称>
Windows实例(Powershell)
Invoke-RestMethod http://100.100.100.200/latest/meta-data/Invoke-RestMethod http://100.100.100.200/latest/meta-data/ram/security-credentials/<实例RAM角色名称>
<实例RAM角色名称>
:需替换为具体的实例RAM角色名称。例如EcsRamRoleDocumentTesting。
返回示例如下所示,其中:
SecurityToken
:实例RAM角色的临时Token。Expiration
:实例RAM角色的临时授权访问凭证的有效期(非元数据服务器的访问凭证有效期)。{ "AccessKeyId" : "STS.*******6YSE", "AccessKeySecret" : "aj******jDU", "Expiration" : "2017-11-01T05:20:01Z", "SecurityToken" : "CAISng********", "LastUpdated" : "2023-07-18T14:17:28Z", "Code" : "Success" }
相关文档
获取实例RAM角色的临时授权访问凭证后,您可以通过该凭证访问相关云资源。具体操作,请参见使用实例RAM角色访问其他云产品。