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

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

前提 条件

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

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

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

ポリシーを割り当てる

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

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

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

    az policy definition list \
       --query "[?displayName=='Cognitive Services Deployments should only use approved Registry Models'].{name:name, id:id}" \
       --output table
    

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

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

    {
       "effect": {
          "value": "Deny"
       },
       "allowedPublishers": {
          "value": ["OpenAI"]
       },
       "allowedAssetIds": {
          "value": [
             "azureml://registries/azure-openai/models/gpt-35-turbo/versions/3"
          ]
       }
    }
    

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

    重要

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

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

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

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

参照:

コンプライアンスの監視

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

  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を使用します。