Token导航 LogoToken导航TokenDH.com
Gcp Iam Recommender logo
运维云端未说明官方级别未说明来源级核验

Gcp Iam Recommender

MCP Server

一个帮助用户发现和分析在Google云平台上执行特定操作所需的最小权限IAM角色的服务。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
权限管理GoCursorCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

whhygee

提供方

whhygee

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

GCP IAM角色推荐器MCP服务器

MCP(模型上下文协议)服务器,帮助用户发现和分析在Google Cloud Platform上执行特定操作所需的最低权限IAM角色。

概述

此服务器提供:

  1. 交互式项目ID提示:向用户询问他们的GCP项目ID,并提供有用的指导
  2. 查询可授予的角色:分析GCP项目的所有可用IAM角色,并建议特定操作所需的最低权限
  3. 获取所有角色:检索并缓存所有GCP IAM角色以供分析

先决条件

  • 转到1.24或更高版本
  • 已安装并验证Google Cloud SDK(gcloud)
  • 正确的GCP项目访问和权限

安装

  1. 克隆或导航到此目录
  2. 安装依赖项:
   go mod tidy
  1. 构建服务器:
   make build

配置

服务器使用Google Cloud应用程序默认凭据。确保您已通过身份验证:

gcloud auth application-default login

可用提示

get_project_id

交互式地询问用户他们的GCP项目ID,并提供如何找到它的有用指导。

参数:

  • action (可选):用户想要执行的操作(提供上下文)

例子:

{
  "name": "get_project_id",
  "arguments": {
    "action": "add new secret value to secret manager"
  }
}

提示将引导用户使用以下方式查找他们的项目ID:

  • gcloud config get-value project
  • 谷歌云控制台
  • gcloud projects list

可用工具

1. query_grantable_roles

查询指定GCP项目的所有可授予IAM角色,并根据您要执行的操作提供智能建议。

参数:

  • project_id (必填):用于查询角色的GCP项目ID
  • action_description (必填):描述您想做什么(例如,“部署云功能”、“读取存储桶”)

例子:

{
  "name": "query_grantable_roles",
  "parameters": {
    "project_id": "my-gcp-project",
    "action_description": "deploy cloud functions and read from storage buckets"
  }
}

该工具将:

  • 列出项目的所有可授予角色
  • 使用关键字匹配分析您的动作描述
  • 推荐最合适的最低权限角色
  • 提供所有可用角色的综合表

2. fetch_all_roles

从Google Cloud获取所有IAM角色并将其缓存在本地以进行更快的分析。

参数:

  • force_refresh (可选):设置为“true”以强制刷新缓存,即使缓存存在

例子:

{
  "name": "fetch_all_roles",
  "parameters": {
    "force_refresh": "false"
  }
}

此工具将:

  • 从Google Cloud获取所有可用的IAM角色
  • 在本地缓存它们以提高性能
  • 提供已提取角色的摘要

3. get_instructions

获取AI代理选择正确IAM角色的说明。此工具提供了选择最低权限角色的指南。

工作流示例

角色发现工作流

  1. 了解您需要什么:
   # Use the MCP tool through Cursor or direct API call
   query_grantable_roles(
     project_id="my-project", 
     action_description="deploy cloud functions"
   )
  1. 获取建议:

该工具分析您的行为并推荐以下角色:

- roles/cloudfunctions.developer - roles/storage.objectViewer (如果功能需要存储访问) - roles/logging.logWriter (用于功能日志)

  1. 使用推荐的角色:

然后,您可以使用这些角色建议来:

- 在您的基础架构中以代码形式配置IAM策略 - 向管理员请求适当的权限 - 设置具有最低权限的服务帐户

智能角色分析

服务器包括智能关键字分析,以推荐适当的角色:

按服务划分的GCP IAM角色:

  • 存储/GCS: storage.objectViewer, storage.objectCreator, storage.objectAdmin
  • 计算/VM: compute.viewer, compute.instanceAdmin, compute.admin
  • GKE/Kubernetes: container.viewer, container.clusterViewer, container.clusterAdmin
  • 云功能: cloudfunctions.viewer, cloudfunctions.developer, cloudfunctions.admin
  • 云运行: run.viewer, run.developer, run.admin
  • 云SQL: cloudsql.viewer, cloudsql.client, cloudsql.admin
  • 发布/订阅: pubsub.viewer, pubsub.subscriber, pubsub.publisher, pubsub.admin
  • 国际机械师协会: iam.roleViewer, iam.securityReviewer, iam.roleAdmin
  • 秘密: secretmanager.viewer, secretmanager.secretAccessor, secretmanager.admin

建立和运行

# Build the server
make build

# Run the server locally
make run

# Install globally to PATH as 'gcp-iam-server'
make install

# Uninstall from PATH
make uninstall

# Clean build artifacts
make clean

运行后 make install,二进制文件将作为可用 gcp-iam-server 从系统中的任何地方。

项目结构

.
├── bin/                 # Compiled binaries
├── cmd/
│   ├── main.go         # Main application entry point
│   └── tools/          # MCP tool implementations
│       ├── query_grantable_roles.go
│       └── fetch_roles.go
├── Makefile            # Build commands
├── README.md           # This file
└── go.mod              # Go module definition

错误处理

服务器为常见问题提供明确的错误消息:

  • 项目ID无效或不存在
  • 身份验证失败
  • 网络连接问题
  • 缺少缓存的角色数据

安全考虑

  • 服务器遵循最小特权原则
  • 角色建议优先考虑最低限度的必要权限
  • 所有分析都是使用缓存的角色数据在本地执行的
  • 服务器在提出建议之前验证项目访问权限

与Cursor集成

此MCP服务器旨在与Cursor IDE无缝协作:

  1. 服务器使用MCP协议进行自然语言交互
  2. 通过表情符号和标记提供丰富的格式化输出
  3. 包括全面的错误处理和用户指导
  4. 支持交互式查询和程序化使用

光标MCP服务器配置

要将此GCP IAM服务器与Cursor一起使用,请将以下配置添加到Cursor设置中:

  1. 打开光标设置首选 CursorSettingsFeaturesMCP Servers
  2. 添加配置 (选择以下方法之一):

选项A:使用环境变量(推荐)

{
  "mcpServers": {
    "gcp-iam": {
      "name": "GCP IAM Recommender",
      "command": "${MCP_SERVERS_PATH}/iam/bin/server"
    }
  }
}

在shell中设置环境变量:

export MCP_SERVERS_PATH="/path/to/your/mcp-servers"

选项B:使用主目录中的相对路径

{
  "mcpServers": {
    "gcp-iam": {
      "name": "GCP IAM Recommender",
      "command": "~/path/to/gcp-iam-recommender/bin/server"
    }
  }
}

选项C:全局安装并使用二进制名称

{
  "mcpServers": {
    "gcp-iam": {
      "name": "GCP IAM Recommender",
      "command": "gcp-iam-server"
    }
  }
}

对于选项C,全局安装服务器:

make install  # This should install the binary to your PATH

重要提示:

  • 选择最适合您设置的选项
  • 确保服务器二进制文件是使用 make build 添加此配置之前
  • 服务器将自动缓存IAM角色以提高性能
  • 使用Google Cloud进行身份验证 gcloud auth application-default login
  1. 重新启动MCP 使更改生效
  1. 游标中的用法:配置后,您可以自然地与服务器交互:

- “从数据存储中删除记录需要什么IAM角色?” - “查找部署云功能的角色” - “获取从存储桶读取的最低权限角色”

服务器将根据您的操作描述提供智能建议,并帮助您了解GCP任务所需的确切权限。

故障排除

常见问题

  1. 身份验证错误:
   # Re-authenticate with Google Cloud
   gcloud auth application-default login
  1. 项目访问被拒绝:

- 确保您拥有查看项目IAM角色所需的权限 - 验证项目ID是否正确且处于活动状态

  1. 缺少角色缓存:

- 使用 fetch_all_roles 填充角色缓存的工具 - 确保您有互联网连接可以从Google Cloud获取

目录标签

目录标签

权限管理GoCursorIAM角色推荐本地部署最小权限Google云平台云安全

支持客户端

Cursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP