チュートリアル: Azure Blueprints リソース ロックを使用して新しいリソースを保護する

Important

Azure Blueprints (プレビュー) は 2027 年 1 月 31 日に廃止され、2026 年 7 月 31 日から段階的に廃止されます。 既存のブループリント定義と割り当てを デプロイ スタック (推奨) と テンプレート スペックに移行します。 ブループリント アーティファクトは、デプロイ スタックの定義に使用される ARM JSON テンプレートまたはBicep ファイルに変換されます。 完全な段階的スケジュール、影響、および FAQ については、Azure Blueprints の廃止またはhttps://aka.ms/AzureBlueprintsRetirementをご覧ください。 アーティファクトを ARM リソースとして作成する方法については、以下を参照してください。

Azure Blueprints リソース ロックを使用すると、 所有者 ロールを持つアカウントによっても、新しくデプロイされたリソースが改ざんされないように保護できます。 この保護は、Azure Resource Manager テンプレート (ARM テンプレート) 成果物によって作成されたリソースのブループリント定義に追加できます。 ブループリント リソース ロックは、ブループリントの割り当て中に設定されます。

このチュートリアルでは、次の手順を実行します。

  • ブループリント定義を作成する
  • ブループリント定義を公開済みとしてマークする
  • ブループリント定義を既存のサブスクリプションに割り当てる (リソース ロックを設定する)
  • 新しいリソース グループを検査する
  • ブループリントの割り当てを解除してロックを削除する

[前提条件]

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

ブループリント定義を作成する

最初に、ブループリント定義を作成します。

  1. 左側のウィンドウで [ すべてのサービス ] を選択します。 ブループリントを検索して選択 します

  2. 左側の [作業の開始] ページで、[ブループリントの作成] で [作成] を選択します。

  3. ページの上部にある [空白のブループリント] ブループリント サンプルを見つけます。 [ 空のブループリントで開始] を選択します。

  4. [ 基本 ] タブで次の情報を入力します。

    • ブループリント名: ブループリント サンプルのコピーの名前を指定します。 このチュートリアルでは、 locked-storageaccount という名前を使用します。
    • ブループリントの説明: ブループリント定義の説明を追加します。 デプロイされたリソースに対するブループリント リソースロックのテストに使用します。
    • 定義の場所: 省略記号ボタン (...) を選択し、ブループリント定義を保存する管理グループまたはサブスクリプションを選択します。
  5. ページの上部にある [ 成果物 ] タブを選択するか、ページの下部にある [次へ: 成果物 ] を選択します。

  6. サブスクリプション レベルでリソース グループを追加します。

    1. [サブスクリプション] で [ 成果物の追加] 行を選択 します
    2. [成果物の種類] で [リソース グループ] を選択します。
    3. アーティファクトの 表示名RGtoLock に設定します。
    4. [リソース グループ名] ボックスと [場所] ボックスは空白のままにしますが、各プロパティでチェック ボックスがオンになっていることを確認して、動的パラメーターにします。
    5. [ 追加] を選択して、ブループリントにアーティファクトを追加します。
  7. リソース グループの下にテンプレートを追加します。

    1. RGtoLock エントリの下にある [成果物の追加] 行を選択します。

    2. [成果物の種類] で [Azure Resource Manager テンプレート] を選択し、[成果物の表示名] を StorageAccount に設定し、[説明] を空白のままにします。

    3. [ テンプレート ] タブで、次の ARM テンプレートをエディター ボックスに貼り付けます。 テンプレートを貼り付けた後、[ 追加 ] を選択してブループリントにアーティファクトを追加します。

      この手順では、ブループリント リソース ロックによってロックされるが、ブループリント リソース ロックは含まれないデプロイするリソースを定義します。 ブループリント リソース ロックは、ブループリント割り当てのパラメーターとして設定されます。

    {
        "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
            "storageAccountType": {
                "type": "string",
                "defaultValue": "Standard_LRS",
                "allowedValues": [
                    "Standard_LRS",
                    "Standard_GRS",
                    "Standard_ZRS",
                    "Premium_LRS"
                ],
                "metadata": {
                    "description": "Storage Account type"
                }
            }
        },
        "variables": {
            "storageAccountName": "[concat('store', uniquestring(resourceGroup().id))]"
        },
        "resources": [{
            "type": "Microsoft.Storage/storageAccounts",
            "name": "[variables('storageAccountName')]",
            "location": "[resourceGroup().location]",
            "apiVersion": "2018-07-01",
            "sku": {
                "name": "[parameters('storageAccountType')]"
            },
            "kind": "StorageV2",
            "properties": {}
        }],
        "outputs": {
            "storageAccountName": {
                "type": "string",
                "value": "[variables('storageAccountName')]"
            }
        }
    }
    
  8. ページの下部にある [ 下書きの保存] を選択します。

この手順では、選択した管理グループまたはサブスクリプションにブループリント定義を作成します。

ブループリント定義の保存に成功したポータルの通知が表示されたら、次の手順に進みます。

ブループリント定義を発行する

これで、ブループリント定義が環境内に作成されました。 これは下書きモードで作成され、割り当ててデプロイする前に発行する必要があります。

  1. 左側のウィンドウで [ すべてのサービス ] を選択します。 ブループリントを検索して選択 します

  2. 左側の [ブループリント定義 ] ページを選択します。 フィルターを使用して 、locked-storageaccount ブループリント定義を検索し、それを選択します。

  3. ページの上部にある [ ブループリントの発行] を選択します。 右側の新しいウィンドウで、バージョンとして「1.0」と入力します。 このプロパティは、後で変更を加える場合に便利です。 ブループリントでデプロイされたリソースをロックするために発行された最初のバージョンなど、変更に関するメモを入力します。 次に、ページの下部にある [ 発行 ] を選択します。

この手順により、ブループリントをサブスクリプションに割り当てることができます。 ブループリント定義が発行された後も、変更を加えることができます。 変更を加えた場合は、同じブループリント定義のバージョン間の違いを追跡するために、新しいバージョン値で定義を発行する必要があります。

発行ブループリント定義に成功したポータル通知が表示されたら、次の手順に進みます。

ブループリント定義を割り当てる

ブループリント定義が発行されたら、それを保存した管理グループ内のサブスクリプションに割り当てることができます。 この手順では、ブループリント定義の各デプロイを一意にするパラメーターを指定します。

  1. 左側のウィンドウで [ すべてのサービス ] を選択します。 ブループリントを検索して選択 します

  2. 左側の [ブループリント定義 ] ページを選択します。 フィルターを使用して 、locked-storageaccount ブループリント定義を検索し、それを選択します。

  3. ブループリント定義ページの上部にある [ブループリントの 割り当て] を選択します。

  4. ブループリント割り当てのパラメーター値を指定します。

    • 基本操作

      • サブスクリプション: ブループリント定義を保存した管理グループ内の 1 つ以上のサブスクリプションを選択します。 複数のサブスクリプションを選択した場合、入力したパラメーターを使用して、サブスクリプションごとに割り当てが作成されます。
      • 割り当て名: ブループリント定義の名前に基づいて、名前が事前に設定されます。 この割り当ては新しいリソース グループのロックを表すので、割り当ての名前を assignment-locked-storageaccount-TestingBPLocks に変更します。
      • 場所: マネージド ID を作成するリージョンを選択します。 Azure Blueprints では、このマネージド ID を使用して、割り当てられたブループリント内のすべての成果物をデプロイします。 詳細については、 Azure リソースのマネージド ID に関するページを参照してください。 このチュートリアルでは、 米国東部 2 を選択します。
      • ブループリント定義のバージョン: ブループリント定義の発行済みバージョン 1.0 を選択します。
    • ロック割り当て

      読み取り専用ブループリント ロック モードを選択します。 詳細については、 ブループリント リソースのロックに関する説明を参照してください。

      この手順では、新しくデプロイされたリソースのブループリント リソース ロックを構成します。

    • マネージド ID

      既定のオプション [ システム割り当て済み] を使用します。 詳細については、「 マネージド ID」を参照してください。

    • 成果物のパラメーター

      このセクションで定義されているパラメーターは、定義されている成果物に適用されます。 これらのパラメーターは、ブループリントの割り当て中に定義されるため、 動的パラメーター です。 アーティファクトごとに、パラメーター値を [ ] 列に表示される値に設定します。

      アーティファクト名 成果物の種類 パラメーター名 価値 Description
      RGtoLock リソース グループ リソースグループ 名前 TestingBPLocks ブループリント ロックを適用する新しいリソース グループの名前を定義します。
      RGtoLock リソース グループ リソースグループ ロケーション 米国西部 2 ブループリント ロックを適用する新しいリソース グループの場所を定義します。
      StorageAccount Resource Manager テンプレート ストレージアカウントタイプ (StorageAccount) Standard_GRS ストレージ SKU。 既定値は Standard_LRS です。
  5. すべてのパラメーターを入力したら、ページの下部にある [ 割り当て ] を選択します。

この手順では、定義されたリソースをデプロイし、選択した ロック割り当てを構成します。 ブループリント ロックを適用するには、最大で 30 分かかる場合があります。

ブループリント定義の割り当てに成功したポータル通知が表示されたら、次の手順に進みます。

割り当てによってデプロイされたリソースを検査する

割り当てにより、リソース グループ TestingBPLocks と、ARM テンプレート成果物によってデプロイされたストレージ アカウントが作成されます。 新しいリソース グループと選択したロック状態が割り当ての詳細ページに表示されます。

  1. 左側のウィンドウで [ すべてのサービス ] を選択します。 ブループリントを検索して選択 します

  2. 左側の [割り当てられたブループリント ] ページを選択します。 フィルターを使用して、ブループリントの割り当て assignment-locked-storageaccount-TestingBPLocks を見つけて、選択します。

    このページから、割り当てが成功し、リソースが新しいブループリント ロック状態でデプロイされたことを確認できます。 割り当てが更新されると、[ 割り当て操作 ] ドロップダウン リストに、各定義バージョンのデプロイに関する詳細が表示されます。 リソース グループを選択して、プロパティ ページを開くことができます。

  3. TestingBPLocks リソース グループを選択します。

  4. 左側の [アクセス制御 (IAM)] ページを選択します。 次に、[ ロールの割り当て ] タブを選択します。

    ここでは、assignment-locked-storageaccount-TestingBPLocks ブループリント割り当てが "所有者" ロールを持つことがわかります。 このロールは、リソース グループのデプロイとロックに使用されたため、このロールを持ちます。

  5. [ 拒否割り当て ] タブを選択します。

    ブループリント割り当てにより、デプロイされたリソース グループに 拒否割り当てが 作成され、 読み取り専用 ブループリント ロック モードが適用されます。 拒否割り当てでは、[ ロールの割り当て ] タブで適切な権限を持つユーザーが特定のアクションを実行できなくなります。 拒否割り当ては すべてのプリンシパルに影響します

    拒否割り当てからプリンシパルを除外する方法については、 ブループリント リソースのロックに関する説明を参照してください。

  6. 拒否割り当てを選択し、左側の [ 拒否されたアクセス許可] ページを選択します。

    拒否割り当てにより、*アクションの構成を使用するすべての操作が禁止されますが、NotActions 経由で */read を除外することで読み取りアクセスが許可されます。

  7. Azure ポータルのパンくずリストで、TestingBPLocks - アクセス制御 (IAM)を選択します。 次に、左側の [概要 ] ページを選択し、[ リソース グループの削除 ] ボタンを選択します。 TestingBPLocks という名前を入力して削除を確定し、ウィンドウの下部にある [削除] を選択します。

    ポータル通知 [リソース グループの削除のテストBPLocks が失敗しました ] が表示されます。 このエラーは、アカウントにはリソース グループを削除するアクセス許可がありますが、ブループリントの割り当てによってアクセスが拒否されたことを示しています。 ブループリントの割り当て中に 、読み取り専用 ブループリント ロック モードを選択したことを思い出してください。 ブループリント ロックにより、 所有者であってもアクセス許可を持つアカウントがリソースを削除できなくなります。 詳細については、 ブループリント リソースのロックに関する説明を参照してください。

これらの手順は、デプロイされたリソースが、リソースを削除するアクセス許可を持つアカウントからであっても、不要な削除を防ぐブループリント ロックで保護されていることを示しています。

ブループリントの割り当てを解除する

最後の手順では、ブループリント定義の割り当てを削除します。 割り当てを削除しても、関連付けられている成果物は削除されません。

  1. 左側のウィンドウで [ すべてのサービス ] を選択します。 ブループリントを検索して選択 します

  2. 左側の [割り当てられたブループリント ] ページを選択します。 フィルターを使用して、ブループリントの割り当て assignment-locked-storageaccount-TestingBPLocks を見つけて、選択します。

  3. ページの上部にある [ブループリントの割り当てを解除 ] を選択します。 確認ダイアログ ボックスで警告を読み、[ OK] を選択します。

    ブループリントの割り当てが削除されると、ブループリント ロックも削除されます。 リソースは、適切なアクセス許可を持つアカウントによってもう一度削除できます。

  4. Azure メニューから [リソース グループ ] を選択し、[ TestingBPLocks] を選択します。

  5. 左側の [アクセス制御 (IAM)] ページを選択し、[ロールの 割り当て ] タブを選択します。

リソース グループのセキュリティは、ブループリントの割り当てに 所有者 アクセス権がなくなったことを示しています。

ブループリント割り当ての削除に成功したポータルの通知が表示されたら、次の手順に進みます。

リソースをクリーンアップする

このチュートリアルが完了したら、次のリソースを削除します。

  • リソース グループ TestingBPLocks
  • ブループリント定義 locked-storageaccount

次のステップ

このチュートリアルでは、Azure Blueprints でデプロイされた新しいリソースを保護する方法について説明しました。 Azure Blueprints の詳細については、ブループリントのライフサイクルに関する記事に進んでください。