Autenticazione basata su IAM AI generativa
È possibile raggiungere l'endpoint OpenAI-Compatible utilizzando i due metodi di autenticazione riportati di seguito.
- Chiavi API OCI Generative AI
- Autenticazione basata su IAM OCI
Utilizza le API key per test e sviluppo precoce. Utilizza l'autenticazione basata su IAM per i carichi di lavoro di produzione e gli ambienti gestiti da OCI. In questo argomento viene descritto come impostare l'autenticazione IAM OCI.
Autenticazione IAM OCI
L'API OCI Responses supporta completamente l'autenticazione IAM OCI. In questa sezione viene descritto come utilizzare l'autenticazione basata su IAM anziché le chiavi API.
Quando utilizzare l'autenticazione IAM
Prendere in considerazione l'uso dell'autenticazione IAM quando:
mc
- Esecuzione di applicazioni nei servizi OCI (ad esempio, Functions o OKE)
- Evitare credenziali di lunga durata come le chiavi API
- Applicazione di un controllo dell'accesso capillare tramite criteri IAM
Installare la libreria di autenticazione IAM OCI
Installare la libreria oci-genai-auth, che fornisce le utility di supporto per l'integrazione dell'autenticazione IAM OCI con OpenAI SDK:
pip install oci-genai-authQuesta libreria include i seguenti strumenti di supporto per l'autenticazione:
OciSessionAuth(per lo sviluppo locale)OciUserPrincipalAuthOciInstancePrincipalAuthOciResourcePrincipalAuth(per ambienti gestiti da OCI)
Risorse
- Python:pacchetto di autenticazione OCI GenAI su GitHub
- Java: SDK Java di autenticazione OCI GenAI su GitHub
Configurare il client OpenAI
Quando si utilizza l'autenticazione IAM, inizializzare il client OpenAI con un client HTTP personalizzato e un handler di autenticazione. In questo caso, il valore api_key è "not used".
Esempio: sviluppo locale (OciSessionAuth)
Utilizzare questo approccio durante l'esecuzione locale del codice (ad esempio, su un laptop che utilizza un profilo CLI 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)Esempio: OCI Managed Environments (OciResourcePrincipalAuth)
Utilizzare questo approccio quando si esegue in servizi OCI come OCI Functions o 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'uso dell'autenticazione IAM OCI consente all'applicazione di accedere in modo sicuro all'AI generativa OCI senza gestire le chiavi API, allineandosi al contempo alle procedure di sicurezza OCI standard.