mcpField
A
azure-admin

azure-admin

github.com/rysweet云与 DevOps7680 次安装21 周前更新
代码仓库

关于 azure-admin

azure-admin 是面向 Azure 管理员、DevOps 工程师和开发者的管理技能,涵盖身份权限、资源部署、CLI、自动化与治理,并提供 Azure MCP 工作流指南。

主要功能

  1. 01Entra ID 身份与 RBAC 管理
  2. 02订阅、资源组与 Bicep 部署
  3. 03Azure CLI、azd 与 PowerShell 用法
  4. 04CI/CD 与基础设施自动化
  5. 05成本管理、策略与合规
  6. 06Azure MCP 工具与工作流指南

适用场景

  1. 01配置用户、服务主体和托管身份
  2. 02部署并查询 Azure 资源
  3. 03排查角色分配与权限问题
  4. 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.md
docs/
cli-patterns.md
cost-optimization.md
devops-automation.md
mcp-integration.md
resource-management.md
role-assignments.md
troubleshooting.md
user-management.md
examples/
bulk-user-onboarding.md
environment-setup.md
mcp-workflow.md
role-audit.md
references/
api-references.md
az-104-guide.md
microsoft-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 cliEntra ID Portal@docs/user-management.md
分配 RBAC 角色az cliAzure Portal@docs/role-assignments.md
部署资源组az cli, BicepARM 模板@docs/resource-management.md
设置服务主体az cliPortal@docs/user-management.md#service-principals
启用托管标识az cliPortal@docs/user-management.md#managed-identities
创建资源az cli, azdPortal, Terraform@docs/resource-management.md
查询资源az cli --queryJMESPath@docs/cli-patterns.md#querying
批量用户操作az cli + bashPowerShell@examples/bulk-user-onboarding.md
环境预配azdaz cli, Bicep@examples/environment-setup.md
审核角色分配az cliAzure Policy@examples/role-audit.md
成本分析az cli, Portal成本管理 API@docs/cost-optimization.md
MCP 集成Azure MCPaz cli@docs/mcp-integration.md
CI/CD 管道Azure DevOpsGitHub 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

成本优化策略:

  1. 调整资源规格(使用合适的 VM 规格)
  2. 预留实例(承诺 1 至 3 年可节省 30%–70%)
  3. 对容错工作负载使用 Spot 实例
  4. 为非生产环境设置自动关机计划
  5. 存储分层(将冷数据移至 Archive)
  6. 定期清理未使用的资源

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 文档

评论

支持 Markdown