リソース ロックを使用してリソースを保護する

上司との最近の話し合いで、重要な Azure リソースが間違って削除された実例を指摘されました。 Azure 環境が整理されていなかったため、良かれと思って不要なリソースを消去したところ、不本意な削除が発生しました。 あなたは Azure にリソース ロックという機能があることを耳にします。 今後、この種の問題は防げると考えているとあなたは上司に伝えます。 リソース ロックを使用してこの問題を解決する方法を見てみましょう。

リソース ロックとは何か。

リソース ロックは、変更または削除を阻止する目的であらゆるリソースに適用できる設定です。 リソース ロックには [削除][読み取り専用] を設定できます。 削除の場合、削除は禁止されますが、リソースに対するその他の操作は許可されます。 読み取り専用の場合、リソースを読み取る行為のみ許可され、リソースの変更や削除が禁止されます。 リソース ロックはサブスクリプション、リソース グループ、個別リソースに適用できます。上位で適用されている場合、下位に継承されます。

注意

読み取り専用を適用すると、読み取り操作のように見えるいくつかの操作には実際に追加のアクションが必要となるため、予期しない結果を招く可能性があります。 たとえば、読み取り専用ロックをストレージ アカウントに設定すると、すべてのユーザーがキーを一覧表示できなくなります。 返されるキーは書き込み操作に使用できるため、キーの一覧表示操作は POST 要求を介して処理されます。

リソース ロックが適用されているとき、その操作を実行するには、最初にロックを解除する必要があります。 リソースでアクションを許可する前に付加的な手順を置くことで、不注意によるアクションからリソースを保護できます。管理者は意図しない行為を回避できます。 リソース ロックは RBAC アクセス許可に関係なく適用されます。 自分がリソースの所有者であっても、禁止行為を実行するにはロックを解除する必要があります。

リソース ロックの実際の動作を確認しましょう。

リソース ロックの作成

msftlearn-core-infrastructure-rg リソース グループを覚えていますか。 このグループには 2 つの VNet と 1 つのストレージ アカウントが入っています。 これらを Azure 環境の重要なリソースであると見なし、間違って削除されないように手配します。 それでは、このリソース グループにリソース ロックを適用し、リソース グループとそれに含まれるリソースが削除されないようにします。

  1. Azure portal を表示していない場合、Web ブラウザーでアクセスしてください。 上部のナビゲーション バーにある検索ボックスで「msftlearn-core-infrastructure-rg」を検索し、このリソース グループをクリックします。

  2. 左側のメニューにある [設定] セクションで [ロック] を選択します。 現在、このリソースにはロックが適用されていないはずです。 1 つ追加してみましょう。

  3. [+ 追加] をクリックします。 ロックに BlockDeletion という名前を付け、[ロックの種類][削除] を選択します。 [OK] をクリックします。

    新しいリソース ロックが設定されていることを示す Azure portal の画像

    これでリソース グループにロックが適用されました。これでリソース グループの削除が禁止されます。ロックはリソース グループ内のすべてのリソースに継承されます。 VNet の 1 つを削除し、何が起こるか確認しましょう。

  4. [概要] に戻り、msftlearn-vnet1 をクリックしてリソースを表示します。

  5. msftlearn-vnet1[概要] ウィンドウで上部にある [削除] をクリックし、[はい] をクリックして確定します。 エラーが表示され、削除を禁止するロックがリソースに適用されていることが伝えられるはずです。

    エラーの画像。リソースの削除が禁止されています

  6. 左側のメニューにある [設定] セクションで [ロック] を選択します。 ここで、リソース グループから継承されたロックが msftlearn-vnet1 に適用されていることを確認できるはずです。

  7. msftlearn-core-infrastructure-rg リソース グループに戻り、[ロック] ウィンドウを表示します。 クリーンアップできるようにロックを解除しましょう。 BlockDeletion ロックの ... をクリックし、[削除] を選択します。

演習でリソース ロックを使用する

リソース ロックで偶発的な削除を防止する方法を確認しました。 仮想ネットワークを削除するには、ロックを解除する必要がありました。 このようにアクションの手順を整えることで、本当に削除したいリソースだけを削除し、変更したいリソースだけを変更できます。

削除または変更された場合、大きな影響が出るような Azure の重要なリソースはリソース ロックを使用して保護します。 ExpressRoute 回線、仮想ネットワーク、クリティカル データベース、ドメイン コントローラーは重要なリソースの例です。 リソースを評価し、偶発的なアクションから保護する追加の防御層を配置したい場所にロックを適用します。