Authentification IAM d'IA générative

Vous pouvez accéder à l'adresse compatible OpenAI à l'aide des deux méthodes d'authentification suivantes :

Utiliser des clés d'API pour les tests et le développement anticipé. Utilisez l'authentification basée sur IAM pour les workloads de production et les environnements gérés par OCI. Cette rubrique explique comment configurer l'authentification OCI IAM.

Authentification OCI IAM

L'API OCI Responses prend entièrement en charge l'authentification OCI IAM. Cette section explique comment utiliser l'authentification basée sur IAM à la place des clés d'API.

Quand utiliser l'authentification IAM

Envisagez d'utiliser l'authentification IAM dans les cas suivants :

Mc

  • Exécution d'applications dans les services OCI (par exemple, Functions ou OKE)
  • Eviter les informations d'identification de longue durée, telles que les clés d'API
  • Application du contrôle d'accès de niveau fin via des stratégies IAM

Installation de la bibliothèque d'authentification OCI IAM

Installez la bibliothèque oci-genai-auth, qui fournit des utilitaires d'aide pour l'intégration de l'authentification OCI IAM au kit SDK OpenAI :

pip install oci-genai-auth

Cette bibliothèque inclut les aides à l'authentification suivantes :

  • OciSessionAuth (pour le développement local)
  • OciUserPrincipalAuth
  • OciInstancePrincipalAuth
  • OciResourcePrincipalAuth (pour les environnements gérés par OCI)

Ressources

Configurer le client OpenAI

Lors de l'utilisation de l'authentification IAM, initialisez le client OpenAI avec un client HTTP personnalisé et un gestionnaire d'authentification. Dans ce cas, la valeur api_key est "not used".

Exemple : Développement local (OciSessionAuth)

Utilisez cette approche lorsque vous exécutez du code localement (par exemple, sur un ordinateur portable à l'aide d'un profil d'interface de ligne de commande OCI) :

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)

Exemple : environnements gérés par OCI (OciResourcePrincipalAuth)

Utilisez cette approche lorsque vous exécutez des services OCI tels qu'OCI Functions ou OCI Container Engine for Kubernetes (OKE) :

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()),
)

L'authentification OCI IAM permet à l'application d'accéder en toute sécurité à OCI Generative AI sans gérer les clés d'API, tout en s'alignant sur les pratiques de sécurité OCI standard.