无AK访问配置流程(结合阿里云RAM)

本文将结合阿里云RAM访问控制,向您演示如何配置M2M应用的无AK访问方式,并获取STS Token的流程。

前提条件

创建OIDC身份提供商

  1. 前往阿里云RAM访问控制,选择集成管理 > SSO管理 > 角色SSO > OIDC > 创建身份提供商,开始创建。

    image

  2. 依次填写身份提供商名称颁发者URL并点击获取验证指纹信息、添加客户端ID等信息。

    说明
    • 颁发者URL:您需要填入已经创建好的M2M应用Server端的Issuer URL。如何添加M2M应用及查看Issuer信息,请参考:M2M应用(机器间权限管理)

    • 客户端ID:请务必确认填写M2M应用服务端受众标识。最多可添加20个。

    image

  3. 指纹信息获取成功后,单击确定,即可完成创建。

    image

创建OIDC身份提供商角色

  1. 前往阿里云RAM访问控制控制台,选择角色 > 创建角色 > 身份提供者 > 切换编辑器

    image

  2. 在编辑器页面,按照下图的步骤,开始添加身份提供者

    image

  3. 添加主体弹出框中,选择上文中已经创建好的身份提供者,点击确定完成添加。

    image

  4. 身份提供者添加完成后,会默认生成issaud条件,您可以选择编辑或删除这两个条件,也可以继续添加新的条件。

    image

  5. 下文以添加sub条件表达式为例,向您演示如何添加条件,您可按实际需要选择是否添加。编辑完成后,点击确定,即可完成添加。

    说明
    • 条件值:您需要填入已经创建好的M2M应用Server端的受众标识。如何添加M2M应用及查看受众标识等信息,请参考:M2M应用(机器间权限管理)

    • 如果您需要了解更多条件表达式的信息,请参考:权限策略基本元素

    • 当前RAM OIDC中仅支持三种条件:oidc:issoidc:audoidc:sub

    image

  6. 单击底部的确定,在创建角色弹出框中,填入您要创建的角色名称,单击确定,即可完成角色创建。

    image

角色授权

您可以根据需要,向已创建的角色新增授权

image

获取M2M Token

通过curl命令方式获取

  • 请将以下占位参数替换为您的应用配置后,执行curl命令,获取Token。

    # 请将<app_issuer_endpoint>、<your_app_client_id>、<your_app_client_secret>和<your_server_aud_identifier>替换为您M2M应用的具体配置值。
    #
    # <your_server_issuer_endpoint>:Issuer,“Resources Server应用 > 通用配置 > Issuer“中查看Endpoint并替换。
    # <your_app_client_id>:客户端ID,在“Client应用 > 通用配置 > 凭证管理“中查看client_id并替换。
    # <your_app_client_secret>:客户端Secret,在“Client应用 > 通用配置 > 凭证管理“中查看client_secret并替换。
    # <your_server_aud_identifier>:服务端受众标识,在“Resources Server应用 > 通用配置 > 权限应用 > 受众标识“中,查找受众标识并替换。
    #
    curl --location --request POST 'https://<your_server_issuer_endpoint>.aliyunidaas.com/api/v2/iauths_system/oauth2/token' \
      --header 'Content-Type: application/x-www-form-urlencoded' \
      --data-urlencode 'client_id=<your_app_client_id>' \
      --data-urlencode 'client_secret=<your_app_client_secret>' \
      --data-urlencode 'grant_type=client_credentials' \
      --data-urlencode 'scope=<your_server_aud_identifier>|.all'
  • Token获取成功时结果如下。

    image

通过Postman工具获取

  • 如下图所示,请将各参数替换为您的应用配置参数后,通过Postman发起请求获取token。

    image

通过M2M Token获取RAM角色的临时身份凭证(STS Token)

说明

如果您暂时不了解阿里云STS,请先前往了解什么是STS

OpenAPI方式获取

  • 前往OpenAPI门户,找到AssumeRoleWithOIDC接口。

    说明

    本文仅演示获取,更多关于AssumeRoleWithOIDC接口的详细信息,请参见:AssumeRoleWithOIDC - OIDC角色SSO时获取扮演角色的临时身份凭证

  • 填写接口所需的必要参数,确认无误后点击发起调用,即可获取到STS Token。调用成功时,如下图:

    image

    重要
    • OIDCProviderArn:请前往您已创建的OIDC身份服务提供商角色的基本信息中,从信任策略中获取。

    • RoleArn:请前往您已创建的OIDC身份服务提供商角色的基本信息中,找到ARN并获取。

    • OIDCToken:填入您上文中已获取成功的M2M Token。

    • RoleSessionName:无特殊要求,用户自定义字段,仅作为角色标识。

相关文档