キーレス認証方法
Azure OpenAI for JavaScript に対するキーレス認証では、API キーやその他の資格情報をハードコーディングする代わりに、Azure のマネージド ID またはサービス プリンシパルを使用して認証します。 これは、DefaultAzureCredential
または ManagedIdentityCredential
クラスを通じて行われます。これにより、Azure サービスの認証に必要なトークンを安全かつ効率的に取得できます。 実際の動作を次に示します。
- Azure 環境のセットアップ: マネージド ID を使用して Azure 環境が正しく構成されていることを確認します。
- 資格情報の初期化: Azure Identity SDK for JavaScript の
DefaultAzureCredential
クラスまたはManagedIdentityCredential
クラスを使用して、認証プロセスをシームレスに処理します。
コード スニペットの例を次に示します。
import { AzureOpenAI } from 'openai';
import { getBearerTokenProvider, DefaultAzureCredential } from '@azure/identity';
// Make sure to set AZURE_OPENAI_ENDPOINT with the endpoint of your Azure resource.
const credential = new DefaultAzureCredential();
const scope = 'https://cognitiveservices.azure.com/.default';
const azureADTokenProvider = getBearerTokenProvider(credential, scope);
// Create client instance
// 3) Create an Azure OpenAI client
const openai = new AzureOpenAI({ azureADTokenProvider });
// 4) Make API call and print response
const result = await openai.chat.completions.create({
model: 'gpt-4-1106-preview',
messages: [{ role: 'user', content: 'Say hello!' }],
});
console.log(result.choices[0]!.message?.content);
- クライアント インスタンスの作成: エンドポイントと
AzureOpenAI
から取得した資格情報を使用して、DefaultAzureCredential
をインスタンス化します。 - API 呼び出しを行う: 機密性の高い資格情報を明示的に処理することなく、クライアントを使用して Azure OpenAI サービスと安全に対話します。