检索访问令牌

您必须获得 IBM Cloud® Identity and Access Management (IAM) 访问令牌,以验证您对 IBM® Cloud Logs Routing 服务的请求。

使用 CLI 检索访问令牌

您可以使用 IBM Cloud CLI 快速生成个人云 IAM 访问令牌消费者代表用户访问受保护资源时使用的值,而不是使用用户的服务提供商凭据。。

  1. 使用 IBM Cloud CLI 登录 IBM Cloud。

    ibmcloud login
    

    如果登录失败,请运行 ibmcloud login --sso 命令重试。 使用联合标识登录时需要 --sso 参数。 如果使用了该选项,请访问 CLI 输出中列出的链接以生成一次性通过代码。

  2. 运行以下命令获取 IBM Cloud IAM 访问令牌,并通过运行以下命令将其导出为环境变量:

    export IAM_TOKEN=`ibmcloud iam oauth-tokens --output json | jq -r '.iam_token'`
    

使用 API 检索访问令牌

您也可以通过程序检索访问令牌,方法是首先为您的应用程序创建一个 服务 ID API 密钥,然后用您的 API 密钥交换 IBM Cloud IAM 令牌。

  1. 创建 服务 ID API 密钥。

  2. 调用 IAM 身份服务 API 获取访问令牌。

    $ curl -X POST \
        "https://iam.cloud.ibm.com/identity/token" \
        -H "content-type: application/x-www-form-urlencoded" \
        -H "accept: application/json" \
        -d 'grant_type=urn%3Aibm%3Aparams%3Aoauth%3Agrant-type%3Aapikey&apikey=<API_KEY>' > token.json
    

    在请求中,将 <API_KEY> 替换为在上一步中创建的 API 密钥。 以下截断的示例显示 token.json 文件的内容:

    {
        "access_token": "b3VyIGZhdGhlc...",
        "expiration": 1512161390,
        "expires_in": 3600,
        "refresh_token": "dGhpcyBjb250a...",
        "token_type": "Bearer"
    }
    

访问令牌有效期为 1 小时,但是可根据需要重新生成。