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. 03JSONによる権限設定
  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 のチームメンバーとその権限を管理します。次の2つのレイヤーがあります。

  • ユーザー(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

コメント