全部产品
Search
文档中心

云服务器 ECS:获取实例RAM角色的临时授权访问凭证

更新时间:Jan 26, 2024

通过实例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角色访问其他云产品