生成AI IAMベースの認証

次の2つの認証方法を使用して、OpenAI互換エンドポイントにアクセスできます。

テストおよび早期開発にAPIキーを使用します。本番ワークロードおよびOCI管理環境には、IAMベースの認証を使用します。このトピックでは、OCI IAM認証を設定する方法について説明します。

OCI IAM認証

OCI Responses APIは、OCI IAM認証を完全にサポートしています。この項では、APIキーのかわりにIAMベースの認証を使用する方法について説明します。

IAM認証を使用する場合

次の場合は、IAM認証の使用を検討してください:

mc

  • OCIサービスでのアプリケーションの実行(FunctionsやOKEなど)
  • APIキーなどの長期間の資格証明の回避
  • IAMポリシーによるファイングレイン・アクセス・コントロールの強制

OCI IAM認証ライブラリのインストール

OCI IAM認証をOpenAI SDKと統合するためのヘルパー・ユーティリティを提供するoci-genai-authライブラリをインストールします:

pip install oci-genai-auth

このライブラリには、次の認証ヘルパーが含まれています。

  • OciSessionAuth (ローカル開発用)
  • OciUserPrincipalAuth
  • OciInstancePrincipalAuth
  • OciResourcePrincipalAuth (OCI管理環境の場合)

リソース

OpenAIクライアントの構成

IAM認証を使用する場合は、カスタムHTTPクライアントおよび認証ハンドラを使用してOpenAIクライアントを初期化します。この場合、api_key値は"not used"です。

例: ローカル開発(OciSessionAuth)

このアプローチは、コードをローカルで実行する場合(たとえば、OCI CLIプロファイルを使用するラップトップの場合)に使用します。

from openai import OpenAI
from oci_openai import OciSessionAuth
import httpx

client = OpenAI(
    base_url="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/openai/v1",  # update region if needed
    api_key="not-used",
    project="ocid1.generativeaiproject.oc1.us-chicago-1.xxxxxxxx",  # project OCID created earlier
    http_client=httpx.Client(auth=OciSessionAuth(profile_name="DEFAULT"))  # update profile if needed
)

response = client.responses.create(
    model="xai.grok-4-1-fast-reasoning",
    input="Write a one-sentence explanation of what a database is."
)

print(response.output_text)

例: OCI管理対象環境(OciResourcePrincipalAuth)

OCI FunctionsOCI Container Engine for Kubernetes (OKE)などのOCIサービスで実行する場合は、このアプローチを使用します:

from openai import OpenAI
from oci_openai import OciResourcePrincipalAuth
import httpx

client = OpenAI(
    base_url="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/openai/v1",  # update region if needed
    api_key="not-used",
    project="ocid1.generativeaiproject.oc1.us-chicago-1.xxxxxxxx",  # project OCID created earlier
    http_client=httpx.Client(auth=OciResourcePrincipalAuth()),
)

OCI IAM認証を使用すると、アプリケーションはAPIキーを管理せずにOCI生成AIに安全にアクセスでき、標準のOCIセキュリティ・プラクティスに準拠できます。