擷取存取記號

使用 IBM Cloud® Identity and Access Management (IAM) 存取記號來鑑別對服務的要求,以開始使用 Hyper Protect Crypto Services 金鑰管理服務 API。

存取記號是在 1 小時之後到期的暫時認證。 在獲得的記號到期之後,您必須產生新的記號,以繼續呼叫 IBM Cloud 或服務 API。 若要維護對服務的存取權,請定期重新產生 API 金鑰的存取記號。

使用 CLI 擷取存取記號

您可以使用 IBM Cloud CLI 以快速產生個人的 Cloud IAM 存取記號。

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

    ibmcloud login
    

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

  2. 選取要在其中建立 Hyper Protect Crypto Services 服務實例的地區及資源群組。 您可以使用下列指令來設定目標地區及資源群組。

    ibmcloud target -r <region_name> -g <resource_group_name>
    
  3. 執行下列指令,以擷取 Cloud IAM 存取記號。

    ibmcloud iam oauth-tokens
    

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

    IAM token:  Bearer eyJraWQiOiIyM...
    

使用 API 擷取存取記號

您也可以透過使用 API 金鑰,然後交換 IBM Cloud IAM 記號的 API 金鑰,以程式化方式擷取存取記號。 視您為使用者或應用程式建立存取記號而定,請相應地使用 IBM Cloud 使用者 API 金鑰服務 ID API 金鑰

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

    ibmcloud login
    

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

  2. 使用下列指令,選取包含已佈建 Hyper Protect Crypto Services 實例的地區及資源群組:

    ibmcloud target -r <region_name> -g <resource_group_name>
    
  3. 建立 API 金鑰。

    • 如果您要擷取使用者的存取記號,請使用下列指令來建立使用者 API 金鑰:

      ibmcloud iam api-key-create <API_key_name>
          [-d, --description <description>]
          [--file <API_key_file_name>]
      

      使用 <API_key_name> 參數指定 API 金鑰唯一名稱。 請務必使用 <API_key_file_name> 參數或從指令回應複製 API 金鑰值,以儲存 API 金鑰供稍後使用。

    • 如果您要擷取應用程式的存取記號,請完成下列步驟來建立服務 ID API 金鑰:

      1. 使用下列指令,為您的應用程式建立 服務 ID:

        ibmcloud iam service-id-create <service_ID_name>
            [-d, --description <description>]
        

        使用 <service_ID_name> 參數指定服務 ID 唯一名稱。

      2. 使用下列指令建立服務 ID API 金鑰:

        ibmcloud iam service-api-key-create <API_key_name> <service_ID_name>
            [-d, --description <description>]
            [--file <API_key_file_name>]
        

        使用 <API_key_name> 參數指定 API 金鑰的唯一名稱,並將 <service_ID_name> 取代為您在前一個步驟中指派給服務 ID 的唯一別名。 請務必使用 <API_key_file_name> 參數或從指令回應複製 API 金鑰值,以儲存 API 金鑰供稍後使用。

  4. 根據您的存取原則,將 將適當的存取權指派給使用者或服務 ID 至 Hyper Protect Crypto Services 實例。

    若要瞭解 IAM 存取角色如何對映至特定的 Hyper Protect Crypto Services 服務動作,請參閱 角色及許可權

  5. 呼叫 IAM Identity Services 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:ibm:params:oauth:grant-type:apikey&apikey=<API_key>" > token.json
    

    在要求中,將 <API_key> 取代為您在前一個步驟中建立的使用者 API 金鑰或服務 ID API 金鑰。 下列截斷的範例顯示 token.json 檔案的內容:

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

    使用以 Bearer 記號類型為字首的完整 access_token 值,以程式化方式使用 Hyper Protect Crypto Services 金鑰管理服務 API 來管理服務的金鑰。 若要查看範例 Hyper Protect Crypto Services 金鑰管理服務 API 要求,請參閱 建立金鑰管理服務 API 要求