Autenticação Baseada em IAM do Serviço Generative AI
Você pode acessar o ponto final compatível com OpenAI usando os dois métodos de autenticação a seguir:
- Chaves de API do OCI Generative AI
- Autenticação baseada no OCI IAM
Use chaves de API para teste e desenvolvimento antecipado. Usar autenticação baseada em IAM para cargas de trabalho de produção e ambientes gerenciados pela OCI. Este tópico mostra como configurar a autenticação do OCI IAM.
Autenticação do OCI IAM
A API de Respostas do OCI suporta totalmente a autenticação do OCI IAM. Esta seção mostra como usar a autenticação baseada no IAM em vez de chaves de API.
Quando Usar Autenticação do IAM
Considere o uso da autenticação IAM quando:
mc
- Executando aplicativos em serviços do OCI (por exemplo, Functions ou OKE)
- Evitando credenciais de longa duração, como chaves de API
- Impondo controle de acesso refinado por meio de políticas do IAM
Instalar a Biblioteca de Autenticação do OCI IAM
Instale a biblioteca oci-genai-auth, que fornece utilitários auxiliares para integrar a autenticação do OCI IAM com o OpenAI SDK:
pip install oci-genai-authEsta biblioteca inclui os seguintes ajudantes de autenticação:
OciSessionAuth(para desenvolvimento local)OciUserPrincipalAuthOciInstancePrincipalAuthOciResourcePrincipalAuth(para ambientes gerenciados pelo OCI)
Recursos
Configurar o cliente OpenAI
Ao usar a autenticação do IAM, inicialize o cliente OpenAI com um cliente HTTP personalizado e um handler de autenticação. O valor api_key é "not used" nesse caso.
Exemplo: Desenvolvimento Local (OciSessionAuth)
Use essa abordagem ao executar o código localmente (por exemplo, em um laptop usando um perfil da CLI do 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)Exemplo: Ambientes Gerenciados do OCI (OciResourcePrincipalAuth)
Use essa abordagem ao executar em serviços do OCI, como 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()),
)O uso da autenticação do OCI IAM permite que o aplicativo acesse com segurança o OCI Generative AI sem gerenciar chaves de API, ao mesmo tempo em que se alinha às práticas padrão de segurança do OCI.