Authentification IAM d'IA générative
Vous pouvez accéder à l'adresse compatible OpenAI à l'aide des deux méthodes d'authentification suivantes :
- Clés d'API OCI Generative AI
- Authentification basée sur OCI IAM
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-authCette bibliothèque inclut les aides à l'authentification suivantes :
OciSessionAuth(pour le développement local)OciUserPrincipalAuthOciInstancePrincipalAuthOciResourcePrincipalAuth(pour les environnements gérés par OCI)
Ressources
- Python :Package d'authentification OCI GenAI sur GitHub
- Java : Kit SDK Java d'authentification OCI GenAI sur GitHub
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.