Foundry ポータルでのモデルデプロイの組み込みポリシー Microsoft

Azure Policyには、Foundry ポータルでの AI モデルのデプロイを管理するのに役立つ組み込みのポリシー定義Microsoft用意されています。 これらのポリシーを使用して、開発者が Foundry ポータルでデプロイできるモデルを制御できます。

メモ

このポリシーの割り当て中に model ルーターをデプロイして使用するには、許可されているパブリッシャーの一覧に Microsoft を含めます。これは、Microsoftがモデル ルーターの発行元であるためです。 また、モデル カタログ内のモデルのカードに記載されているように、ルーティング用にデプロイするサポートされている各モデルの発行元名も含 めます。 たとえば、個別にデプロイする Claude モデルにルーティングするには、Anthropicも含めます。 許可されているパブリッシャーの一覧にこれらの名前が含まれていない場合、ポリシーはモデル ルーターのデプロイをブロックします。

前提 条件

  • アクティブなサブスクリプションを持つAzure アカウント。 お持ちでない場合は、free Azure アカウントを作成します。 Azure アカウントを使用すると、Foundry ポータルにアクセスできます。

  • ポリシーを作成および割り当てる権限。 ポリシーを作成して割り当てるには、Azure サブスクリプションまたはリソース グループ レベルで Owner または Resource Policy Contributor である必要があります。

  • Azure Policyに関する知識。 詳細については、「Azure Policyとは?を参照してください。

Microsoft Foundry には、組織内にデプロイできるモデルを管理するのに役立つ組み込みのAzure Policy定義が用意されています。 モデルのデプロイには、次の定義が適用されます。

Policy Purpose 地位
Foundry モデルのデプロイでは、承認されたモデルのみを使用する必要がある 組織が明示的に承認するモデルまたは発行元の特定の一覧に展開を制限します。 一般公開
Foundry モデルのデプロイには適格性要件を満たす必要があります ソース (Azure からの直接) やライフサイクルの状態 (プレビュー) などのモデル属性に基づいてデプロイを制限します。 一般公開

どちらのポリシーも デプロイ時に評価されます。 カタログはモデルを非表示にしません。 代わりに、 ポリシーによってデプロイ がブロックされたときに明確な理由で[展開]アクションが無効になります。 ガバナンスのニーズに応じて、一方または両方のポリシーを割り当てることができます。

メモ

これらのポリシーは、ルーターが選択するモデルの基になる モデル も管理します。 モデル ルーターは、割り当てられたポリシーを満たすモデルにのみ要求をルーティングするため、モデルを直接デプロイするか、モデル ルーターを使用して要求ごとに 1 つ選択するかに関わらず、同じ承認と適格性ルールが適用されます。 さらに、モデル ルーター用の専用の組み込みポリシー定義をパブリック プレビューで利用できます。 これらの定義は、デプロイ リージョン、必要なルーティング規則、ログ構成など、モデル ルーターのデプロイの他の側面にガバナンスを拡張します。 詳細については、「Azure Policyを使用したモデル ルーターのデプロイの管理」を参照してください。

これらのポリシーの連携方法

2 つのポリシーは補完的であり、さまざまなガバナンスの質問に対処します。

  • 承認されたモデルは、 モデル ID に基づいて 、"組織の許可リスト上の正確なモデルですか? " と答えます。
  • 適格性要件 は、モデル属性に基づいて 、"このモデルはソースと成熟度に関する組織の標準を満たしていますか?" と回答します。

両方のポリシーを割り当て、モデルが両方に準拠していない場合、 デプロイ エクスペリエンスには最も優先度の高い理由 (承認、その後の適格性) が表示されるため、ユーザーは明確で実用的なメッセージを 1 つ受け取ります。

Foundry モデルのデプロイでは、承認されたモデルのみを使用する必要がある

このポリシーを使用して、組織が明示的に承認するモデルまたは発行元の特定の一覧に展開を制限します。

メモ

このポリシーの以前の名前は Cognitive Services のデプロイでは、承認されたレジストリ モデルのみを使用する必要があります でした。 ポリシー定義 ID は変更されないため、既存の割り当ては引き続きアクションなしで機能します。

承認済みモデル ポリシーを割り当てる

Azure CLIを使用して組み込みのポリシー定義を検索し、スコープで割り当てます。

  1. サインインして、作業するサブスクリプションを選択します。

    az login
    az account set --subscription "<subscription-id>"
    
  2. 組み込み定義のポリシー定義 ID を見つけます:

    az policy definition list \
       --query "[?displayName=='Foundry model deployments should only use approved models'].{name:name, id:id}" \
       --output table
    

    予期される結果: ポリシー idを含む行。

  3. パラメーター ファイルを作成します (例:

    {
       "effect": {
          "value": "Deny"
       },
       "allowedPublishers": {
          "value": ["OpenAI"]
       },
       "allowedAssetIds": {
          "value": [
             "azureml://registries/azure-openai/models/gpt-5/",
             "azureml://registries/azure-openai/models/gpt-5.2/versions/1"
          ]
       }
    }
    

    予想される結果: 承認された発行元名とモデル ID と一致する JSON ファイル。

    重要

    各資産 ID はプレフィックスとして照合されます。 末尾のスラッシュのない ID は、名前が同じ文字で始まる他のモデルとも一致します。たとえば、 azureml://registries/azure-openai/models/gpt-5 は GPT-5 と GPT-5.2 と GPT-5.4 に一致します。 末尾にスラッシュ (/) を追加して、特定のモデルのみに一致を制限します。たとえば、 azureml://registries/azure-openai/models/gpt-5/ は GPT-5 (そのすべてのバージョン) にのみ一致し、GPT-5.2 と GPT-5.4 は除外されます。 1 つのバージョンのみを許可するには、バージョン (たとえば、 azureml://registries/azure-openai/models/gpt-5.2/versions/1) を含む完全な資産 ID を使用します。

    重要

    この例のパラメーター名は、割り当てるポリシー定義と一致している必要があります。 テナントで異なる場合は、ポリシー定義パラメーターと一致するように JSON キーを更新します。

  4. スコープでポリシーを割り当てます (例: サブスクリプション スコープ):

    az policy assignment create \
       --name "allow-only-approved-models" \
       --display-name "Allow only approved models" \
       --scope "/subscriptions/<subscription-id>" \
       --policy "<policy-definition-id>" \
       --params @params.json
    

    予想される結果:コマンドは、割り当て idを含む JSON ペイロードを返します。

参照:

Foundry モデルのデプロイは適格性要件を満たす必要がある

このポリシーを使用して、特定のモデル ID ではなく モデル属性 に基づいてデプロイを制限します。 この制限は、明示的な許可リストを維持せずに、より広範な組織標準 ("運用中のプレビュー モデルなし" や "Microsoftダイレクト モデルのみ" など) を適用する場合に便利です。

このポリシーは現在、次の属性をサポートしています。

パラメーター タイプ Default true の場合の動作
onlyAllowDirectFromAzure ブール値 false Azureから直接ではないモデルのデプロイを拒否します。
denyPreviewModels ブール値 false ライフサイクルの状態がプレビューであるモデルのデプロイを拒否します。

どちらのパラメーターも既定で falseされるため、未構成の割り当てでは制限はありません。 組織の体制に一致するトグルを有効にします。

適格性ポリシーを割り当てる

  1. サインインして、作業するサブスクリプションを選択します。

    az login
    az account set --subscription "<subscription-id>"
    
  2. ポリシー定義 ID を見つけます。

    az policy definition list \
       --query "[?displayName=='Foundry model deployments should meet eligibility requirements'].{name:name, id:id}" \
       --output table
    
  3. パラメーター ファイルを作成します (例 : プレビュー モデルをブロックし、任意のソースを許可します)。

    {
       "effect": {
          "value": "Deny"
       },
       "onlyAllowDirectFromAzure": {
          "value": false
       },
       "denyPreviewModels": {
          "value": true
       }
    }
    
  4. ポリシーを割り当てます。

    az policy assignment create \
       --name "foundry-model-eligibility" \
       --display-name "Foundry model eligibility" \
       --scope "/subscriptions/<subscription-id>" \
       --policy "<policy-definition-id>" \
       --params @params.json
    

デプロイがブロックされたときに開発者に表示される内容

開発者がポリシーがブロックするモデルのデプロイを試みると、[ 配置 ] アクションは無効になり、その理由を説明するメッセージが表示されます。 モデル自体はカタログに表示されたままであるため、開発者は何が試みられたかを理解します。

Scenario 開発者に表示される内容
モデルが承認され、対象となる デプロイが有効です。
モデルが承認済みリストに含まれていない デプロイが無効 - モデルが組織によって承認されていないことを示すメッセージで、サブスクリプションまたは Foundry 管理者に問い合わせるポインターが表示されます。
モデルは承認されていますが、適格性を満たしていません (たとえば、 denyPreviewModels がオンの場合のプレビュー モデル) 展開が無効 - モデルが組織の適格性要件 (ソースまたはライフサイクルの状態) を満たしていないことを示すメッセージで、管理者に問い合わせるポインターが表示されます。
複数のポリシーによってデプロイがブロックされる デプロイは無効です — 最優先の理由が表示されます(承認、次に適格性)。

各メッセージには ポリシー名割り当て ID が 含まれているため、管理者は制限を適用しているポリシーをすばやく識別できます。

コンプライアンスの監視

ポリシーへの準拠を監視するには、次の手順に従います。

  1. Azure ポータルで、ページの左側から Policy を選択します。 ページの上部にある検索バーで ポリシー を検索することもできます。

  2. Azure Policy ダッシュボードの左側にある Compliance を選択します。 各ポリシーの割り当ては、コンプライアンスの状態と共に一覧表示されます。 詳細を表示するには、ポリシーの割り当てを選択します。

ポリシーの割り当てを更新する

既存のポリシー割り当てを新しいモデルで更新するには、次の手順に従います。

  1. Azure ポータルで、ページの左側から Policy を選択します。 ページの上部にある検索バーで ポリシー を検索することもできます。
  2. Azure Policy ダッシュボードの左側から Assignments を選択し、既存のポリシー割り当てを見つけます。 割り当ての横にある省略記号 (...) を選択し、[ 割り当ての編集] を選択します。
  3. [パラメーター] タブで、許可された資産 ID許可されたモデルの発行元を、新しい承認済みモデル ID と発行元名で更新します。
  4. [ 確認と保存] タブで、[ 保存] を選択してポリシーの割り当てを更新します。

ベスト プラクティス

  • きめ細かいスコープ設定: 適切なスコープでポリシーを割り当てて、制御と柔軟性のバランスを取ります。 たとえば、サブスクリプション レベルで適用してサブスクリプション内のすべてのリソースを制御したり、リソース グループ レベルで適用して特定のグループ内のリソースを制御したりできます。
  • ポリシーの名前付け: ポリシーの目的を簡単に識別できるように、ポリシーの割り当てに一貫した名前付け規則を使用します。 名前に目的やスコープなどの情報を含めます。
  • タグ: タグを使用してポリシーを分類および管理します。 たとえば、環境 (開発、テスト、運用) または部門別にポリシーにタグを付けることができます。
  • ドキュメント: 監査目的でポリシーの割り当てと構成の記録を保持します。 ポリシーに加えられた変更を一定期間にわたって文書化します。
  • 定期的なレビュー: ポリシーの割り当てを定期的に確認して、組織の要件と一致していることを確認します。
  • テスト: 運用リソースに適用する前に、非運用環境でポリシーをテストします。
  • コミュニケーション: 開発者が適切なポリシーを認識し、作業に対する影響を理解していることを確認します。

ポリシーの有効性を確認する

ポリシーを割り当てた後、期待どおりに動作することを確認します。

  1. ポリシーの割り当てが有効になるまで、少なくとも 15 分待ちます。 新しい割り当てはすぐには適用されません。

  2. 許可リストにないモデルのデプロイを試みます。 ポリシーで Deny 効果が使用されている場合、展開はポリシー違反エラーで失敗します。

  3. 承認されたモデルのデプロイが引き続き成功することを確認します。

  4. Azure Policyの Compliance ダッシュボードを調べて、ポリシーがリソースを正しく評価することを確認します。 非準拠リソースは、1 つのコンプライアンス評価サイクル (通常は最大 24 時間) 内に表示されます。

ポリシー割り当てエラーのトラブルシューティング

症状 原因 解決方法
ポリシーの割り当てがアクセス許可エラーで失敗する アカウントに、ターゲット スコープの 所有者 ロールまたは リソース ポリシー共同作成者 ロールがありません。 必要なロールを割り当てて再試行します。 前提条件を参照してください。
ポリシーで非準拠の展開がブロックされない ポリシー割り当てがまだ反映されていないか、効果が [拒否] ではなく [監査] に設定されています。 少なくとも 15 分待ってから、再試行してください。 Effect パラメーターが Deny に設定されていることを確認します。
承認されたモデルが予期せずブロックされる ポリシー パラメーター内のモデル資産 ID または発行元名が、モデルと正確に一致しません。 パラメーター値をモデル カタログ内のモデル カードと比較 します。 アセット ID および発行者名は大文字と小文字が区別されます。
コンプライアンス ダッシュボードにデータが表示されない コンプライアンスの評価はまだ完了していません。 Azure Policyは、24 時間以内に新しい割り当てを評価します。 次の評価サイクルを待機するか、 オンデマンド評価スキャンをトリガーします。
割り当て中のパラメーター名の不一致エラー JSON パラメーター キーがポリシー定義と一致しません。 az policy definition show --name "<definition-id>"を実行して、定義から正確なパラメーター名を取得します。 allowedPublishersallowedAssetIdsを使用します。