プログラマチック・アクセスのための資格情報 (IBM Cloud API キーおよび IAM トークン)

最終更新: 2025年2月03日
プログラマチック・アクセスのための資格情報 (IBM Cloud API キーおよび IAM トークン)

IBM watsonx.ai でファウンデーション・モデルをプログラマチックに操作するには、 watsonx.ai リソースへのアクセスが許可されていることを証明するために認証を受ける必要があります。

REST API 資格情報

ほとんどの API メソッドでは、リクエストに IBM Cloud Identity and Access Management (IAM) ベアラー・トークンをアクセストークンとして含める必要があります。 IAM ベアラー・トークンを生成するには、IBM Cloud API キーを使用します。

REST API 要求を認証するには、以下のステップを実行します。

  1. IBM Cloud API キーは、さまざまな方法で作成できます。

    詳細については、 IBM Cloud API キーを参照してください。

  2. IBM Cloud API キーを使用して、IAM ベアラー・トークンを作成します。

    詳しくは、API キーを使用した IBM Cloud IAM トークンの生成を参照してください。

  3. REST 要求を送信するときに IAM トークンを指定します。

    curl -X 'POST' https://{region}.ml.cloud.ibm.com/ml/v1/text/generation
    --header "Authorization: Bearer {IAM-token}..."
    

トークンの有効期限が切れた場合は、ユーザーがトークンをリフレッシュする必要があります。 トークンをリフレッシュするには、ステップ 2 から始まる手順を繰り返します。

Python ライブラリーの資格情報

Python ライブラリーを使用する場合は、API キーと IAM トークンのどちらを使用するかを選択できます。

IAM トークンを自分で作成し、そのトークンをライブラリーに渡す場合は、トークンの有効期限が切れる前にトークンのリフレッシュを管理する必要があります。

API キーをライブラリー内の APIClient に渡すと、クライアントは IAM トークンを生成し、必要に応じてトークンをリフレッシュします。

ライブラリーでの IBM Cloud API キーの使用

IBM Cloud API キーは、さまざまな方法で作成できます。 詳細については、 IBM Cloud APIキーを参照してください。

以下のサンプル・コード・スニペットは、 Python ライブラリーを使用する場合に、認証に API キーを直接使用する方法を示しています。

from ibm_watsonx_ai.foundation_models import ModelInference

model_inference = ModelInference(
    model_id="ibm/granite-13b-chat-v2",
    credentials={
        "apikey": "***",
        "url": "https://{region}.ml.cloud.ibm.com"
    },
    project_id="*****"
    )

 

APIClient の使用

あるいは、ライブラリーで使用可能な APIClient を使用することもできます。 クライアントをインスタンス化した後は、各メソッドで資格情報を指定する必要はありません。

from ibm_watsonx_ai import APIClient
from ibm_watsonx_ai import Credentials

credentials = Credentials(
  url = "https://{region}.ml.cloud.ibm.com",
  api_key = "{api-key}"
)

client = APIClient(credentials)

詳細については、 「認証」を参照してください。

デフォルトのプロジェクトまたはスペース ID を設定することもできます。 詳しくは、 プロジェクト ID の検索を参照してください。

 

タスク認証情報の作成

基盤モデルのチューニングなど、一部の長期にわたるジョブやタスクには、タスク認証が必要です。

タスク認証を作成するには:

task_credentials_details = client.task_credentials.store()

資格情報をリストアップするには:

client.task_credentials.list()

返される認証情報のリストには、各タスク認証情報ごとに、タスク認証IDである asset_id が含まれています。

クレデンシャルのIDが分かっている場合、以下のようにして削除することができます

client.task_credentials.delete(task_credentials_id)

詳細は、 Python ライブラリのタスク認証クラスを参照してください。

あるいは、製品UIを使用してタスク認証の作成や削除を行うこともできます。 詳細は 、「タスクの認証情報の管理 」を参照してください。

詳細情報

親トピック 生成的AIソリューションのコーディング