azure-admin について
azure-adminは、Azure管理者やDevOpsエンジニア、開発者向けの管理スキルです。ID管理、リソース展開、CLI、自動化、ガバナンスを扱い、Azure MCPのワークフローも解説します。
主な機能
- 01Entra IDのID・RBAC管理
- 02サブスクリプション、リソースグループ、Bicepのデプロイ
- 03Azure CLI、azd、PowerShellの利用方法
- 04CI/CDとインフラ自動化
- 05コスト管理、ポリシー、コンプライアンス
- 06Azure MCPのツールとワークフロー解説
活用シーン
- 01ユーザー、サービスプリンシパル、マネージドIDの設定
- 02Azureリソースのデプロイと検索
- 03ロール割り当てと権限の調査
- 04MCP経由でのAzureクエリと操作
MCP 対応
Azure MCPサーバーの設定方法と、リソース、ユーザー、RBAC割り当ての検索やAzure CLI実行に使うツールを説明します。Claude Codeなどのワークフローが対象です。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ rysweet/ amplihack --skill azure-adminインストール後、Claude Code で/azure-adminを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mddocs/cli-patterns.mdcost-optimization.mddevops-automation.mdmcp-integration.mdresource-management.mdrole-assignments.mdtroubleshooting.mduser-management.mdexamples/bulk-user-onboarding.mdenvironment-setup.mdmcp-workflow.mdrole-audit.mdreferences/api-references.mdaz-104-guide.mdmicrosoft-learn.md詳細
Azure Administration Skill
概要
このスキルでは、ID 管理、リソースのオーケストレーション、CLI ツール、DevOps の自動化を含む、包括的な Azure 管理機能を提供します。Azure CLI(az)、Azure Developer CLI(azd)、Entra ID(旧 Azure AD)、AI を活用したワークフロー向けの Azure MCP(Model Context Protocol)など、Microsoft の Azure エコシステムと統合されています。
主な機能:
- ID およびアクセス管理:ユーザーのプロビジョニング、RBAC、サービスプリンシパル、マネージド ID
- リソース管理:サブスクリプション、リソースグループ、ARM テンプレート、Bicep デプロイ
- CLI およびツール:az CLI のパターン、azd ワークフロー、PowerShell の統合
- MCP 統合:AI 主導の Azure 操作を実現する Azure MCP サーバー
- DevOps 自動化:CI/CD パイプライン、Infrastructure as Code、デプロイ戦略
- コストおよびガバナンス:予算管理、ポリシーの適用、コンプライアンス
対象読者:
- Azure 環境を管理するクラウド管理者
- Azure のデプロイを自動化する DevOps エンジニア
- RBAC とコンプライアンスを実装するセキュリティチーム
- Azure サービスと MCP 統合を使用する開発者
理念との整合性: このスキルは、徹底したシンプルさ、動作するコードのみを使用すること、明確なモジュール境界、体系的なワークフローという amplihack の原則に従っています。
クイックリファレンスマトリクス
よくあるタスクの対応表
| タスク | 主なツール | 副次的なツール | スキルドキュメントの参照先 |
|---|---|---|---|
| ユーザーアカウントの作成 | az cli | Entra ID ポータル | @docs/user-management.md |
| RBAC ロールの割り当て | az cli | Azure ポータル | @docs/role-assignments.md |
| リソースグループのデプロイ | az cli, Bicep | ARM テンプレート | @docs/resource-management.md |
| サービスプリンシパルの設定 | az cli | ポータル | @docs/user-management.md#service-principals |
| マネージド ID の有効化 | az cli | ポータル | @docs/user-management.md#managed-identities |
| リソースの作成 | az cli, azd | ポータル、Terraform | @docs/resource-management.md |
| リソースのクエリ | az cli --query | JMESPath | @docs/cli-patterns.md#querying |
| ユーザーの一括操作 | az cli + bash | PowerShell | @examples/bulk-user-onboarding.md |
| 環境のプロビジョニング | azd | az cli, Bicep | @examples/environment-setup.md |
| ロール割り当ての監査 | az cli | Azure Policy | @examples/role-audit.md |
| コスト分析 | az cli, Portal | コスト管理 API | @docs/cost-optimization.md |
| MCP 統合 | Azure MCP | az cli | @docs/mcp-integration.md |
| CI/CD パイプライン | Azure DevOps | GitHub Actions | @docs/devops-automation.md |
コマンドパターンのリファレンス
# Identity operations
az ad user create --display-name "Jane Doe" --user-principal-name [email protected]
az ad sp create-for-rbac --name myServicePrincipal --role Contributor
# Resource operations
az group create --name myResourceGroup --location eastus
az deployment group create --resource-group myRG --template-file main.bicep
# RBAC operations
az role assignment create --assignee [email protected] --role Reader --scope /subscriptions/xxx
az role assignment list --assignee [email protected] --all
# Query patterns
az vm list --query "[?powerState=='VM running'].{Name:name, RG:resourceGroup}"
az resource list --resource-type "Microsoft.Compute/virtualMachines" --query "[].{name:name, location:location}"
# Cost management
az consumption usage list --start-date 2025-01-01 --end-date 2025-01-31
az costmanagement query --type ActualCost --dataset-aggregation name=Cost,function=Sum
# Azure Developer CLI (azd)
azd init --template todo-nodejs-mongo
azd up # provision + deploy
azd env list
azd down
トピック 1:ID とアクセス管理
Entra ID を通じて、ユーザー、グループ、サービスプリンシパル、マネージド ID、RBAC などの Azure ID を管理します。
一般的な操作: ユーザーの作成、グループ管理、ロールの割り当て、サービスプリンシパルのセットアップ、マネージド ID の構成、RBAC の監査
参照: 詳細なガイドについては、@docs/user-management.md と @docs/role-assignments.md を参照してください。
簡単な例:
# Create user
az ad user create --display-name "Jane Doe" --user-principal-name [email protected] --password "SecureP@ssw0rd!"
# Create group and add member
az ad group create --display-name "Engineering Team" --mail-nickname "engineering"
az ad group member add --group "Engineering Team" --member-id $(az ad user show --id [email protected] --query id -o tsv)
# Create service principal
az ad sp create-for-rbac --name "myAppSP" --role Contributor --scopes /subscriptions/{sub-id}
# Enable managed identity
az vm identity assign --name myVM --resource-group myRG
# Assign RBAC role
az role assignment create --assignee [email protected] --role Reader --scope /subscriptions/{sub-id}
主な概念:
- ユーザーとグループ:Entra ID アカウント、グループベースのアクセス許可
- サービスプリンシパル:アプリの認証、証明書ベースの認証を推奨
- マネージド ID:Azure が管理する資格情報。シークレットのローテーションは不要です
- RBAC:Owner、Contributor、Reader、複数のスコープでのカスタムロール
- セキュリティ:MFA の適用、最小権限、定期的なアクセスレビュー
ベストプラクティス:
- ロールの割り当てには個々のユーザーではなくグループを使用します
- サービスプリンシパルよりもマネージド ID を優先します
- サービスプリンシパルの資格情報を 90 日ごとにローテーションします
- 資格情報は Azure Key Vault に保存します
- すべての管理者アカウントで MFA を有効にします
トピック 2:リソース管理
サブスクリプション、リソースグループ、IaC を通じて Azure リソースを整理し、デプロイします。
一般的な操作: リソースグループの作成、タグ付け戦略、ARM/Bicep のデプロイ、リソースロック、複数リージョンの管理
参照: 高度なパターンについては、@docs/resource-management.md を参照してください。
簡単な例:
# Create resource group with tags
az group create --name myResourceGroup --location eastus
az group update --name myResourceGroup --tags Environment=Production CostCenter=IT
# Deploy Bicep template with validation
az deployment group validate --resource-group myRG --template-file main.bicep
az deployment group create --resource-group myRG --template-file main.bicep --parameters vmName=myVM
# Lock resource group to prevent deletion
az lock create --name DontDelete --resource-group myResourceGroup --lock-type CanNotDelete
# Query resources by tag
az resource list --tag Environment=Production --query "[].{Name:name, Type:type}"
リソース階層:
Management Groups (optional)
└── Subscriptions (billing boundary)
└── Resource Groups (logical container)
└── Resources (VMs, databases, storage, etc.)
Bicep の基本: ARM テンプレートよりも簡潔な構文を使用する宣言型 IaC です。ARM JSON にトランスパイルされ、モジュール化して再利用できます。
タグ付け戦略: Environment、CostCenter、Owner、Application、Criticality、BackupPolicy
トピック 3:CLI とツール
Azure CLI(az)、Azure Developer CLI(azd)、および自動化のためのクエリパターンを使いこなします。
一般的な操作: 認証、JMESPath クエリ、一括操作、azd ワークフロー、PowerShell との連携
参照: 高度なスクリプトについては、@docs/cli-patterns.md を参照してください。
簡単な例:
# Azure CLI authentication
az login
az account set --subscription "My Subscription Name"
az account show
# JMESPath query patterns
az vm list --query "[?powerState=='VM running'].{Name:name, RG:resourceGroup}"
az resource list --query "[?contains(name, 'prod')]"
az vm list --query "sort_by([],&name)[0:5]" # Top 5 by name
# Azure Developer CLI (azd)
azd init --template todo-nodejs-mongo
azd up # provision + deploy in one command
azd env new development
azd monitor --logs
azd down # cleanup
JMESPath の基本: フィルター [?condition]、射影 [].{Name:name}、並べ替え sort_by([],&field)、包含判定 contains(name, 'str')
azd の構成: azure.yaml、infra/(main.bicep)、src/(アプリケーションコード)
PowerShell: Install-Module -Name Az、Connect-AzAccount、Get-AzVM
トピック 4:MCP 連携
Azure MCP(Model Context Protocol)を使用して、Claude Code やその他の AI ワークフローから AI を活用した Azure 操作を実行できるようにします。
一般的な操作: MCP を介したリソースの一覧表示、リソースプロパティのクエリ、MCP を介した az コマンドの実行、AI 主導の自動化
参照: ツールの完全なリファレンスについては、@docs/mcp-integration.md を参照してください。
簡単なセットアップ:
インストールして構成します:
npm install -g @modelcontextprotocol/server-azure
~/.config/claude-code/mcp.json に追加します:
{
"mcpServers": {
"azure": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-azure"],
"env": {
"AZURE_SUBSCRIPTION_ID": "your-subscription-id"
}
}
}
}
利用可能な MCP ツール:
azure_list_resources:種類やフィルターでリソースを一覧表示しますazure_get_resource:リソースの詳細情報を取得しますazure_list_users:Entra ID ユーザーを一覧表示しますazure_list_role_assignments:RBAC の割り当てを一覧表示しますazure_query:Azure Resource Graph クエリを実行しますazure_cli:任意の az CLI コマンドを実行します
使用例:
Claude Code に「サブスクリプション内で現在実行中の VM をすべて表示して」と尋ねます。
Claude Code は MCP ツールを使用します:
{
"tool": "azure_list_resources",
"parameters": {
"resourceType": "Microsoft.Compute/virtualMachines",
"filter": "powerState eq 'VM running'"
}
}
トピック 5:DevOps の自動化
CI/CD パイプライン、IaC、GitOps ワークフローを通じて Azure のデプロイを自動化します。
一般的な操作: Azure DevOps パイプライン、GitHub Actions との連携、Bicep のデプロイ、ブルーグリーンデプロイ、テスト
参照: 高度なパターンについては、@docs/devops-automation.md を参照してください。
簡単な例 - Azure DevOps YAML:
trigger:
- main
pool:
vmImage: "ubuntu-latest"
variables:
azureSubscription: "myServiceConnection"
stages:
- stage: Deploy
jobs:
- deployment: DeployInfra
environment: production
strategy:
runOnce:
deploy:
steps:
- task: AzureResourceManagerTemplateDeployment@3
inputs:
azureResourceManagerConnection: $(azureSubscription)
resourceGroupName: myRG
templateLocation: Linked artifact
csmFile: main.bicep
簡単な例 - GitHub Actions:
name: Deploy to Azure
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Azure Login
uses: azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
- name: Deploy Bicep
uses: azure/arm-deploy@v1
with:
resourceGroupName: myRG
template: ./infra/main.bicep
ベストプラクティス:
- すべての IaC を Git でバージョン管理します
- 再利用可能な Bicep モジュールを作成します
- 環境ごとにパラメーターファイルを分けます
- デプロイ前にテンプレートを検証します(what-if)
- アーキテクチャ上の決定事項を文書化します
トピック 6:コストとガバナンス
コスト管理、予算、ポリシーの適用を通じて、Azure の支出を監視し、最適化します。
一般的な操作: コスト分析、予算アラート、ポリシーの割り当て、クォータ管理、リソースの最適化
参照: 詳細な戦略については、@docs/cost-optimization.md をご覧ください。
簡単な例:
# View current month costs by resource group
az costmanagement query \
--type ActualCost \
--dataset-aggregation name=Cost,function=Sum \
--dataset-grouping name=ResourceGroup,type=Dimension \
--timeframe MonthToDate
# Get consumption usage details
az consumption usage list \
--start-date 2025-01-01 \
--end-date 2025-01-31 \
--query "[].{Date:usageStart, Service:meterName, Cost:pretaxCost}"
# Assign policy to enforce tagging
az policy assignment create \
--name "require-tag-environment" \
--policy "require-tag-on-resources" \
--params '{"tagName":{"value":"Environment"}}' \
--resource-group myRG
# Check VM quota usage
az vm list-usage --location eastus --output table
コスト最適化の戦略:
- リソースの適正化(適切な VM サイズを使用)
- 予約インスタンス(1~3 年の契約で 30~70% の節約)
- 耐障害性が求められるワークロードにはスポットインスタンスを使用
- 非本番環境向けに自動シャットダウンのスケジュールを設定
- ストレージ階層化(アクセス頻度の低いデータを Archive に移動)
- 未使用リソースを定期的にクリーンアップ
Azure Policy のユースケース:
- リソースへのタグ付けを必須にする
- リソースの配置場所を制限する
- 許可する VM SKU を制限する
- 保存データの暗号化を適用する
- コンプライアンスを監査する
トラブルシューティング
よくある問題
認証エラー:
az logout && az login --use-device-code
az account show # Verify tenant and subscription
アクセス許可が拒否される場合:
- RBAC を確認します:
az role assignment list --assignee {user-or-sp} - リソースプロバイダーを確認します:
az provider list --query "[?registrationState=='NotRegistered']" - 適切なスコープ(サブスクリプションとリソースグループのどちらか)を確認します
リソースが見つからない場合:
- サブスクリプションのコンテキストを確認します:
az account show - リソースグループが存在することを確認します:
az group exists --name {rg-name} - サブスクリプション全体を検索します:
az resource list --name {resource-name}
クォータを超過した場合:
az vm list-usage --location eastus --output table
# Request quota increase through Azure Portal or support ticket
CLI ツールの問題:
- 最新版に更新します:
az upgrade - キャッシュをクリアします:
rm -rf ~/.azure/ - 拡張機能を再インストールします:
az extension list-available
参照: 詳細なデバッグガイドについては、@docs/troubleshooting.md をご覧ください。
認定資格の取得パス
Azure Administrator Associate(AZ-104):
- 前提条件:Azure の実務経験が 6 か月あること
- 領域:ID、ガバナンス、ストレージ、コンピューティング、ネットワーク、監視
- 学習リソース:@references/az-104-guide.md
- 練習:Azure 無料アカウント、Microsoft Learn のラボ
次のステップ:
- Azure Solutions Architect Expert(AZ-305)
- Azure DevOps Engineer Expert(AZ-400)
- Azure Security Engineer Associate(AZ-500)
さらに学ぶ
ドキュメント:
- @docs/user-management.md - ユーザーと ID に関する操作の全般
- @docs/role-assignments.md - RBAC のパターンとカスタムロール
- @docs/resource-management.md - 高度なリソース操作
- @docs/mcp-integration.md - MCP ツールとワークフロー
- @docs/cli-patterns.md - 高度な CLI スクリプト
- @docs/devops-automation.md - CI/CD と GitOps
- @docs/cost-optimization.md - コスト管理の戦略
- @docs/troubleshooting.md - デバッグと問題解決
例:
- @examples/bulk-user-onboarding.md - ユーザーのプロビジョニングを自動化
- @examples/environment-setup.md - 環境全体のデプロイ
- @examples/role-audit.md - RBAC コンプライアンス監査
- @examples/mcp-workflow.md - AI を活用した Azure の操作
参考資料:
- @references/microsoft-learn.md - 公式の学習パス
- @references/az-104-guide.md - 認定資格の準備
- @references/api-references.md - API と SDK のドキュメント