はじめに
Microsoft Foundry(旧:Azure OpenAI Service)では、API キーを使用したローカル認証(Local Auth)と、Azure AD(Microsoft Entra ID)を使用した認証方法の2つが利用できます。
しかしセキュリティ要件が厳しい環境では、API キーの使用を禁止し、Azure AD 認証に統一したいケースも少なくありません。
そこで本記事では、Microsoft FoundryのAPIキー(Local Auth)をCLI経由で無効化する手順を紹介します。
Azure Portal からはまだ UI が提供されていないため、Azure CLI の az rest コマンドを使ったREST API実行が必要です。
APIキーを無効化することで得られるメリット
API キー(Local Auth)を無効化し、Azure AD 認証に統一することで以下のメリットがあります。
セキュリティが強化される
API キーは漏洩しやすく、権限の細かい制御ができません。
Azure AD に統一することで、ユーザー単位のアクセス制御や条件付きアクセスが適用でき、より厳格なセキュリティが実現できます。
キー管理の手間が不要になる
API キーのローテーションや再配布、キーが漏洩した場合の緊急対応などの運用負荷が削減されます。
監査性が向上する
Azure AD ベースの認証であれば、誰がいつアクセスしたかを確実に追跡できるため、ログや監査レポートの精度が大きく向上します。
API キーを無効化すると以下の点に注意が必要です。
既存の API キーを利用したアプリケーションは すべて動作しなくなる → 事前にコードを Azure AD 認証に対応させておく必要があります。
Azure Functions や Logic Apps など、一部サービスは追加設定が必要な場合がある
- チームメンバーや開発者に事前共有しないと混乱が起きやすい
- 本番環境で実行する場合は、事前に非本番環境でのテストを強く推奨します。
APIキーを無効化する
APIキーを無効化するには、Azure CLIからRest APIを実行します。
Windows 上で、PowerShellを起動し、以下のコマンドを実行します。
# パラメータ設定
$RG_NAME = "対象リソースグループ"
$MS_FOUNDRY_NAME = "対象のMS Fondryリソース名"
$VERSION = "2024-10-01"
# 現在のデフォルトサブスクリプションからサブスクリプションIDを取得
$subscriptionId = az account show --query id -o tsv
echo $subscriptionId
# リクエストボディの設定
$body = "{'properties' : {'disableLocalAuth': $true}}"
echo $body
# URIを設定
$uri="/subscriptions/${subscriptionId}/resourceGroups/${RG_NAME}/providers/Microsoft.CognitiveServices/accounts/${MS_FOUNDRY_NAME}?api-version=${VERSION}"
echo $uri
# APIを実行
az rest --method patch --uri $uri --body $body
# 実行結果を取得
az rest --method get --uri $uri --query "properties.disableLocalAuth"

おわりに
本記事では、Microsoft Foundry の API キー(Local Auth)を無効化する方法と、そのメリットについて紹介しました。
セキュリティ基準が厳しくなる中で、API キーから Azure AD 認証への移行は、より安全で管理しやすい運用体制を実現します。
今後も Microsoft Foundry の更新やセキュリティ機能は強化されるため、運用ルールの見直しとアップデートの確認を継続して行うことをおすすめします。