Azure OpenAI リソースをロックして意図しない更新や削除から保護する

2023.11.13

Azure にはリソースの設定変更や削除を防止するロック機能があります。本番環境や共用環境のリソースを意図しない操作から防止するためなどに有効です。今回は Azure OpenAI リソースに対してロック機能を試してみました。


ロック機能については次のドキュメントに詳細が記載されています。

ロックを使って Azure リソースを保護する - Azure Resource Manager | Microsoft Learn

Azure OpenAI リソースをロックする

ロックには次の 2 種類があります。

ロックの種類 説明
読み取り専用 リソースの読み取りはできるが、更新と削除ができない
削除 リソースの読み取りと更新はできるが、削除はできない

両方とも試してみます。


読み取り専用ロック

まずは読み取り専用ロックから設定してみます。

本番環境や複数人で Azure OpenAI リソースを利用しているときに設定変更を禁止したい場合、検証用のリソースで高額なモデルをデプロイさせない場合などに設定する機会がありそうです。

対象の Azure OpenAI リソースを選択して「ロック」→「追加」から設定します。

ロックの種類を「読み取り専用」に指定して「OK」します。

設定完了です。「編集」と表示されているように後からロックの種類を変更可能です。

ロック動作を確認してみます。

追加のモデルをデプロイしようとしてみたところ、エラーとなり、追加できませんでした。想定通りです。

注意が必要な点として、プレイグラウンドのチャットも利用できなくなるようです。

リソースの削除も想定通りできませんでした。


削除ロック

次に削除ロックを試してみます。

検証のために各自が自由にモデルをデプロイしてよいが、リソース自体は削除されては困る場合などに適していそうです。

設定方法は読み取り専用ロックと同様であり、ロックの種類を「削除」にするだけです。

ロックの種類は変更できるため、今回は上述した読み取り専用ロックで作成したロックの設定を「編集」から「削除」に変更してみます。

変更が反映され、ロックの種類が「削除」に変わっています。

更新作業として追加のモデルのデプロイを試してみます。

読み取り専用ロックのときとは異なり、追加のモデルのデプロイができました。

プレイグラウンドのチャットも利用できます。

念のため、削除ができないか試してみたところ、読み取り専用ロックのときと同様に下記エラーにより削除できませんでした。

以上でロック機能の確認は終わりです。

さいごに

Azure における基本的な機能となりますが、動作確認も兼ねて Azure OpenAI リソースでロック機能を試してみました。意図しない更新や削除から防止するために使いこなしていきたい機能です。

今回は試しませんでしたが、ロックはサブスクリプションやリソースグループ単位でもできます。その場合は、ロックは下位のスコープに継承され、継承されるロックの中で最も厳しいロックが優先されるようです。

また、ロック適用前の考慮事項が次のドキュメントにまとめられており、参考になります。

ロックを使って Azure リソースを保護する - Azure Resource Manager | Microsoft Learn


以上、このブログがどなたかのご参考になれば幸いです。