擷取存取記號

使用IBM® Key Protect API 開始使用,方法是以一個 IBM Cloud® Identity and Access Management (IAM) 存取令牌。

使用 CLI 擷取存取記號

您可以使用 IBM Cloud CLI 快速產生您個人的雲端 IAM 存取代碼消費者用於代表使用者存取受保護資源的憑證,而非使用使用者的服務供應商憑證。

  1. IBM Cloud 使用 IBM Cloud CLI.

    ibmcloud login
    

    如果登入失敗,請執行 ibmcloud login --sso 指令再試一次。 該 --sso 參數是使用聯合 ID 登入時所必須的。 如果使用此選項,請前往 CLI 輸出中列出的連結,以產生一次性通行碼

  2. 選取包含 Key Protect 之佈建實例的帳戶、地區和資源群組。

  3. 執行下列指令,以擷取 Cloud IAM 存取記號。

    ibmcloud iam oauth-tokens
    

    下列縮減的範例顯示擷取的 IAM 記號。

    IAM token: Bearer eyJraWQiOiIyM...
    

使用 API 擷取存取記號

您也可以程式化的方式擷取存取權限,方法是先為您的應用程式建立 服務 ID API 金鑰,然後將您的 API 金鑰交換成 IBM Cloud IAM 令牌。

  1. IBM Cloud 使用 IBM Cloud CLI.

    ibmcloud login
    

    如果登入失敗,請執行 ibmcloud login --sso 指令再試一次。 該 --sso 參數是使用聯合 ID 登入時所必須的。 如果使用這個選項,請前往 CLI 輸出中所列的鏈結,以產生一次性的通行碼。

  2. 選取包含 Key Protect 之佈建實例的帳戶、地區和資源群組。

  3. 為您的應用程式建立一個 為您的應用程式 建立服務 ID

    ibmcloud iam service-id-create SERVICE_ID_NAME
                [-d, --description DESCRIPTION]
    
  4. 管理資源存取 為服務 ID。

    您可以 使用IBM Cloud 主控台為服務 ID 指定存取權限 若要瞭解_Manager_、 Writer 和_Reader 存取_角色如何對應特定Key Protect 服務動作,請參閱 角色和權限

  5. 建立一個 服務 ID API 金鑰

    ibmcloud iam service-api-key-create API_KEY_NAME SERVICE_ID_NAME
                [-d, --description DESCRIPTION]
                [--file FILE_NAME]
    

    <service_ID_name> 改為您在上一步中指定給服務 ID 的唯一別名 請將 API 金鑰下載至安全位置來進行儲存。

  6. 呼叫 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"
    }
    

    使用完整的 access_token 值,前綴為_Bearer_令牌類型,以程式化方式管理服務的鑰匙,使用 Key Protect API. 觀看範例 Key Protect API 請求,查看 形成您的 API 請求

    存取記號的有效時間為 1 小時,但您可以視需要重新產生它們。 若要維持對服務的存取權,請透過呼叫 IAM 身分服務 API,定期為您的 API 金鑰重新產生存取標記

    • 使用 IBM Cloud Identity and Access Management (IAM) 令牌向 IBM Watson 服務提出認證請求,而無需在每次呼叫中嵌入服務憑證。 在每次呼叫中嵌入服務憑證。

    • IAM 鑑別會使用存取記號來進行鑑別,您可以透過傳送要求與 API 金鑰來獲得。

範例 - 使用 CLI 設定存取權限

本範例說明如何使用命令列介面 (CLI) 擷取存取權限並設定環境變數。 變數。

# login and select account, region, and resource group
$ ibmcloud login --sso

# optionally set the region (-r) and resource group (-g) that
# contains your provisioned Key Protect instance
$ ibmcloud target -r us-south -g Default

# set the ACCESS_TOKEN environment variable (with Bearer)
$ export ACCESS_TOKEN=`ibmcloud iam oauth-tokens | grep IAM | cut -d \: -f 2 | sed 's/^ *//'`

# show the access token
$ echo $ACCESS_TOKEN

Bearer eyJraWQiOiIyMDIwMDcyNDE4MzEiLCJh ...<redacted>... o4qlcKjl9sVqLa8Q

# set the ACCESS_TOKEN environment variable (without Bearer)
$ export ACCESS_TOKEN=`ibmcloud iam oauth-tokens | grep IAM | cut -d ' ' -f 5 | sed 's/^ *//'`

$ echo $ACCESS_TOKEN

eyJraWQiOiIyMDIwMDcyNDE4MzEiLCJh ...<redacted>... o4qlcKjl9sVqLa8Q