Authentification basée sur IAM pour l'IA générative
Vous pouvez atteindre le point d'extrémité compatible OpenAI à l'aide des deux méthodes d'authentification suivantes :
- Clés d'API du service d'intelligence artificielle générative pour OCI
- Authentification basée sur OCI IAM
Utilisez des clés d'API pour les tests et le développement anticipé. Utiliser l'authentification basée sur IAM pour les charges de travail de production et les environnements OCI gérés. Cette rubrique montre 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 au lieu des clés d'API.
Quand utiliser l'authentification IAM
Envisagez d'utiliser l'authentification IAM lorsque :
mc
- Exécution d'applications dans les services OCI (par exemple, Functions ou OKE)
- Éviter les données d'identification de longue durée telles que les clés d'API
- Application d'un contrôle d'accès détaillé au moyen de stratégies IAM
Installer la bibliothèque d'authentification OCI IAM
Installez la bibliothèque oci-genai-auth, qui fournit des utilitaires d'aide pour intégrer l'authentification OCI IAM à la trousse SDK OpenAI :
pip install oci-genai-authCette bibliothèque comprend les outils d'aide à l'authentification suivants :
OciSessionAuth(pour le développement local)OciUserPrincipalAuthOciInstancePrincipalAuthOciResourcePrincipalAuth(pour les environnements gérés par OCI)
Ressources
- Python :Ensemble d'authentification OCI GenAI sur GitHub
- Java : Trousse SDK Java pour OCI GenAI Auth Auth sur GitHub
Configurer le client OpenAI
Lors de l'utilisation de l'authentification IAM, initialisez le client OpenAI avec un client HTTP et un programme de traitement d'authentification personnalisés. La valeur api_key est "not used" dans ce cas.
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 OCI (OciResourcePrincipalAuth)
Utilisez cette approche lors de l'exécution dans des services OCI tels que le service Fonctions OCI ou OCI Container Engine pour 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'utilisation de l'authentification OCI IAM permet à l'application d'accéder en toute sécurité à l'IA générative d'OCI sans gérer les clés d'API, tout en s'alignant sur les pratiques de sécurité OCI standard.