关于 azure-admin
azure-admin 是面向 Azure 管理员、DevOps 工程师和开发者的管理技能,涵盖身份权限、资源部署、CLI、自动化与治理,并提供 Azure MCP 工作流指南。
主要功能
- 01Entra ID 身份与 RBAC 管理
- 02订阅、资源组与 Bicep 部署
- 03Azure CLI、azd 与 PowerShell 用法
- 04CI/CD 与基础设施自动化
- 05成本管理、策略与合规
- 06Azure MCP 工具与工作流指南
适用场景
- 01配置用户、服务主体和托管身份
- 02部署并查询 Azure 资源
- 03排查角色分配与权限问题
- 04通过 MCP 执行 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 管理技能
概述
此技能提供全面的 Azure 管理功能,涵盖身份管理、资源编排、CLI 工具和 DevOps 自动化。它集成了 Microsoft 的 Azure 生态系统,包括 Azure CLI (az)、Azure Developer CLI (azd)、Entra ID(原 Azure AD)和 Azure MCP(Model Context Protocol),支持 AI 驱动的工作流。
核心功能:
- 身份与访问管理:用户预配、RBAC、服务主体、托管标识
- 资源管理:订阅、资源组、ARM 模板、Bicep 部署
- CLI 与工具:az CLI 模式、azd 工作流、PowerShell 集成
- MCP 集成:用于 AI 驱动 Azure 操作的 Azure MCP 服务
- DevOps 自动化:CI/CD 管道、基础设施即代码、部署策略
- 成本与治理:预算管理、策略实施、合规性
目标受众:
- 管理 Azure 环境的云管理员
- 自动化 Azure 部署的 DevOps 工程师
- 实施 RBAC 和合规性的安全团队
- 使用 Azure 服务和 MCP 集成的开发者
理念契合: 此技能遵循 amplihack 原则:极致简洁、仅提供可运行的代码、明确的模块边界和系统化工作流。
快速参考矩阵
常见任务映射
| 任务 | 主要工具 | 次要工具 | 技能文档参考 |
|---|---|---|---|
| 创建用户帐户 | az cli | Entra ID Portal | @docs/user-management.md |
| 分配 RBAC 角色 | az cli | Azure Portal | @docs/role-assignments.md |
| 部署资源组 | az cli, Bicep | ARM 模板 | @docs/resource-management.md |
| 设置服务主体 | az cli | Portal | @docs/user-management.md#service-principals |
| 启用托管标识 | az cli | Portal | @docs/user-management.md#managed-identities |
| 创建资源 | az cli, azd | Portal, 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:身份与访问管理
通过 Entra ID 管理 Azure 身份:用户、组、服务主体、托管标识和 RBAC。
常见操作: 创建用户、管理组、分配角色、设置服务主体、配置托管标识、审核 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 帐户、基于组的权限
- 服务主体:应用身份验证,优先使用基于证书的身份验证
- 托管标识:由 Azure 管理的凭据,无需轮换密钥
- RBAC:在多个范围内使用所有者、参与者、读取者和自定义角色
- 安全性:强制实施 MFA、最小权限、定期访问审查
最佳实践:
- 使用组分配角色(而非单个用户)
- 优先使用托管标识,而非服务主体
- 每隔 90 天轮换一次服务主体凭据
- 将凭据存储在 Azure Key Vault 中
- 为所有管理帐户启用 MFA
主题 2:资源管理
通过订阅、资源组和基础设施即代码来组织和部署 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 基础知识: 声明式 IaC,语法比 ARM 模板更简洁,可转译为 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 管道、基础设施即代码和 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
最佳实践:
- 在 Git 中对所有 IaC 进行版本控制
- 创建可重复使用的 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%)
- 对容错工作负载使用 Spot 实例
- 为非生产环境设置自动关机计划
- 存储分层(将冷数据移至 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):
- 先修条件:6 个月 Azure 实践经验
- 领域:身份、治理、存储、计算、网络、监控
- 学习资源:@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 - 完整的用户和身份操作
- @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 文档