Azure Blueprint とはWhat is Azure Blueprints?

設計図によってエンジニアやアーキテクトがプロジェクト設計パラメーターの概略を示すのと同じように、Azure Blueprints によってクラウド アーキテクトや中央の情報技術部門は、組織の標準、パターン、要件を実装および順守した反復可能な一連の Azure リソースを定義できます。Just as a blueprint allows an engineer or an architect to sketch a project's design parameters, Azure Blueprints enables cloud architects and central information technology groups to define a repeatable set of Azure resources that implements and adheres to an organization's standards, patterns, and requirements. Azure Blueprints を使用すると、開発チームは新しい環境を迅速に構築して立ち上げることができます。新しい環境は組織のコンプライアンスに従って構築され、ネットワークなどの一連の組み込みコンポーネントを含んでいるという確信が得られるため、開発とデリバリーにかかる時間を短縮できます。Azure Blueprints makes it possible for development teams to rapidly build and stand up new environments with trust they're building within organizational compliance with a set of built-in components, such as networking, to speed up development and delivery.

ブループリントは、さまざまなリソース テンプレートやその他のアーティファクトのデプロイを宣言によって調整する手法です。Blueprints are a declarative way to orchestrate the deployment of various resource templates and other artifacts such as:

  • ロールの割り当てRole Assignments
  • ポリシーの割り当てPolicy Assignments
  • Azure Resource Manager テンプレート (ARM テンプレート)Azure Resource Manager templates (ARM templates)
  • リソース グループResource Groups

Azure Blueprints サービスの背後には、グローバルに分散された Azure Cosmos DB があります。The Azure Blueprints service is backed by the globally distributed Azure Cosmos DB. Blueprint オブジェクトは複数の Azure リージョンにレプリケートされます。Blueprint objects are replicated to multiple Azure regions. Azure Blueprints でどのリージョンにリソースがデプロイされても、このレプリケーションによって、ブループリント オブジェクトへのアクセスの一貫性、高可用性、短い待ち時間が実現されます。This replication provides low latency, high availability, and consistent access to your blueprint objects, regardless of which region Azure Blueprints deploys your resources to.

ARM テンプレートとの違いHow it's different from ARM templates

このサービスは、"環境の設定" が容易になるように設計されています。The service is designed to help with environment setup. この設定は、多くの場合、一連のリソース グループ、ポリシー、ロールの割り当て、および ARM テンプレートのデプロイから成ります。This setup often consists of a set of resource groups, policies, role assignments, and ARM template deployments. ブループリントは、これら個々の "アーティファクト" の種類をまとめたパッケージです。ブループリントにより、そのパッケージの作成とバージョン管理を行うことができます (CI/CD (継続的インテグレーションと継続的デリバリー) パイプラインを使用して行うこともできます)。A blueprint is a package to bring each of these artifact types together and allow you to compose and version that package, including through a continuous integration and continuous delivery (CI/CD) pipeline. 最終的には、それぞれが、監査と追跡が可能なサブスクリプションに 1 回の操作で割り当てられます。Ultimately, each is assigned to a subscription in a single operation that can be audited and tracked.

Azure Blueprints のデプロイに含めるものはほぼすべて、ARM テンプレートを使用して実現できます。Nearly everything that you want to include for deployment in Azure Blueprints can be accomplished with an ARM template. しかし、ARM テンプレートは Azure にネイティブに存在するドキュメントではありません。それぞれローカルに、またはソース コントロール内に格納されています。However, an ARM template is a document that doesn't exist natively in Azure – each is stored either locally or in source control. テンプレートは 1 つ以上の Azure リソースのデプロイに使用されますが、それらのリソースがデプロイされると、テンプレートとのアクティブな結び付きや関係は失われます。The template gets used for deployments of one or more Azure resources, but once those resources deploy there's no active connection or relationship to the template.

Azure Blueprints では、ブループリント定義 (何をデプロイする "必要がある" か) とブループリント割り当て (何がデプロイ "された" か) の間の関係が維持されます。With Azure Blueprints, the relationship between the blueprint definition (what should be deployed) and the blueprint assignment (what was deployed) is preserved. この結び付きによって、デプロイの追跡と監査が向上します。This connection supports improved tracking and auditing of deployments. また、Azure Blueprints は、同じブループリントで管理されている複数のサブスクリプションを一度にアップグレードすることもできます。Azure Blueprints can also upgrade several subscriptions at once that are governed by the same blueprint.

ARM テンプレートとブループリントのどちらかを選ぶ必要はありません。There's no need to choose between an ARM template and a blueprint. 各ブループリントは、0 個以上の ARM テンプレート アーティファクト で構成することができます。Each blueprint can consist of zero or more ARM template artifacts. このサポートは、ARM テンプレートを開発し、そのライブラリを維持するために以前行った作業を、Azure Blueprints で再利用できることを意味します。This support means that previous efforts to develop and maintain a library of ARM templates are reusable in Azure Blueprints.

Azure Policy との違いHow it's different from Azure Policy

ブループリントは、一貫性とコンプライアンスを確保する再利用可能な Azure クラウド サービス、セキュリティ、デザインの実装に関連した、焦点を定めた一連の標準、パターン、要件を作成するためのパッケージまたはコンテナーです。A blueprint is a package or container for composing focus-specific sets of standards, patterns, and requirements related to the implementation of Azure cloud services, security, and design that can be reused to maintain consistency and compliance.

ポリシーは、デプロイ時のリソース プロパティと、既に存在するリソースのリソース プロパティに焦点を合わせた、既定での許可と明示的な拒否のシステムです。A policy is a default allow and explicit deny system focused on resource properties during deployment and for already existing resources. サブスクリプションに含まれるリソースが要件と標準に準拠していることを確認することによって、クラウドのガバナンスを支援します。It supports cloud governance by validating that resources within a subscription adhere to requirements and standards.

ブループリントにポリシーを含めると、ブループリントの割り当て時に、適切なパターンや設計を作成できます。Including a policy in a blueprint enables the creation of the right pattern or design during assignment of the blueprint. このポリシー追加により、承認済みまたは予想されている変更しか環境に対して行えないことが保証され、ブループリントの意図に対する継続的なコンプライアンスが確保されます。The policy inclusion makes sure that only approved or expected changes can be made to the environment to protect ongoing compliance to the intent of the blueprint.

ポリシーは、数多くの "アーティファクト" の 1 つとしてブループリント定義に含めることができます。A policy can be included as one of many artifacts in a blueprint definition. また、ブループリントでは、ポリシーおよびイニシアティブでパラメーターを使用することもできます。Blueprints also support using parameters with policies and initiatives.

ブループリント定義Blueprint definition

ブループリントは "アーティファクト" で構成されます。A blueprint is composed of artifacts. Azure Blueprints は、現在、次のリソースをアーティファクトとしてサポートしています。Azure Blueprints currently supports the following resources as artifacts:

リソースResource 階層のオプションHierarchy options 説明Description
リソース グループResource Groups サブスクリプションSubscription ブループリント内の他のアーティファクトで使用する新しいリソース グループを作成します。Create a new resource group for use by other artifacts within the blueprint. プレースホルダーであるこれらのリソース グループを使用すると、リソースの構造を正確に希望したとおりに編成し、含めたポリシーとロールの割り当てのアーティファクトおよび ARM テンプレートについて、スコープを制限する指定ができます。These placeholder resource groups enable you to organize resources exactly the way you want them structured and provides a scope limiter for included policy and role assignment artifacts and ARM templates.
ARM テンプレートARM template サブスクリプション、リソース グループSubscription, Resource Group 入れ子になったテンプレートやリンクされたテンプレートを含むテンプレートを使用して、複雑な環境を構築します。Templates, including nested and linked templates, are used to compose complex environments. たとえば、SharePoint ファーム、Azure Automation State Configuration、Log Analytics ワークスペースの環境が該当します。Example environments: a SharePoint farm, Azure Automation State Configuration, or a Log Analytics workspace.
ポリシーの割り当てPolicy Assignment サブスクリプション、リソース グループSubscription, Resource Group ブループリントの割り当て先であるサブスクリプションに、ポリシーまたはイニシアティブを割り当てることができます。Allows assignment of a policy or initiative to the subscription the blueprint is assigned to. ポリシーまたはイニシアティブは、ブループリント定義の場所のスコープ内にある必要があります。The policy or initiative must be within the scope of the blueprint definition location. ポリシーまたはイニシアティブにパラメーターが含まれる場合、これらのパラメーターは、ブループリントを作成する時点で割り当てるか、ブループリント割り当て時に割り当てられます。If the policy or initiative has parameters, these parameters are assigned at creation of the blueprint or during blueprint assignment.
ロールの割り当てRole Assignment サブスクリプション、リソース グループSubscription, Resource Group 既存のユーザーまたはグループを組み込みのロールに追加して、リソースに対して常に適切なユーザーが確実に適切なアクセス権を持つようにすることができます。Add an existing user or group to a built-in role to make sure the right people always have the right access to your resources. ロールの割り当ては、サブスクリプション全体に対して定義することも、ブループリントに含まれる特定のリソース グループに対して入れ子にすることもできます。Role assignments can be defined for the entire subscription or nested to a specific resource group included in the blueprint.

ブループリント定義の場所Blueprint definition locations

ブループリント定義を作成するとき、ブループリントの保存場所を定義します。When creating a blueprint definition, you'll define where the blueprint is saved. ブループリントは、自分が 共同作成者 のアクセス権を持っている 管理グループまたはサブスクリプションに保存できます。Blueprints can be saved to a management group or subscription that you have Contributor access to. 保存場所が管理グループである場合、その管理グループのすべての子サブスクリプションへの割り当てにブループリントを使用できます。If the location is a management group, the blueprint is available to assign to any child subscription of that management group.

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

ブループリントでは、ポリシーやイニシアティブまたは ARM テンプレートにパラメーターを渡すことができます。Blueprints can pass parameters to either a policy/initiative or an ARM template. いずれかの "アーティファクト" がブループリントに追加されるときに、作成者は個々のブループリント割り当てに対して、定義済みの値を指定するか、割り当て時に値を指定できるようにするかを決定します。When adding either artifact to a blueprint, the author decides to provide a defined value for each blueprint assignment or to allow each blueprint assignment to provide a value at assignment time. この柔軟さによって、ブループリントのすべての使用に対して事前に決められた値を定義するか、割り当ての時点で値を決定できるようにするかを選ぶことができます。This flexibility provides the option to define a pre-determined value for all uses of the blueprint or to enable that decision to be made at the time of assignment.

注意

ブループリントには、そのブループリント専用のパラメーターを設定できますが、現時点では、このようなパラメーターを作成できるのはブループリントがポータルではなく REST API から生成されている場合のみです。A blueprint can have its own parameters, but these can currently only be created if a blueprint is generated from REST API instead of through the Portal.

詳細については、ブループリントのパラメーターに関する記事をご覧ください。For more information, see blueprint parameters.

ブループリントの発行Blueprint publishing

ブループリントを作成したとき、最初は ドラフト モードであると見なされます。When a blueprint is first created, it's considered to be in Draft mode. 割り当てができる状態になったら、発行する 必要があります。When it's ready to be assigned, it needs to be Published. 発行するには、バージョン 文字列 (文字、数字、ハイフンを使用し、長さは最大 20 文字) を、変更に関するメモ (オプション) と共に定義する必要があります。Publishing requires defining a Version string (letters, numbers, and hyphens with a max length of 20 characters) along with optional Change notes. バージョン によって、同じブループリントに対する今後の変更が区別され、各バージョンを割り当てることが可能になります。The Version differentiates it from future changes to the same blueprint and allows each version to be assigned. これはまた、同じブループリントの異なる複数の バージョン を同じサブスクリプションに割り当てできることを意味します。This versioning also means different Versions of the same blueprint can be assigned to the same subscription. ブループリントに追加の変更を加えた場合は、発行されていない変更 に加えて、発行済み バージョン も引き続き存在します。When additional changes are made to the blueprint, the Published Version still exists, as do the Unpublished changes. 変更が完了すると、更新されたブループリントは、新しい一意の バージョン を持つ 発行済み のブループリントとして、やはり割り当て可能になります。Once the changes are complete, the updated blueprint is Published with a new and unique Version and can now also be assigned.

ブループリント割り当てBlueprint assignment

ブループリントの個々の 発行済み バージョン を既存の管理グループまたはサブスクリプションに割り当てることができます (名前の最大長は 90 文字)。Each Published Version of a blueprint can be assigned (with a max name length of 90 characters) to an existing management group or subscription. ポータルにおいて、ブループリントの既定の バージョン は、直近の 発行済み になったバージョンになります。In the portal, the blueprint defaults the Version to the one Published most recently. アーティファクトのパラメーターまたはブループリントのパラメーターがある場合、そのパラメーターは割り当て処理時に定義されます。If there are artifact parameters or blueprint parameters, then the parameters are defined during the assignment process.

注意

ブループリント定義を管理グループに割り当てると、割り当てオブジェクトが管理グループに存在することになります。Assigning a blueprint definition to a management group means the assignment object exists at the management group. アーティファクトの配置は、現在もサブスクリプションを対象としています。The deployment of artifacts still targets a subscription. 管理グループへの割り当てを実行するには、作成または更新 REST API を使用する必要があり、要求本文には、ターゲット サブスクリプションを定義する properties.scope の値が含まれている必要があります。To perform a management group assignment, the Create Or Update REST API must be used and the request body must include a value for properties.scope to define the target subscription.

Azure Blueprints におけるアクセス許可Permissions in Azure Blueprints

ブループリントを使用するには、Azure ロールベースのアクセス制御 (Azure RBAC) を通じてアクセス許可を得る必要があります。To use blueprints, you must be granted permissions through Azure role-based access control (Azure RBAC). Azure portal でブループリントを読み取るまたは表示するには、ブループリント定義が配置されているスコープへの読み取りアクセス権がアカウントに必要です。To read or view a blueprint in Azure portal, your account must have read access to the scope where the blueprint definition is located.

ブループリントを作成するには、お使いのアカウントに次のアクセス許可が必要です。To create blueprints, your account needs the following permissions:

  • Microsoft.Blueprint/blueprints/write - ブループリント定義の作成Microsoft.Blueprint/blueprints/write - Create a blueprint definition
  • Microsoft.Blueprint/blueprints/artifacts/write - ブループリント定義でのアーティファクトの作成Microsoft.Blueprint/blueprints/artifacts/write - Create artifacts on a blueprint definition
  • Microsoft.Blueprint/blueprints/versions/write - ブループリントの発行Microsoft.Blueprint/blueprints/versions/write - Publish a blueprint

ブループリントを削除するには、お使いのアカウントに次のアクセス許可が必要です。To delete blueprints, your account needs the following permissions:

  • Microsoft.Blueprint/blueprints/delete
  • Microsoft.Blueprint/blueprints/artifacts/delete
  • Microsoft.Blueprint/blueprints/versions/delete

注意

ブループリント定義のアクセス許可は、その保存先となる管理グループまたはサブスクリプションのスコープで付与または継承する必要があります。The blueprint definition permissions must be granted or inherited on the management group or subscription scope where it is saved.

ブループリントを割り当てまたは割り当て解除するには、お使いのアカウントに次のアクセス許可が必要です。To assign or unassign a blueprint, your account needs the following permissions:

  • Microsoft.Blueprint/blueprintAssignments/write - ブループリントの割り当てMicrosoft.Blueprint/blueprintAssignments/write - Assign a blueprint
  • Microsoft.Blueprint/blueprintAssignments/delete - ブループリントの割り当て解除Microsoft.Blueprint/blueprintAssignments/delete - Unassign a blueprint

注意

サブスクリプションにブループリント割り当てが作成されると、ブループリント割り当てと割り当て解除のアクセス許可がサブスクリプションのスコープに対して付与されるか、サブスクリプション スコープに継承されます。As blueprint assignments are created on a subscription, the blueprint assign and unassign permissions must be granted on a subscription scope or be inherited onto a subscription scope.

以下の組み込みロールを使用できます。The following built-in roles are available:

Azure ロールAzure role 説明Description
所有者Owner 他のアクセス許可に加えて、すべての Azure Blueprint 関連のアクセス許可が含まれます。In addition to other permissions, includes all Azure Blueprint related permissions.
ContributorContributor 他のアクセス許可に加えて、ブループリント定義を作成および削除できますが、ブループリントの割り当てのアクセス許可は持っていません。In addition to other permissions, can create and delete blueprint definitions, but doesn't have blueprint assignment permissions.
ブループリント共同作成者Blueprint Contributor ブループリントの定義を管理できますが、それらを割り当てることはできません。Can manage blueprint definitions, but not assign them.
ブループリント オペレーターBlueprint Operator 既存の発行済みのブループリントを割り当てることはできますが、新しいブループリント定義は作成できません。Can assign existing published blueprints, but can't create new blueprint definitions. ブループリントの割り当ては、ユーザーによって割り当てられたマネージド ID を使用して割り当てが行われた場合にのみ機能します。Blueprint assignment only works if the assignment is done with a user-assigned managed identity.

これらの組み込みロールが自分のセキュリティ ニーズに適合しない場合は、カスタム ロールを作成することを検討してください。If these built-in roles don't fit your security needs, consider creating a custom role.

注意

システム割り当てのマネージド ID を使用している場合、Azure Blueprints のサービス プリンシパルがデプロイを有効にするには、割り当てられたサブスクリプションに対して 所有者 ロールが必要です。If using a system-assigned managed identity, the service principal for Azure Blueprints requires the Owner role on the assigned subscription in order to enable deployment. ポータルを使用する場合、デプロイに対するこのロールの付与と取り消しは自動的に行われます。If using the portal, this role is automatically granted and revoked for the deployment. REST API を使用する場合はこのロールを手動で付与する必要がありますが、取り消しはデプロイ完了後に自動的に行われます。If using the REST API, this role must be manually granted, but is still automatically revoked after the deployment completes. ユーザー割り当てマネージド ID を使用する場合は、ブループリント割り当てを作成するユーザーのみに Microsoft.Blueprint/blueprintAssignments/write アクセス許可が必要です。これは、所有者ブループリント オペレーター の組み込みロールの両方に含まれています。If using a user-assigned managed identity, only the user creating the blueprint assignment needs the Microsoft.Blueprint/blueprintAssignments/write permission, which is included in both the Owner and Blueprint Operator built-in roles.

名前付けの制限Naming limits

特定のフィールドでは、次の制限があります。The following limitations exist for certain fields:

ObjectObject フィールドField 使用できる文字Allowed Characters 最大Max. 長さLength
ブループリントBlueprint 名前Name 英字、数字、ハイフン、およびピリオドletters, numbers, hyphens, and periods 4848
ブループリントBlueprint VersionVersion 英字、数字、ハイフン、およびピリオドletters, numbers, hyphens, and periods 2020
ブループリント割り当てBlueprint assignment 名前Name 英字、数字、ハイフン、およびピリオドletters, numbers, hyphens, and periods 9090
ブループリント アーティファクトBlueprint artifact 名前Name 英字、数字、ハイフン、およびピリオドletters, numbers, hyphens, and periods 4848

ビデオの概要Video overview

Azure Blueprints に関する次の概要は、Azure Fridays のものです。The following overview of Azure Blueprints is from Azure Fridays. ビデオのダウンロードについては、Channel 9 の「Azure Fridays - An overview of Azure Blueprints (Azure Fridays - Azure Blueprints の概要)」をご覧ください。For video download, visit Azure Fridays - An overview of Azure Blueprints on Channel 9.

次のステップNext steps