gplay-user-management について
gplay CLIでGoogle Play Consoleのメンバーと権限を管理するスキルです。アカウント全体のユーザーと個別アプリへの権限付与を分け、アクセス制御を担当するチームが適用範囲を絞って権限を設定できます。
主な機能
- 01アカウント全体のユーザー管理
- 02個別アプリへのアクセス付与
- 03JSONによる権限設定
- 04更新マスクによる変更範囲の指定
- 05ユーザー削除によるアクセス取り消し
活用シーン
- 01対象アプリを限定してメンバーを追加
- 02読み取り専用またはリリース権限の設定
- 03デベロッパーアカウントのユーザー監査
- 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