0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AKS 上の OpenClaw から Microsoft Foundry を Entra ID で安全に呼ぶまで

0
Last updated at Posted at 2026-05-05

はじめに

Microsoft Tech Community の以下の記事をきっかけに、AKS 上に OpenClaw を載せて、Microsoft Foundry のモデルを安全に使う構成を試しました。


今回の構成

  1. Microsoft Foundry リソースと Project を作成
  2. Foundry 上に gpt-5.2 をデプロイする
  3. OpenClaw 用の User Assigned Managed Identity を作成
  4. Managed Identity に Foundry リソースへのロールを付与
  5. OpenClaw から Foundry endpoint を Entra ID ベースで呼ぶ

全体像

  • AKS クラスター
  • User Assigned Managed Identity
  • Microsoft Foundry リソース
  • Microsoft Foundry Project
  • Azure Files 用ストレージアカウント

1. Microsoft Foundry を作成してモデルをデプロイする

この部分は、基本的には公式ドキュメントどおりに進めるのがよいです。

  • Microsoft Foundry リソースの作成
  • Foundry Project の作成
  • 利用するモデル deployment の作成

手順の詳細は以下を参照してください。

今回使ったモデルは gpt-5.2 で、最後に、OpenClaw 側から利用する endpoint とを用意します。

公式ドキュメントでは project endpoint を使う例が多く、たとえば Foundry Models の Responses API では https://<resource>.services.ai.azure.com/api/projects/<project>/openai/v1 の形が案内されています。

今回は account endpoint を OpenClaw 側の base URL として使いました。

FOUNDRY_ENDPOINT="$(az cognitiveservices account show \
  --resource-group "${RG_NAME}" \
  --name "${FOUNDRY_NAME}" \
  --query properties.endpoint \
  --output tsv)"

2. OpenClaw 用の User Assigned Managed Identity を作る

今回は User Assigned Managed Identity を使っています。

az identity create \
  --resource-group "${RG_NAME}" \
  --name "${UAMI_NAME}" \
  --location "${LOCATION}"

作成後に最低限控えるのは次の 2 つです。

  • clientId
  • principalId
UAMI_CLIENT_ID="$(az identity show \
  --resource-group "${RG_NAME}" \
  --name "${UAMI_NAME}" \
  --query clientId \
  --output tsv)"

UAMI_PRINCIPAL_ID="$(az identity show \
  --resource-group "${RG_NAME}" \
  --name "${UAMI_NAME}" \
  --query principalId \
  --output tsv)"

clientId は Kubernetes ServiceAccount annotation で使い、principalId は RBAC 割り当てで使います。


3. OpenClaw から使う Managed Identity を関連付ける

今回は AKS 側で Microsoft Entra 連携と Managed Identity が使える前提で、OpenClaw から利用する User Assigned Managed Identity を整理しました。

AKS 側では、以下を有効にした状態でクラスターを作成しています。

  • Microsoft Entra integration
  • Azure RBAC

クラスター作成時のイメージは以下です。

az aks create \
  --resource-group "${RG_NAME}" \
  --name "${AKS_NAME}" \
  --location "${LOCATION}" \
  --enable-managed-identity \
  --enable-aad \
  --enable-azure-rbac

このあと、OpenClaw 側の実行主体がこの Managed Identity を使って Foundry にアクセスできるように RBAC を付けます。


4. Managed Identity に Foundry へのアクセス権を付与する

OpenClaw から Foundry を使うには、Managed Identity に Foundry リソースのロールを付ける必要があります。

このリポジトリでは、Foundry リソース ID を取得して、Cognitive Services User を割り当てています。

FOUNDRY_ID="$(az cognitiveservices account show \
  --resource-group "${RG_NAME}" \
  --name "${FOUNDRY_NAME}" \
  --query id \
  --output tsv)"

az role assignment create \
  --assignee-object-id "${UAMI_PRINCIPAL_ID}" \
  --assignee-principal-type ServicePrincipal \
  --role "Cognitive Services User" \
  --scope "${FOUNDRY_ID}"

今回は、Managed Identity に Cognitive Services User を割り当てました。


5. OpenClaw から Foundry のモデルを呼ぶ

OpenClaw から Foundry を使うときは、最終的に Foundry endpoint に対して認証付きでアクセスできればよいです。

OpenClaw の provider 設定を次のようにしています。

{
  "models": {
    "providers": {
      "microsoft-foundry": {
        "baseUrl": "${FOUNDRY_ENDPOINT}/openai/v1",
        "api": "openai-responses",
        "headers": {
          "Authorization": "Bearer __FOUNDRY_ACCESS_TOKEN__"
        }
      }
    }
  }
}

6. 最終的に確認したこと

最終的には、次の流れまで確認できました。

  1. Foundry に gpt-5.2 をデプロイ
  2. OpenClaw Pod が AKS 上で起動
  3. OpenClaw が Foundry provider をロード
  4. /healthz/readyz が OK
  5. ローカルから Control UI に接続できる
    OpeCuNでできること(代表者.png
    Pasted Graphic 2.png

まとめ

AKS 上の OpenClaw から Microsoft Foundry を安全に使ううえで、今回試した最小構成のポイントは次のとおりです。

  • Foundry リソースに Cognitive Services User を付与
  • OpenClaw から Authorization: Bearer ... で Foundry endpoint を呼ぶ

OpenClaw 側の追加機能検証を進める予定です。


参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?