开发者社区 > 云原生 > Serverless > 正文

自定义运行时环境,如何获得函数计算角色的AK\SK\STS?

自定义运行时环境,如何获得函数计算角色的AK\SK\STS?

展开
收起
三分钟热度的鱼 2024-05-22 21:53:00 39 0
1 条回答
写回答
取消 提交回答
  • 在您已经为函数配置了获取角色权限的策略的前提下,您可以在函数计算的自定义运行时环境中通过访问环境变量来间接获取到访问其他阿里云服务所需的AccessKey、SecretKey或STS Token。具体做法如下:

    利用环境变量:函数计算会自动将访问密钥和安全令牌注入到函数的环境变量中。对于自定义运行时,您可以直接读取这些环境变量来获取凭据。

    获取AccessKey ID和AccessKey Secret:通常情况下,直接通过环境变量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET来获取。

    获取STS Token:对于需要临时安全令牌(STS Token)的情况,函数计算会注入ALIBABA_CLOUD_SECURITY_TOKEN,以及相应的ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET,这些环境变量组合起来构成完整的STS凭证。

    代码示例:以下是使用这些环境变量的示例代码(以Node.js为例):
    const accessKeyId = process.env.ALIBABA_CLOUD_ACCESS_KEY_ID;
    const accessKeySecret = process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET;
    const securityToken = process.env.ALIBABA_CLOUD_SECURITY_TOKEN;
    // 使用这些凭据进行后续的阿里云服务调用

    注意事项:

    确保您的函数角色具有足够的权限来访问您需要的阿里云服务。例如,如果您需要访问OSS,那么该角色应至少包含AliyunOSSFullAccess策略。
    使用这些凭据时,请注意安全性,不要将它们暴露在日志或其他非安全的输出中。
    动态获取AK/SK或STS Token的过程通常由函数计算自动处理,您只需正确配置函数角色和访问策略即可。

    通过这种方式,您就能在自定义运行时环境中安全且合规地使用函数计算角色的凭证进行阿里云服务的访问。 此回答整理自钉群“阿里函数计算客户【已满,加2群:64970014484】”

    2024-05-23 08:26:09
    赞同 2 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 相关电子书

    更多
    All in Serverless 阿里云核心产品全面升级 立即下载
    AIGC 浪潮之上,森马的 Serverless 实践之旅 立即下载
    极氪大数据 Serverless 应用实践 立即下载