mcpField
G
gplay-user-management

gplay-user-management

github.com/tamtom安全52343 次安装13 周前更新
代码仓库

关于 gplay-user-management

通过 gplay CLI 管理 Google Play Console 的团队用户及其权限,区分开发者账号级用户与单个应用的授权。适合负责访问控制的团队,并支持按最小权限原则分配权限。

主要功能

  1. 01列出和管理账号级用户
  2. 02为单个应用配置授权
  3. 03通过 JSON 设置权限
  4. 04使用更新掩码限定变更
  5. 05删除用户以撤销访问

适用场景

  1. 01为团队成员开通指定应用权限
  2. 02配置只读或发布管理权限
  3. 03审计开发者账号用户
  4. 04成员离职时撤销全部访问

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tamtom/gplay-cli-skills --skill gplay-user-management

安装后在 Claude Code 中输入/gplay-user-management确认已加载。

详细介绍

用户与授权管理

在 Google Play Console 中管理团队成员及其权限。分为两个层级:

  • 用户(gplay users)——整个账号的成员。此处的权限(*_GLOBAL、CAN_SEE_ALL_APPS)适用于整个开发者账号。
  • 授权(gplay grants)——用户对单个应用的访问权限。此处的权限仅适用于一个软件包。

使用 用户 将他人添加到账号(可选授予账号级权限)。使用 授权,在不授予账号级访问权限的情况下,让现有用户访问特定应用。遵循最小权限原则:优先使用按应用授权,而非全局权限。

前提条件

  • 已设置凭据(gplay auth login 或 GPLAY_SERVICE_ACCOUNT)。
  • 服务账号需要具备管理用户的权限(CAN_MANAGE_PERMISSIONS_GLOBAL)。
  • 每条命令都需要 开发者 ID。使用 --developer 传入。可在 Play Console 的 URL 中找到(play.google.com/console/u/0/developers/<DEVELOPER_ID>/...)。

关键概念

  • 参数是 --developer(开发者 ID),不是 --developer-id。
  • 没有 --role 或 --permissions 参数。权限通过 --json 以 JSON 请求体的形式提供。
  • --json 接受内联 JSON 字符串 或 @path/to/file.json。
  • 用户 JSON 键:developerAccountPermissions(账号级)。授权 JSON 键:appLevelPermissions(按应用)。
  • delete 需要 --confirm——这是一个防误操作保护措施,删除不可撤销。

用户(账号级)

# List users
gplay users list --developer DEVELOPER_ID
gplay users list --developer DEVELOPER_ID --paginate --page-size 50
gplay users list --developer DEVELOPER_ID --output table

# Create a user (inline JSON)
gplay users create \
  --developer DEVELOPER_ID \
  --email [email protected] \
  --json '{"developerAccountPermissions":["CAN_SEE_ALL_APPS"]}'

# Create with an expiration and JSON from a file
gplay users create \
  --developer DEVELOPER_ID \
  --email [email protected] \
  --json @perms.json

# Update a user's account-wide permissions
gplay users update \
  --developer DEVELOPER_ID \
  --email [email protected] \
  --json '{"developerAccountPermissions":["CAN_SEE_ALL_APPS","CAN_VIEW_FINANCIAL_DATA_GLOBAL"]}'

# Delete a user (requires --confirm)
gplay users delete \
  --developer DEVELOPER_ID \
  --email [email protected] \
  --confirm

用户 JSON 请求体(expirationTime 为可选项,采用 RFC 3339 格式):

{
  "developerAccountPermissions": [
    "CAN_SEE_ALL_APPS",
    "CAN_VIEW_FINANCIAL_DATA_GLOBAL"
  ],
  "expirationTime": "2025-12-31T23:59:59Z"
}

update 也接受 --update-mask(以逗号分隔的字段),用于仅更新特定字段;如果省略,则应用请求体中的所有字段。

账号级权限(用户)

CAN_SEE_ALL_APPS、CAN_VIEW_FINANCIAL_DATA_GLOBAL、CAN_MANAGE_PERMISSIONS_GLOBAL、 CAN_EDIT_GAMES_GLOBAL、CAN_PUBLISH_GAMES_GLOBAL、CAN_REPLY_TO_REVIEWS_GLOBAL、 CAN_MANAGE_PUBLIC_APKS_GLOBAL、CAN_MANAGE_TRACK_APKS_GLOBAL、CAN_MANAGE_TRACK_USERS_GLOBAL、 CAN_MANAGE_PUBLIC_LISTING_GLOBAL、CAN_MANAGE_DRAFT_APPS_GLOBAL、 CAN_CREATE_MANAGED_PLAY_APPS_GLOBAL、CAN_CHANGE_MANAGED_PLAY_SETTING_GLOBAL、 CAN_MANAGE_ORDERS_GLOBAL

授权(按应用)

# Grant a user access to one app
gplay grants create \
  --developer DEVELOPER_ID \
  --email [email protected] \
  --package com.example.app \
  --json '{"appLevelPermissions":["CAN_ACCESS_APP","CAN_MANAGE_PUBLIC_APKS"]}'

# Update an app grant
gplay grants update \
  --developer DEVELOPER_ID \
  --email [email protected] \
  --package com.example.app \
  --json '{"appLevelPermissions":["CAN_ACCESS_APP","CAN_MANAGE_PUBLIC_LISTING"]}'

# Revoke an app grant (requires --confirm)
gplay grants delete \
  --developer DEVELOPER_ID \
  --email [email protected] \
  --package com.example.app \
  --confirm

授权 JSON 请求体:

{
  "appLevelPermissions": [
    "CAN_ACCESS_APP",
    "CAN_MANAGE_PUBLIC_APKS"
  ]
}

update 也接受 --update-mask。

应用级权限(授权)

CAN_ACCESS_APP(基本访问权限)、CAN_VIEW_FINANCIAL_DATA、CAN_MANAGE_PERMISSIONS、 CAN_REPLY_TO_REVIEWS、CAN_MANAGE_PUBLIC_APKS(正式版发布)、 CAN_MANAGE_TRACK_APKS(测试轨道)、CAN_MANAGE_TRACK_USERS(测试人员)、 CAN_MANAGE_PUBLIC_LISTING、CAN_MANAGE_DRAFT_APPS、CAN_MANAGE_ORDERS

权限配置示例

使用上述常量构建 JSON 请求体。任何应用授权都必须包含 CAN_ACCESS_APP。

只读查看者(按应用):

{"appLevelPermissions":["CAN_ACCESS_APP"]}

发布管理者(按应用):

{"appLevelPermissions":["CAN_ACCESS_APP","CAN_MANAGE_PUBLIC_APKS","CAN_MANAGE_TRACK_APKS","CAN_MANAGE_TRACK_USERS","CAN_MANAGE_DRAFT_APPS"]}

财务(按应用):

{"appLevelPermissions":["CAN_ACCESS_APP","CAN_VIEW_FINANCIAL_DATA","CAN_MANAGE_ORDERS"]}

账号级财务权限(用户):

{"developerAccountPermissions":["CAN_SEE_ALL_APPS","CAN_VIEW_FINANCIAL_DATA_GLOBAL"]}

工作流

为成员开通特定应用的访问权限——创建用户时仅授予最少的账号级权限(也可以不授予),然后添加按应用授权:

gplay users create --developer DEVELOPER_ID --email [email protected] \
  --json '{"developerAccountPermissions":[]}'
gplay grants create --developer DEVELOPER_ID --email [email protected] \
  --package com.example.app --json '{"appLevelPermissions":["CAN_ACCESS_APP","CAN_MANAGE_PUBLIC_APKS"]}'

移除成员——删除用户,一次性撤销其所有访问权限:

gplay users delete --developer DEVELOPER_ID --email [email protected] --confirm

审计——以表格形式列出所有人:

gplay users list --developer DEVELOPER_ID --paginate --output table

评论

支持 Markdown