Autenticación basada en IAM de IA generativa
Puede acceder al punto final compatible con OpenAI mediante los dos métodos de autenticación siguientes:
- Claves de API de OCI Generative AI
- Autenticación basada en IAM de OCI
Utilice claves de API para las pruebas y el desarrollo temprano. Utiliza la autenticación basada en IAM para cargas de trabajo de producción y entornos gestionados por OCI. En este tema se muestra cómo configurar la autenticación de OCI IAM.
Autenticación de OCI IAM
La API de respuestas de OCI soporta por completo la autenticación de OCI IAM. En esta sección se muestra cómo utilizar la autenticación basada en IAM en lugar de las claves de API.
Cuándo utilizar la autenticación de IAM
Considere el uso de la autenticación de IAM cuando:
mc
- Ejecución de aplicaciones en servicios de OCI (por ejemplo, Functions u OKE)
- Evitar credenciales de larga duración como claves de API
- Aplicación de control de acceso detallado mediante políticas de IAM
Instalación de la biblioteca de autenticación de IAM de OCI
Instale la biblioteca oci-genai-auth, que proporciona utilidades auxiliares para integrar la autenticación de OCI IAM con el SDK de OpenAI:
pip install oci-genai-authEsta biblioteca incluye los siguientes ayudantes de autenticación:
OciSessionAuth(para el desarrollo local)OciUserPrincipalAuthOciInstancePrincipalAuthOciResourcePrincipalAuth(para entornos gestionados por OCI)
Recursos
- Python:paquete de autenticación de IA generativa de OCI en GitHub
- Java: SDK de Java de autenticación de OCI GenAI en GitHub
Configurar el cliente OpenAI
Al utilizar la autenticación de IAM, inicialice el cliente OpenAI con un cliente HTTP personalizado y un manejador de autenticación. El valor api_key es "not used" en este caso.
Ejemplo: desarrollo local (OciSessionAuth)
Utilice este enfoque al ejecutar código localmente (por ejemplo, en un portátil que utiliza un perfil de la CLI de 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)Ejemplo: entornos gestionados de OCI (OciResourcePrincipalAuth)
Utilice este enfoque cuando se ejecute en servicios de OCI como OCI Functions u 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()),
)El uso de la autenticación de OCI IAM permite a la aplicación acceder de forma segura a OCI Generative AI sin gestionar claves de API, al tiempo que se alinea con las prácticas de seguridad estándar de OCI.