-
Notifications
You must be signed in to change notification settings - Fork 0
MS_AzurePortalAndARMAPI
- 戻る(Azure)
- Azureの管理ポータルとARM API
- Azure Resource Manager (ARM)
- Azureのシェル
Azure を操作するインターフェイス
管理用 I/F には、以下の 2 つがある。
補足(ARM API が「唯一の入口」である): 本文の
「Azure のシェルの裏側で動作している」という指摘が要点で、
実際にはすべての操作が ARM API に集約されている。管理ポータル ┐ Azure CLI ├──→ 【ARM API】──→ 各リソース プロバイダー ──→ 実リソース PowerShell │ (REST) (Microsoft.Compute 等) ARM/Bicep │ Terraform ┘これを理解していると、次のことが腑に落ちる。
事象 理由 ポータルでできることは CLI でもできる 同じ API を叩いているため RBAC はどの経路でも同じように効く 権限判定は ARM 層で行われるため(Azureのアクセス制御と権限) 監査ログ(アクティビティ ログ)に全操作が残る ARM が記録するため。ポータル操作も CLI 操作も同列に残る ポータルで作った構成をテンプレート化できる ARM が受け取った要求をそのまま JSON で出せるため(Azure上に素早く環境を構築する) また、
azコマンドに--debugを付けると
実際に送信している REST 要求を確認できる。
ドキュメントに無い操作を調べる際に有用である。
補足(ASM と ARM): 参考リンクにある「ASM と ARM の違い」は、
Azure の世代交代の話である。
ASM(クラシック) ARM(現行) 別名 Service Management、v1 Resource Manager、v2 リソースの単位 サービスごとにバラバラ リソース グループでまとめる 権限 共同管理者(実質すべての権限) RBAC(細かく制御可能) デプロイ 逐次 テンプレートで宣言的・並列 タグ 無い ある 現状 廃止済み 現行 ASM は既に廃止されており、現在 Azure に触れる限り
目にするのはすべて ARM である。
ただし、古い記事やスクリプト(Add-AzureAccount、azureコマンド等)は
ASM 前提のことがあるため、
Az/azかどうかで見分ける必要がある。
Azure Active Directory(+条件付きアクセス)
L7 プロキシを使用
- 自テナントへのアクセスのみに制限する。
- ただし、CDN(
MS_CDN.md)も利用するので、- VNET上の管理用踏み台+Azure Firewallでの構築が吉。
- VNET への接続は、Microsoft Peering or Azure Peering Service
補足(なぜ「管理ポータルの閉域化」が難しいのか): 本文が
「CDN も利用するので」と書いている点が核心である。管理ポータル(
portal.azure.com)は単一の宛先ではない。
- ポータルの画面自体(JS/CSS)は CDN から配信される、
- 各サービスのブレード(画面)はそれぞれ別のエンドポイントを叩く、
- 認証は
login.microsoftonline.com、- 実操作は
management.azure.com(ARM API)というように、多数の FQDN に分散している。
したがって、
手段 実現性 IP アドレスでのフィルタ 困難(CDN の IP は変動する) FQDN ベースのフィルタ(L7 プロキシ / Azure Firewall) 本文の方式。FQDN 一覧の維持が必要 条件付きアクセス(送信元 IP / デバイス準拠) こちらが本命。Entra ID 側で「どこから来たか」を条件に許可 つまり、
- 「経路を塞ぐ」(L7 プロキシ・Firewall)よりも、
- 「認証時に弾く」(条件付きアクセス)
の方が、管理ポータルに対しては現実的かつ確実である。
本文が AzAD(+条件付きアクセス)を先に挙げているのは
この理由によると読める。実務では、
- 条件付きアクセスで「Microsoft Azure 管理」アプリへのアクセスを
信頼できる場所(社内 IP / 準拠デバイス)からのみに限定し、- 加えて**踏み台(Bastion / 管理用 VM)**からのみ操作させる
という二段構えにするのが一般的である。
詳細はAzureのアクセス制御と権限を参照。
- Azure Resource Manager REST API | Microsoft Docs
https://docs.microsoft.com/ja-jp/rest/api/resources/ - Azure Resource (ARM) の REST API による管理 – tsmatz
https://tsmatz.wordpress.com/2015/09/08/azure-resource-arm-rest-api/ - Azure ARM API 事始め - Azure の小ネタ(改)
https://statemachine.hatenablog.com/entry/2015/12/22/003000 - Azure の ASM と ARM の違いを知る|ネスケラボ
https://blog.nextscape.net/archives/Date/2016/06/azure-asmarm
Tags: 移行, シェル, インフラストラクチャ, クラウド, Azure
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。