0Pricing
Azure Fundamentals · レッスン

Azure Blueprints とコンプライアンス

ポリシー、ロールの割り当て、ARM テンプレートを再利用可能な Azure Blueprint にまとめ、新しいプロジェクト向けにコンプライアンスに準拠した環境を迅速に構築します。

「Azure Blueprints とコンプライアンス」はCoddyKit上の無料Azure Fundamentalsレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAzure Fundamentals学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Azure Fundamentalsコースには全4レッスンが含まれています。

Azure Blueprints とは

Azure Blueprints は、ロールの割り当て、ポリシーの割り当て、ARM テンプレート、リソース グループなどの再利用可能な Azure ガバナンス成果物のセットを定義し、単一のバージョン管理されたオブジェクトとしてパッケージ化できるサービスです。その後、ブループリントをサブスクリプションに割り当てることで、完全に構成され、準拠した環境を数分で構築できます。Blueprints は、新しいプロジェクト、チーム、規制要件向けに標準化された環境を作成する必要がある企業向けに設計されています。

ブループリントの成果物

ブループリントは、作成する環境の構成要素である成果物から構成されます。サポートされている成果物の種類は、Resource Groups(他の成果物のコンテナーとして、特定の場所にリソース グループを作成)、ARM Templates(任意の Azure インフラストラクチャをデプロイ)、Azure Policy Assignments(パラメーターを指定してポリシーを適用)、RBAC Role Assignments(特定のユーザーまたはグループにアクセス権を付与)です。成果物は相互に依存関係を持つことができ、正しい順序でデプロイされます。

// Blueprint structure example:
// Blueprint: 'ISO27001-LandingZone'
//   Artefact 1: Resource Group 'networking-rg'
//   Artefact 2: ARM Template (deploy VNet into networking-rg)
//   Artefact 3: ARM Template (deploy Log Analytics workspace)
//   Artefact 4: Policy Assignment 'ISO 27001' initiative
//   Artefact 5: Role Assignment (NetworkAdmins group = Network Contributor)
//   Artefact 6: Role Assignment (SecurityTeam = Security Reader)

ブループリントのバージョン管理

Blueprints はバージョン管理をサポートしているため、複数の公開済みバージョンを同時に管理できます。ブループリントを変更する場合は、下書きを編集します。下書きの準備ができたら、リリース ノートとともに新しいバージョン(例: v1.0、v1.1、v2.0)として公開します。既存のブループリント割り当てでは、デプロイ時のバージョンが保持されます。割り当てを新しいバージョンに明示的にアップグレードすることもできます。これにより、サブスクリプション全体にガバナンスの変更を段階的に適用できます。

# Create a blueprint definition
az blueprint create \
  --name 'ISO27001LandingZone' \
  --management-group mg-company \
  --description 'ISO 27001 compliant landing zone for new projects'

# Publish a version
az blueprint publish \
  --blueprint-name 'ISO27001LandingZone' \
  --management-group mg-company \
  --version '1.0' \
  --change-notes 'Initial release with networking, logging, and ISO policies'

ブループリントのパラメーター

Blueprints はパラメーターをサポートしているため、バリエーションごとに個別のブループリントを作成しなくても、割り当て時に同じブループリント定義をカスタマイズできます。パラメーターはブループリント レベルで定義して個々の成果物に渡すことも、各成果物に直接定義することもできます。たとえば、allowedLocations パラメーターをポリシー成果物に渡すことで、割り当てを行うユーザーは、ブループリント定義自体を編集せずに、各サブスクリプションで許可する Azure リージョンを指定できます。

// Blueprint parameter defined at blueprint level:
{
  'parameters': {
    'allowedLocations': {
      'type': 'array',
      'metadata': {
        'displayName': 'Allowed Azure Regions',
        'description': 'Locations where resources can be deployed'
      }
    }
  }
}

ブループリントの割り当て

ブループリントの割り当ては、公開済みのブループリント バージョンを特定のサブスクリプションに適用します。割り当て時には、ブループリント パラメーターの値を指定し、ブループリントが成果物のデプロイに使用するシステム割り当てまたはユーザー割り当てのマネージド ID を選択します。この ID には、十分な RBAC 権限が必要です。また、サブスクリプション ユーザーによる変更を防ぐため、デプロイ後にブループリント成果物をロックするかどうかを選択します。

# Assign a blueprint to a subscription
az blueprint assignment create \
  --name 'prod-subscription-baseline' \
  --blueprint-version '/providers/Microsoft.Management/managementGroups/mg-company/providers/Microsoft.Blueprint/blueprints/ISO27001LandingZone/versions/1.0' \
  --location eastus \
  --identity-type SystemAssigned \
  --resource-group-value artifact_name=networking-rg name=networking-rg location=eastus \
  --lock-mode AllResourcesReadOnly

ブループリントのロック

ブループリントの割り当てでは、デプロイされた成果物をロックして、サブスクライバーによる変更や削除を防止できます。ロック モードは 3 種類あります。None(ロックなし)、AllResourcesReadOnly(デプロイされたすべてのリソースに ReadOnly ロック)、AllResourcesDoNotDelete(デプロイされたすべてのリソースに CanNotDelete ロック)です。ブループリント ロックは特殊なロックです。ブループリントの割り当てが存在する間は、サブスクリプションの Owner であっても削除できません。そのため、標準のリソース ロックより強力に保護できます。

規制フレームワークへの準拠

Azure は、Azure Blueprints のサンプル ギャラリーで、ISO 27001、NIST SP 800-53、PCI DSS、DoD IL4/IL5、FedRAMP、HIPAA/HITRUST、UK OFFICIAL などのフレームワーク向けに規制コンプライアンス ブループリントを提供しています。これらのサンプル ブループリントには、各フレームワークへの準拠を証明するために必要なポリシー、ロールの割り当て、インフラストラクチャ構成がパッケージ化されています。組織はこれらを出発点として使用し、自分たちの環境に固有の成果物をカスタマイズして追加します。

Blueprints と ARM テンプレートの比較

ARM テンプレートと Blueprints は、異なる目的で使用されます。ARM テンプレートは、単一のリソース グループまたはサブスクリプションにインフラストラクチャをデプロイしますが、デプロイされたリソースとの継続的な接続はありません。一方、ブループリントの割り当ては、ブループリント定義とデプロイされた環境の間の継続的なリンクを維持します。デプロイの状態を追跡したり、新しいバージョンにアップグレードしたり、Owner レベルの RBAC に対しても有効なブループリント ロックでデプロイ済みの成果物を保護したりできます。Blueprints は、ガバナンスに特化した機能によって ARM テンプレートを拡張します。

Blueprints と Azure Landing Zones の比較

Microsoft の最新のAzure Landing Zone accelerator(Cloud Adoption Framework の一部)では、Blueprints ではなく、ARM テンプレート、Bicep、Terraform、Azure Policy を組み合わせて使用します。Blueprints は引き続き利用できますが、大規模な環境では、Microsoft はポリシー主導のアプローチと IaC により注力しています。複雑なエンタープライズ デプロイでは、現在は CAF Landing Zone アプローチが推奨されています。Blueprints は、小規模で自己完結型の環境テンプレートに適しています。

ブループリントのコンプライアンス監視

Azure Blueprints ブレードでは、各ブループリントの割り当てにデプロイ状態(Succeeded、Failed、Locking)と、各成果物のコンプライアンス状態が表示されます。成果物のデプロイに失敗した場合は、ARM デプロイ エラーを確認して割り当てを再試行できます。ブループリント内のポリシー成果物は、標準の Azure Policy コンプライアンス ダッシュボードを通じてコンプライアンスを報告します。そのため、デプロイの成功状況と継続的なリソース コンプライアンスを一元的に把握できます。

# List blueprint assignments and their status
az blueprint assignment list \
  --subscription <sub-id> \
  --output table

# Get the status of a specific assignment
az blueprint assignment show \
  --name 'prod-subscription-baseline' \
  --subscription <sub-id>

ブループリントの割り当ての削除

ブループリントで管理された環境を廃止するには、まずブループリントの割り当てを削除します。これにより、デプロイされたすべての成果物からブループリント ロックが削除され、ブループリント定義とデプロイ済みリソースの間のリンクが切断されます。ただし、デプロイ済みのリソース自体は削除されません。その後、変更管理プロセスに従って ARM リソースを個別にクリーンアップします。ブループリント定義を削除するには、先にすべての割り当てを削除する必要があります。

# Delete a blueprint assignment (removes locks but not deployed resources)
az blueprint assignment delete \
  --name 'prod-subscription-baseline' \
  --subscription <sub-id>

確認テスト

このレッスンで扱った Microsoft Azure Fundamentals(AZ-900)の概念について、理解度を確認します。

レッスンのまとめ

このレッスンでは、Azure Blueprints は、ポリシーの割り当て、ロールの割り当て、ARM テンプレート、リソース グループを、バージョン管理された再利用可能なガバナンス オブジェクトにパッケージ化すること、ブループリント ロックは、サブスクリプションの Owner であっても、デプロイされた成果物を変更から保護すること、そしてサンプル ギャラリーの規制コンプライアンス ブループリントにより、ISO 27001 や PCI DSS などのフレームワークへの対応を効率化できることを学びました。これで Azure Governance コースは完了です。次は Azure Resource Manager と Infrastructure as Code について学習します。

よくある質問

「Azure Blueprints とコンプライアンス」レッスンは無料ですか?

はい。「Azure Blueprints とコンプライアンス」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Azure Fundamentalsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Azure Fundamentalsコースには全4レッスンが含まれています。

「Azure Blueprints とコンプライアンス」で何を学びますか?

ポリシー、ロールの割り当て、ARM テンプレートを再利用可能な Azure Blueprint にまとめ、新しいプロジェクト向けにコンプライアンスに準拠した環境を迅速に構築します。 ブラウザで直接実行するハンズオンコードでAzure Fundamentalsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Azure Fundamentalsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAzure Fundamentalsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「Azure Blueprints とコンプライアンス」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAzure Fundamentalsレッスンでコードを書いて実行できますか?

はい。すべてのAzure Fundamentalsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 管理グループとサブスクリプション
  2. Azure Policy
  3. リソース タグとリソース ロック
  4. Azure Blueprints とコンプライアンス
← Azure Fundamentalsに戻る