ラボ 02b - Azure Policy を介してガバナンスを管理する

ラボ概要

このラボでは、組織のガバナンス プランを実装する方法について学びます。 Azure ポリシーを使用して、組織全体で運用上の決定事項を確実に適用する方法を学びます。 リソースのタグ付けを使用してレポート作成を向上する方法を学びます。

このラボでは Azure サブスクリプションが必要です。 お使いのサブスクリプションの種類により、このラボの機能が使用できるかどうかに影響する可能性があります。 リージョンを変更できますが、手順は米国東部を使って作成されています。

推定時間:30 分

ラボのシナリオ

組織のクラウド占有領域が、昨年大幅に増加しました。 最近の監査中に、所有者、プロジェクト、またはコスト センターが定義されていないリソースを多数検出しました。 組織の Azure リソースの管理を強化するために、次の機能を実装することにしました。

  • リソース タグを適用して重要なメタデータを Azure リソースにアタッチする

  • Azure ポリシーを使用して新しいリソースに対するリソース タグの使用を強制する

  • リソース タグを使用して既存のリソースを更新する

  • リソース ロックを使用して構成済みのリソースを保護する

対話型ラボ シミュレーション

このトピックで役立つ可能性のある対話型ラボ シミュレーションがいくつか存在します。 このシミュレーションを使用すると、同様のシナリオを自分のペースでクリックしながら進めることができます。 対話型シミュレーションとこのラボには違いがありますが、主要な概念の多くは同じです。 Azure サブスクリプションは必要ありません。

アーキテクチャの図

タスク アーキテクチャの図。

職務スキル

  • タスク 1: Azure portal を介してタグを作成し、割り当てる。
  • タスク 2:Azure Policy を使用してタグ付けを強制する。
  • タスク 3:Azure Policy を使用してタグ付けを適用する。
  • タスク 4:リソース ロックを構成してテストする。

タスク 1:Azure portal を使用してタグを割り当てる

このタスクでは、Azure portal を介してタグを作成し、Azure リソース グループに割り当てます。 タグは、Microsoft Well-Architected Framework とクラウド導入フレームワークで概説されているように、ガバナンス戦略の重要なコンポーネントです。 タグを使用すると、リソース所有者、期限日、グループ連絡先、さらに組織が重要と見なすその他の名前と値のペアをすばやく識別できます。 このタスクでは、リソースのロールを識別するタグ (“インフラストラクチャ” の場合は “Infra”) を割り当てます。

  1. Azure portal - https://portal.azure.com にサインインします。

  2. Resource groups を検索して選択します。

  3. [リソース グループ] から [+ 作成] を選択します。

    設定
    サブスクリプション名 該当するサブスクリプション
    リソース グループ名 az104-rg2
    場所 米国東部

    注: このコースの各ラボでは、新しいリソース グループを作成します。 こうすると、ラボのリソースをすばやく見つけて管理できます。

  4. [次へ: 複数のタグ] を選択し、新しいタグを作成します。

    設定
    名前 Cost Center
    000
  5. [確認と作成][作成] の順に選択します。

タスク 2:Azure Policy を使用してタグ付けを強制する

このタスクでは、[リソースでタグとその値が必要] という組み込みポリシーをリソース グループに割り当て、結果を評価します。 Azure Policy を使用すると、構成 (この場合はガバナンス) を Azure リソースに適用できます。

  1. Azure portal で、Policy を検索して選択します。

  2. [作成] ブレードで [定義] を選択します。 少し時間を取り、使用できる組み込みポリシー定義のリストを確認します。 定義を検索することもできます。

    ポリシー定義のスクリーンショット。

  3. [Require a tag and its value on resources] (リソースでタグとその値が必要) という組み込みポリシーを表すエントリをクリックします。 少し時間を取り、定義を確認します。

  4. [リソースでタグとその値が必要] という組み込みポリシーの定義のブレードで、[割り当て] をクリックします。

  5. 省略記号ボタンをクリックして次の値を選択し、スコープを指定します。 完了したら、[選択] をクリックします。

    設定
    サブスクリプション 該当するサブスクリプション
    リソース グループ az104-rg2

    :ポリシーは、管理グループ、サブスクリプション、またはリソース グループのレベルで割り当てることができます。 また、個々のサブスクリプション、リソース グループ、リソースなどの除外を指定することもできます。 このシナリオでは、リソース グループ内のすべてのリソースにタグを付ける必要があります。

  6. 次の設定を指定して、割り当ての 基本プロパティを構成します (その他は既定値のままにします)。

    設定
    割り当て名 Require Cost Center tag with Default value
    説明 Require Cost Center tag with default value for all resources in the resource group
    ポリシーの適用 Enabled

    : [割り当て名] には選択したポリシー名が自動的に入力されますが、この名前は変更できます。 [Description](説明) は省略可能です。 ポリシーはいつでも無効にすることができます。

  7. [次へ] をクリックして、[パラメーター] に次の値を設定します。

    設定 [値]
    タグ名 Cost Center
    タグ値 000
  8. [次へ] をクリックして、[修復] タブを確認します。[マネージド ID の作成] チェックボックスのチェックは外したままにしておきます。

  9. [確認と作成] をクリックしてから、[作成] をクリックします。

    :ここで、リソース グループに Azure Storage ストレージ アカウントを作成して、新しいポリシーが有効に割り当てられていることを確認します。 ストレージ アカウントは、必要なタグを追加せずに作成します。

    :ポリシーが有効になるまでに 5 から 10 分かかる場合があります。

  10. ポータルで、Storage Account を検索して選択し、[+ 作成] を選択します。

  11. [ストレージ アカウントの作成] ブレードの [Basics] タブで、構成を入力します。

    設定
    リソース グループ az104-rg2
    ストレージ アカウント名 “英字で始まる、グローバルに一意な、3 から 24 個の小文字と数字の任意の組み合わせ”**
  12. [確認] を選択した後、[作成] をクリックします。

  13. [検証失敗] メッセージが表示されるはずです。 メッセージを確認して失敗の原因を特定します。 リソースのデプロイがポリシーによって許可されなかったことをエラー メッセージが示しているのを確認します。

    許可されないことを示すポリシー エラーのスクリーンショット。

:[未処理エラー] タブをクリックすると、[Require Cost Center tag with Default value] (Default 値を持つ Cost Center タグを必要とする) というロール定義の名前を含む、エラーの詳細を確認できます。 デプロイに失敗した原因は、作成しようとしたストレージ アカウントに、値が Default に設定された Cost Center という名前のタグがなかったためです。

タスク 3:Azure Policy を使用してタグ付けを適用する

このタスクでは、新しいポリシー定義を使用して、準拠していないリソースを修復します。 このシナリオでは、リソース グループのすべての子リソースに、そのリソース グループで定義された Cost Center タグを継承させます。

  1. Azure portal で、Policy を検索して選択します。

  2. [作成] セクションで、[割り当て] をクリックします。

  3. 割り当てのリストで、[Require Cost Center tag with Default value] (Default 値を持つ Cost Center タグを必要とする) ポリシーの割り当てを表す行の省略記号アイコンをクリックし、[割り当てを削除します] メニュー項目を使用してこの割り当てを削除します。

  4. [ポリシーの割り当て] をクリックし、省略記号ボタンをクリックして次の値を選択し、[スコープ] を指定します。

    設定
    サブスクリプション お使いの Azure サブスクリプション
    リソース グループ az104-rg2
  5. ポリシー定義を指定するには、省略記号ボタンをクリックし、Inherit a tag from the resource group if missing を検索して選択します。

  6. [追加] を選択し、割り当ての残りの [Basics] プロパティを構成します。

    設定
    割り当て名 Inherit the Cost Center tag and its value 000 from the resource group if missing
    説明 Inherit the Cost Center tag and its value 000 from the resource group if missing
    ポリシーの適用 Enabled
  7. [次へ] を 2 度クリックして、 [パラメーター] に次の値を設定します。

    設定 [値]
    タグ名 Cost Center
  8. [次へ] をクリックし、[修復] タブで次の設定を構成します (その他の設定は既定値のままにします)。

    設定
    修復タスクを作成する enabled
    修復するポリシー 存在しない場合は、リソース グループからタグを継承する

    : このポリシー定義には [変更] の効果が含まれます。 そのため、マネージド ID が必要です。

    ポリシー修復ページのスクリーンショット。

  9. [確認と作成] をクリックしてから、[作成] をクリックします。

    :新しいポリシーの割り当てが有効であることを確認するには、必要なタグを明示的に追加せずに、同じリソース グループに別の Azure ストレージ アカウントを作成します。

    :ポリシーが有効になるまでに 5 から 10 分かかる場合があります。

  10. Storage Account を検索して選択し、[+ 作成] をクリックします。

  11. [ストレージ アカウントの作成] ブレードの [基本] タブで、ポリシーが適用されたリソース グループを使用していることを確認し、次の設定を指定して [確認] をクリックします (その他の設定は既定値のままにします)。

    設定
    ストレージ アカウント名 “英字で始まる、グローバルに一意な、3 から 24 個の小文字と数字の任意の組み合わせ”**
  12. 今度は検証に成功したことを確認し、[作成] をクリックします。

  13. 新しいストレージ アカウントをプロビジョニングしたら、[Go to resource] (リソースに移動) をクリックします。

  14. [複数のタグ] ブレードで、値が 000 のタグ Cost Center がリソースに自動的に割り当てられていることを確認します。

    ご存知でしたか? ポータルで [複数のタグ] を検索して選択すると、特定のタグを持つリソースを表示できます。

タスク 4:リソース ロックを構成してテストする

このタスクでは、リソース ロックを構成してテストします。 ロックを使用して、リソースの削除や変更を防止します。

  1. リソース グループを検索して選択します。

  2. [設定] ブレードで、[Locks] (ロック) を選択します。

  3. [追加] を選択し、リソース ロックの情報を入力します。 完了したら、[OK] を選択します。

    設定
    ロック名 rg-lock
    ロックの種類 delete (読み取り専用の場合の選択を確認)
  4. リソースグループの [概要] ブレードに移動し、[Delete resource group] (リソースグループの削除) を選択します。

  5. [Enter resource group name to confirm deletion] (削除を確認するために、リソース グループ名を入力してください) テキストボックスに、リソース グループ名「az104-rg2」を入力します。 リソース グループ名はコピーして貼り付けることができます。

  6. 次の警告に注意してください。このリソース グループとその依存リソースの削除は永続的な操作であり、元に戻すことはできません。 削除を選択します。

  7. 削除を拒否する通知を受信します。

    削除失敗のメッセージを示すスクリーンショット。

    注: リソース グループを削除する場合は、ロックを削除する必要があります。

リソースのクリーンアップ

自分のサブスクリプションで作業している場合は、お手数ですが、ラボ リソースを削除してください。 これにより、リソースが確実に解放されるため、コストが最小限に抑えられます。 ラボ リソースを削除する最も簡単な方法は、ラボ リソース グループを削除することです。

  • Azure portal で、リソース グループを選び、[リソース グループの削除][リソース グループ名を入力してください] の順に選び、[削除] をクリックします。
  • Azure PowerShell を使用する場合は、「Remove-AzResourceGroup -Name resourceGroupName」と入力します。
  • CLI を使用する場合は、「az group delete --name resourceGroupName」と入力します。

Copilot を使用して学習を拡張する

Copilot は、Azure スクリプト ツールの使用方法を学習するのに役立ちます。 Copilot は、ラボでは対象外の、またはさらに詳しい情報が必要な領域でも役立ちます。 Edge ブラウザーを開き、Copilot (右上) を選択するか、copilot.microsoft.com に移動します。 これらのプロンプトを試すには数分かかります。

  • リソース グループ上のリソース ロックを追加および削除するための、Azure PowerShell と CLI のコマンドは何ですか?
  • Azure ポリシーと Azure RBAC の違いを、例を含めて表にしてください。
  • Azure ポリシーを適用して、準拠していないリソースを修復する手順は何ですか?
  • 特定のタグを持つ Azure リソースのレポートを取得するにはどうすればよいですか?

自習トレーニングでさらに学習する

要点

以上でラボは完了です。 このラボの要点は次のとおりです。

  • Azure タグは、キーと値のペアで構成されるメタデータです。 タグは、環境内の特定のリソースを表します。 特に、Azure でタグ付けすると、論理的な方法でリソースにラベルを付けることができます。
  • Azure Policy によってリソースの規則が確立されます。 ポリシー定義には、リソースのコンプライアンス条件と、条件が満たされた場合に実行する効果が記述されます。 条件によって、リソース プロパティ フィールドまたは値が必要な値と比較されます。 組み込みのポリシー定義は多数あり、ポリシーはカスタマイズできます。
  • Azure Policy 修復タスク機能を使用して、定義と割り当てに基づいてリソースをコンプライアンス状態にします。 変更 や deployIfNotExist 定義の割り当てに非準拠のリソースは、修復タスクを使用してコンプライアンスに準拠させることができます。
  • リソースのロックは、サブスクリプション、リソース グループ、またはリソースで構成できます。 ロックを設定すると、ユーザーによる誤った削除や変更からリソースを保護できます。 ロックは、すべてのユーザー アクセス許可をオーバーライドします。
  • Azure Policy は、デプロイ前のセキュリティ対策です。 RBAC とリソース ロックは、デプロイ後のセキュリティ対策です。