web-dev-qa-db-ja.com

Google Cloud ProjectのすべてのIAMユーザーをリストする方法

すべてのユーザーとプロジェクトに関連付けられたサービスアカウントを一覧表示できるようにしたい(できればgcloud CLIツールを使用しますが、必要に応じてAPI呼び出しを行ってください)。

this を使用して、プロジェクトに関連付けられているすべてのサービスアカウントを簡単に一覧表示できますが、すべてのユーザーも一覧表示できますか?私は次のようなものを期待していますが、ドコには何も見えません:

gcloud beta iam users list
13
Graham Polley

プロジェクト内のすべてのサービスアカウントを一覧表示する

次のコマンドは、プロジェクトに関連付けられているすべてのサービスアカウントを一覧表示します。

$ gcloud iam service-accounts list

NAME                                    EMAIL
Compute Engine default service account  [email protected]
dummy-sa-1                              dummy-sa-1@MY_PROJECT.iam.gserviceaccount.com

IAMロールを持つプロジェクト内のすべてのユーザーアカウントとサービスアカウントを一覧表示する

指定したプロジェクトでIAMロールを付与されているすべてのユーザー/サービスアカウントを一覧表示する場合は、次のコマンドを使用できます。

$ gcloud projects get-iam-policy MY_PROJECT

bindings:
- members:
  - serviceAccount:[email protected]
  - user:[email protected]
  role: roles/editor
- members:
  - user:[email protected]
  - user:[email protected]
  role: roles/owner
etag: ARBITRARY_ETAG_HERE
version: 1

出力のフォーマット

gcloudは、出力をjsonとしてフォーマットすることと、必要に応じて他の多くのカスタマイズをサポートします 。これは、特定の場合に解析したり、必要な情報のみを印刷したりするのが簡単かもしれません。

例:

# Prints the output as json instead of the default yaml format
$ gcloud projects get-iam-policy MY_PROJECT --format=json

# Display just the bindings in json format
$ gcloud projects get-iam-policy MY_PROJECT --format='json(bindings)'

# Display the bindings in a flattened format
$ $ gcloud projects get-iam-policy MY_PROJECT --format='flattened(bindings)'
23
Tuxdude

サービスアカウントを一覧表示する

$ gcloud iam service-accounts list

プロジェクトのロールのメンバーをリストする

$ gcloud projects get-iam-policy [project]

ロールへのユーザーの追加/影響

$ gcloud projects add-iam-policy-binding [project] \
--member="user:[email protected]" \
--role="roles/iam.serviceAccountUser" 

ユーザーを削除:

$ gcloud projects remove-iam-policy-binding [project] \
--member="user:[email protected]" \
--role="roles/iam.serviceAccountUser"

google-groupをロールに追加/影響します

$ gcloud projects add-iam-policy-binding [project] \
--member="group:[email protected]" \
--role="roles/storage.admin"
2
niainaLens

次のコマンドは、GCP組織全体のすべての非サービスアカウントを一覧表示します。

gcloud organizations get-iam-policy ORGANIZATION_ID | grep user\: | sort | uniq

組織IDを取得するには

gcloud organizations list
1
Buktop

次のコマンドは、GCPアカウント内のプロジェクトのメンバーを明確に表示できます:gcloud projects get-iam-policy $PROJECT_ID --flatten="bindings[].members" --format="table(bindings.members)"

0
JohnBegood