-
Notifications
You must be signed in to change notification settings - Fork 0
MS_AzureResourceManager
-
TOP > インフラストラクチャ > クラウド > Azure(
MS_Azure.md)- Azure Resource Manager (ARM)
- Azureのアクセス制御と権限
- Role Based Access Control (RBAC)
グループ化されたソリューション リソースをデプロイ、監視、管理する。
- Azure ソリューションのデプロイと管理における方法
- 新旧、2 つのモデルがある。
- クラシック デプロイ(旧)
- Resource Manager デプロイ(新)
- 2 つのモデルに互換性はない。
- 現在では、Resource Manager デプロイが推奨される。
-
当初からのモデル
-
各リソースが独立して存在
-
関連リソースをまとめてグループ化する方法がない。
-
デプロイには、すべてのリソースを正しい順序で
- Azure ポータル経由で個別に作成・削除
- 作成・削除するスクリプトを作成して実行
する必要があった。
-
タグなどによって、グループ化されたリソースの監視・請求の管理などができない。
-
リソースにアクセス制御を適用できない。
補足(最新化): クラシック デプロイ(ASM)は 2023 年までに完全に廃止された。 現在の Azure は Resource Manager のみである。 本節は歴史的経緯として読むこと。
-
2014 年に Resource Manager が導入され、リソース・グループの概念が追加された。
-
グループ化されたソリューション リソースをデプロイ、監視、管理する。
-
ソリューションを、リソース・グループという単位で、
- リソースが一貫した状態(順序、アクセス制御)で
- ライフサイクル全体で繰り返し
デプロイできる。
-
テンプレート
-
スクリプトではなく、テンプレートという宣言型構文(JSON) で管理可能。
-
ソリューションのインフラストラクチャ全体を 1 つのテンプレートで定義する必要は無い。
リソース < テンプレート < リソース・グループ < ソリューションのインフラストラクチャ
-
-
タグによって、グループ化されたリソースの監視・請求の管理が可能。
-
リソース・グループに属するすべてのリソースにアクセス制御を適用できる。
補足: ARM は Azure の制御プレーンそのものである。 ポータル、CLI、PowerShell、SDK、Terraform のいずれから操作しても、 最終的には ARM の REST API を呼んでいる。
このため、RBAC の
Microsoft.Compute/virtualMachines/readのような操作名は、 そのまま ARM の API に対応している。 Azureのアクセス制御と権限 で扱う権限は、 すべてこの層で評価される。なお、データ プレーン(Blob の読み書き、Key Vault のシークレット取得など)は ARM を経由しない。RBAC で
ActionsとDataActionsが分かれているのは、この違いによる。
補足(最新化): ARM テンプレート(JSON)は冗長で書きにくいため、 現在は Bicep が推奨されている。
方式 位置付け Bicep ARM テンプレートに変換される DSL。Microsoft の推奨 ARM テンプレート (JSON) 引き続き有効。Bicep のコンパイル先 Terraform マルチクラウドで統一したい場合 Bicep は ARM にトランスパイルされるだけなので、 状態ファイル(Terraform の tfstate 相当)を持たず、 Azure 側の実際の状態が唯一の正となる。
- サポートされない: Cloud Services (SaaS) では、新旧どちらのモデルもサポートされない。
- 両方サポートされる: リソース、リソース・グループ 等(当時)
- Azure(
MS_Azure.md) - Azureのアクセス制御と権限
- Role Based Access Control (RBAC)
- Azure Resource Manager の概要 - Microsoft Learn
- Bicep とは - Microsoft Learn
Tags: クラウド, Azure, インフラストラクチャ
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。