Cloud Asset API では、カスタムクエリ言語を使用して、プロジェクト、フォルダ、組織内の Identity and Access Management(IAM)許可ポリシーを検索できます。
準備
プロジェクトで Cloud Asset API を有効にします。
呼び出し元に、
cloudasset.assets.searchAllIamPolicies
権限を含むロールが付与されていることを確認します。詳細については、アクセス制御のトピックをご覧ください。
許可ポリシーを検索する
コンソール
すべての IAM 許可ポリシーを検索するには、次の手順を行います。
Google Cloud コンソールの [アセット インベントリ] ページに移動します。
検索のスコープを設定するには、メニューバーで [プロジェクト] リストボックスを開き、クエリする組織、フォルダ、またはプロジェクトを選択します。
[IAM ポリシー] タブを選択します。
許可ポリシーを検索するには、プリセット クエリを使用するか、独自のクエリを作成します。
プリセット クエリを使用するには、[結果をフィルタする] ペインで [クエリのプリセット] からオプションを選択します。結果をフィルタするには、[フィルタ] からオプションを選択します。
独自のクエリを作成するには、[フィルタ] バーにクエリテキストを入力します。テキスト ボックスを選択して、検索可能なフィールドのリストを表示します。ポリシー検索では複数のフィールドがサポートされています。詳しくは、クエリ構文をご覧ください。
クエリに一致する許可ポリシーが [結果] テーブルに一覧表示されます。
クエリを Google Cloud CLI コマンドとして表示するには、[クエリを表示] を選択します。
結果をエクスポートするには、[CSV 形式でダウンロード] を選択します。
gcloud
SearchAllIamPolicies
は、gcloud asset search-all-iam-policies
コマンドを使用して呼び出せます。Google Cloud CLI のバージョン 302.0.0 以降を実行している必要があります。バージョンは、gcloud version
コマンドで確認できます。
gcloud asset search-all-iam-policies \
--scope=SCOPE \
--query="QUERY" \
--asset-types=ASSET_TYPE_1,ASSET_TYPE_2,... \
--order-by=ORDER_BY
次の値を指定します。
SCOPE
: 必須。プロジェクト、フォルダ、組織がスコープになります。検索は、このスコープ内の IAM 許可ポリシーに限定されます。呼び出し元には、選択したスコープに対するcloudasset.assets.searchAllIamPolicies
権限を持つロールが付与されている必要があります。権限を指定しない場合は、構成されたプロジェクト プロパティが使用されます。使用できる値は次のとおりです。
projects/PROJECT_ID
projects/PROJECT_NUMBER
Google Cloud プロジェクト番号を確認する方法
Console
Google Cloud プロジェクト番号を確認するには、次の手順を行います。
-
Google Cloud コンソールの [ダッシュボード] ページに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスで組織を選択し、プロジェクト名を検索します。
- プロジェクト名をクリックして、そのプロジェクトに切り替えます。プロジェクト番号が [プロジェクト情報] カードに表示されます。
gcloud CLI
Google Cloud プロジェクト番号を取得するには、次のコマンドを使用します。
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Google Cloud フォルダ ID を確認する方法
Console
Google Cloud フォルダ ID を確認するには、次の手順を行います。
-
Google Cloud コンソールに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスをクリックして、組織を選択します。
- フォルダ名を検索します。フォルダ ID がフォルダ名の横に表示されます。
gcloud CLI
組織レベルの Google Cloud フォルダ ID を取得するには、次のコマンドを使用します。
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
ここで、TOP_LEVEL_FOLDER_NAME は文字列の完全一致または部分一致です。
--format
オプションを削除すると、検出されたフォルダに関する詳細情報が表示されます。別のフォルダ内のフォルダの ID を取得するには、以下のとおりサブフォルダを一覧表示します。
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Google Cloud 組織 ID を確認する方法
Console
Google Cloud 組織 ID を確認するには、次の手順を行います。
-
Google Cloud コンソールに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスをクリックして、組織を選択します。
- [すべて] タブをクリックします。組織 ID が組織名の横に表示されます。
gcloud CLI
Google Cloud 組織 ID を取得するには、次のコマンドを使用します。
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
QUERY
: 省略可。クエリ ステートメント。詳細については、クエリ構文をご覧ください。指定しなかった場合、または空の場合は、指定されたscope
内のすべての IAM 許可ポリシーが検索されます。なお、クエリ文字列は、プリンシパル、ロール、IAM 条件を含む各許可ポリシー バインディングと比較されます。返される許可ポリシーには、クエリに一致するバインディングのみが含まれます。許可ポリシーの構造について詳しくは、ポリシーについてをご覧ください。例:
policy:amy@gmail.com
: ユーザー「amy@gmail.com」を指定する許可ポリシー バインディングを検索します。policy:roles/compute.admin
: Compute Admin ロールを指定する許可ポリシー バインディングを検索します。policy:comp*
: バインディングに接頭辞として「comp」が付いている単語を含む許可ポリシー バインディングを検索します。policy.role.permissions:storage.buckets.update
:「storage.buckets.update」権限を含む許可ポリシー バインディングを検索します。なお、目的のロールに対するiam.roles.get
権限を含むロールが呼び出し元に付与されていない場合、そのロールを指定する許可ポリシー バインディングは検索結果から除外されます。policy.role.permissions:upd*
: バインディング内の単語の接頭辞に「upd」を含むロールを指定する許可ポリシー バインディングを検索します。なお、目的のロールに対するiam.roles.get
権限を含むロールが呼び出し元に付与されていない場合、そのロールを指定する許可ポリシー バインディングは検索結果から除外されます。resource:organizations/123456
:「organizations/123456」に設定されている許可ポリシー バインディングを検索します。resource=//cloudresourcemanager.googleapis.com/projects/myproject
:「myproject」という名前のプロジェクトで設定されている許可ポリシー バインディングを検索します。Important
: 検索可能フィールドに「Important」という単語を含む許可ポリシー バインディングを検索します(含まれている権限を除く)。resource:(instance1 OR instance2) policy:amy
: ユーザー「amy」も指定して、リソース「instance1」または「instance2」に設定されている許可ポリシー バインディングを検索します。roles:roles/compute.admin
: Compute Admin ロールを指定する許可ポリシー バインディングを検索します。memberTypes:user
: 「user」プリンシパル タイプを含む許可ポリシー バインディングを検索します。
ASSET_TYPE
: 省略可。Identity and Access Management 許可ポリシーが関連付けられているアセットタイプのリスト。空の場合、すべての検索可能なアセットタイプに関連付けられている Identity and Access Management 許可ポリシーが検索されます。正規表現がサポートされています。正規表現が、サポートされているアセットタイプと一致しない場合は、INVALID_ARGUMENT
エラーが返されます。ORDER_BY
: 省略可。結果の並べ替え順序を指定するフィールドのカンマ区切りリスト。デフォルトの順序は昇順です。降順を適用するには、フィールド名の後にDESC
を追加します。重複したスペース文字は無視されます(例:"assetType DESC, resource"
)。レスポンス内の単一のプリミティブ フィールドのみを並べ替えることができます。resource
assetType
project
繰り返しフィールド(
folders
など)や非プリミティブ フィールド(policy
など)はサポートされていません。
gcloud
コマンドの例を以下に示します。
mycompany.com
ドメインを含むorganizations/123456
内の IAM 許可ポリシー バインディングをすべて検索します。gcloud asset search-all-iam-policies \ --scope=organizations/123456 \ --query="policy:\"domain:mycompany.com\""
myuser@mycompany.com
にオーナー(roles/owner
)基本ロールが付与されているorganizations/123456
内の IAM 許可ポリシー バインディングをすべて検索します。gcloud asset search-all-iam-policies \ --scope=organizations/123456 \ --query="policy:(roles/owner myuser@mycompany.com)"
projects/12345678
に設定されているorganizations/123456
内の IAM 許可ポリシー バインディングをすべて検索します。gcloud asset search-all-iam-policies \ --scope=organizations/123456 \ --query="resource:projects/12345678"
REST
SearchAllIamPolicies
は、プロジェクトで有効な OAuth トークンを使用して呼び出せます。Cloud Shell や gcloud
コマンドを使用できるコンソールから SearchAllIamPolicies
メソッドを呼び出すには、次のようにします。
プロジェクトの OAuth 同意画面を構成していない場合は、画面を構成する必要があります。この画面では、メールアドレスとプロダクト名が必要です。
プロジェクトの OAuth 同意画面に移動します。
[アプリケーション名] に、アプリケーションの表示名を入力します。
[サポートメール] で、一般公開される連絡先として表示するメールアドレスを選択します。これは、自分のメールアドレスまたは自分が所有する Google グループである必要があります。
任意の詳細を追加します。
[保存] をクリックします。
プロジェクトの OAuth トークンを作成します。詳しくは、OAuth 2.0 の設定をご覧ください。
OAuth クライアント ID の作成ページに移動します。
[デスクトップ アプリ] を [アプリケーションの種類] として選択します。
[作成] をクリックします。
client_secret.json
ファイルをダウンロードします。[認証情報] ページに移動します。
新しい [クライアント ID] の右側にある
[JSON をダウンロード] をクリックします。ご使用のアプリだけがアクセスできる場所に、ファイルを安全に保存します。
次のコマンドを使用して、JSON ファイルを使用してログインします。
gcloud auth application-default login --client-id-file=YOUR_JSON_FILE
このコマンドを実行すると、リンクを開くよう求めるメッセージが表示されます。OAuth 同意画面で設定したアプリケーション名がページに表示されるかを確認します。
curl
コマンドを使用して IAM 許可ポリシーを照会できるようになりました。curl -X POST \ -H "X-HTTP-Method-Override: GET" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "assetTypes": [ "ASSET_TYPE_1", "ASSET_TYPE_2", "..." ], "orderBy": "ORDER_BY", "pageSize": PAGE_SIZE, "query": "QUERY" }' \ https://cloudasset.googleapis.com/v1/SCOPE:searchAllIamPolicies
以下の詳細を提示します。
ASSET_TYPE
: 省略可。Identity and Access Management 許可ポリシーが関連付けられているアセットタイプのリスト。空の場合、すべての検索可能なアセットタイプに関連付けられている Identity and Access Management 許可ポリシーが検索されます。正規表現がサポートされています。正規表現が、サポートされているアセットタイプと一致しない場合は、INVALID_ARGUMENT
エラーが返されます。ORDER_BY
: 省略可。結果の並べ替え順序を指定するフィールドのカンマ区切りリスト。デフォルトの順序は昇順です。降順を適用するには、フィールド名の後にDESC
を追加します。重複したスペース文字は無視されます(例:"assetType DESC, resource"
)。レスポンス内の単一のプリミティブ フィールドのみを並べ替えることができます。resource
assetType
project
繰り返しフィールド(
folders
など)や非プリミティブ フィールド(policy
など)はサポートされていません。PAGE_SIZE
: 省略可。ページごとに返す結果の数を指定します。最大値は 2,000 です。値が0
または負の値に設定されている場合は、適切なデフォルト値が選択されます。後続の結果を取得するために、nextPageToken
が返されます。QUERY
: 省略可。クエリ ステートメント。詳細については、クエリ構文をご覧ください。指定しなかった場合、または空の場合は、指定されたscope
内のすべての IAM 許可ポリシーが検索されます。なお、クエリ文字列は、プリンシパル、ロール、IAM 条件を含む各許可ポリシー バインディングと比較されます。返される許可ポリシーには、クエリに一致するバインディングのみが含まれます。許可ポリシーの構造の詳細については、許可ポリシーについてをご覧ください。例:
policy:amy@gmail.com
: ユーザー「amy@gmail.com」を指定する許可ポリシー バインディングを検索します。policy:roles/compute.admin
: Compute Admin ロールを指定する許可ポリシー バインディングを検索します。policy:comp*
: バインディングに接頭辞として「comp」が付いている単語を含む許可ポリシー バインディングを検索します。policy.role.permissions:storage.buckets.update
:「storage.buckets.update」権限を含む許可ポリシー バインディングを検索します。なお、目的のロールに対するiam.roles.get
権限を含むロールが呼び出し元に付与されていない場合、そのロールを指定する許可ポリシー バインディングは検索結果から除外されます。policy.role.permissions:upd*
: バインディング内の任意の単語の接頭辞として、「upd」を含むロールの権限を指定する許可ポリシー バインディングを検索します。なお、目的のロールに対するiam.roles.get
権限を含むロールが呼び出し元に付与されていない場合、そのロールを指定する許可ポリシー バインディングは検索結果から除外されます。resource:organizations/123456
:「organizations/123456」に設定されている許可ポリシー バインディングを検索します。resource=//cloudresourcemanager.googleapis.com/projects/myproject
:「myproject」という名前のプロジェクトで設定されている許可ポリシー バインディングを検索します。Important
: 検索可能フィールドに「Important」という単語を含む許可ポリシー バインディングを検索します(含まれている権限を除く)。resource:(instance1 OR instance2) policy:amy
: リソース「instance1」または「instance2」に設定されている許可ポリシー バインディングを検索し、ユーザー「amy」も指定します。roles:roles/compute.admin
: Compute Admin ロールを指定する許可ポリシー バインディングを検索します。memberTypes:user
: 「user」プリンシパル タイプを含む許可ポリシー バインディングを検索します。
SCOPE
: プロジェクト、フォルダ、組織がスコープになります。検索は、このスコープ内の IAM 許可ポリシーに限定されます。呼び出し元には、選択したスコープに対するcloudasset.assets.searchAllIamPolicies
権限を持つロールが付与されている必要があります。権限を指定しない場合は、構成されたプロジェクト プロパティが使用されます。使用できる値は次のとおりです。
projects/PROJECT_ID
projects/PROJECT_NUMBER
Google Cloud プロジェクト番号を確認する方法
Console
Google Cloud プロジェクト番号を確認するには、次の手順を行います。
-
Google Cloud コンソールの [ダッシュボード] ページに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスで組織を選択し、プロジェクト名を検索します。
- プロジェクト名をクリックして、そのプロジェクトに切り替えます。プロジェクト番号が [プロジェクト情報] カードに表示されます。
gcloud CLI
Google Cloud プロジェクト番号を取得するには、次のコマンドを使用します。
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Google Cloud フォルダ ID を確認する方法
Console
Google Cloud フォルダ ID を確認するには、次の手順を行います。
-
Google Cloud コンソールに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスをクリックして、組織を選択します。
- フォルダ名を検索します。フォルダ ID がフォルダ名の横に表示されます。
gcloud CLI
組織レベルの Google Cloud フォルダ ID を取得するには、次のコマンドを使用します。
gcloud resource-manager folders list \ --organization=$(gcloud organizations describe ORGANIZATION_NAME \ --format="value(name.segment(1))") \ --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \ --format="value(ID)"
ここで、TOP_LEVEL_FOLDER_NAME は文字列の完全一致または部分一致です。
--format
オプションを削除すると、検出されたフォルダに関する詳細情報が表示されます。別のフォルダ内のフォルダの ID を取得するには、以下のとおりサブフォルダを一覧表示します。
gcloud resource-manager folders list --folder=FOLDER_ID
-
organizations/ORGANIZATION_ID
Google Cloud 組織 ID を確認する方法
Console
Google Cloud 組織 ID を確認するには、次の手順を行います。
-
Google Cloud コンソールに移動します。
- メニューバーの切り替えボックスをクリックします。
- [選択元] ボックスをクリックして、組織を選択します。
- [すべて] タブをクリックします。組織 ID が組織名の横に表示されます。
gcloud CLI
Google Cloud 組織 ID を取得するには、次のコマンドを使用します。
gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
-
クライアント ライブラリと API リファレンス
SearchAllIamPolicies
:
クエリの作成方法
クエリ言語に関する詳細は、クエリ構文をご覧ください。
さまざまな実用例でのサンプルクエリについては、IAM 許可ポリシーの検索のサンプルをご覧ください。
バインディング情報により IAM 許可ポリシーを照会する
IAM 許可ポリシーを検索するには、以下の形式のクエリ式を使用します。
policy:QUERY
次の形式で指定して、プリンシパル タイプやロールだけを検索することもできます。
完全一致:
memberTypes=QUERY
roles=QUERY
部分一致:
memberTypes:QUERY
roles:QUERY
プリンシパル
IAM 許可ポリシー バインディングでは、次の 5 種類のプリンシパルがサポートされています。
Google アカウント(例:
user:user@gmail.com
)Google グループ(例:
group:devs@googlegroups.com
)Cloud Identity および G Suite ドメイン(例:
domain:google.com
)サービス アカウント(例:
serviceAccount:my-other-app@appspot.gserviceaccount.com
)特殊識別子(例:
allUsers
、allAuthenticatedUsers
)
次の構文を使用して、特定のユーザーに関連する許可ポリシーにクエリを制限できます。
policy:"user:amy@mycompany.com"
なお、user:amy@mycompany.com
には特殊文字 :
が含まれているため、二重引用符で囲む必要があります。クエリ値が十分に一意である場合、またはプリンシパル タイプに関係なくメールアドレスを検索したい場合は、クエリ文字列の接頭辞 user:
または group:
を省略できます。たとえば、次のクエリは 1 人のユーザーにのみ一致すると考えられます。
policy:amy@mycompany.com
次の構文を使用して、クエリを特定のプリンシパル タイプに関連したポリシーに限定することもできます。
policy:user
memberTypes:user
memberTypes=user
policy:user
は異なるプリンシパル タイプと一致する場合があります。例: group:test-user@mycompany.com
memberTypes
を使用して、検索対象を特定のプリンシパル タイプに限定します。
例: プリンシパルによるクエリ
ユーザー
Amy
を指定する IAM 許可ポリシー バインディングをすべて検索します。policy:amy
ドメイン
mydomain.com
を指定する IAM 許可ポリシー バインディングをすべて検索します。policy:mydomain.com
ユーザー
Amy
とJohn
を指定する IAM 許可ポリシー バインディングをすべて検索します。policy:(amy john)
ユーザー
Amy
またはJohn
を指定するすべての IAM 許可ポリシー バインディングを検索します。policy:(amy OR john)
amy@mycompany.com
を含む組織内のすべての IAM 許可ポリシー バインディングを検索します。policy:amy@mycompany.com
mycompany.com
ドメインを含む組織内の IAM 許可ポリシー バインディングをすべて検索します。policy:"domain:mycompany.com"
mycompany.gserviceaccount.com
サービス アカウントにロールを割り当てるすべての IAM 許可ポリシー バインディングを検索します。policy:"serviceAccount:mycompany.gserviceaccount.com"
admins
グループにロールを割り当てる IAM 許可ポリシー バインディングをすべて検索します。policy:"group:admins"
すべてのユーザーにロールを割り当てるすべての IAM 許可ポリシー バインディングを検索します。
memberTypes:allUsers
すべての認証済みユーザーにロールを割り当てる IAM 許可ポリシー バインディングをすべて検索します。
memberTypes:allAuthenticatedUsers
amy@mycompany.com
またはmycompany.com
ドメインにロールを割り当てるすべての IAM 許可ポリシー バインディングを検索します。policy:(amy@mycompany.com OR "domain:mycompany.com")
ロール
IAM 許可ポリシー バインディングでは、さまざまな種類のロールがサポートされます。すべての IAM ロール名は roles/
接頭辞で始まります。
基本ロール: IAM 導入前に存在していた、オーナー(
roles/owner
)、編集者(roles/editor
)、閲覧者(roles/viewer
)の 3 つのロール。事前定義ロール: IAM では、さまざまなリソースへのアクセス権をきめ細かく付与する、事前定義されたロールを使用できます。すべての事前定義ロールをご覧ください。
カスタムロール: 選択された権限のリストを含むユーザー定義の IAM ロール。
次の構文を使用して、クエリを特定のロールに関連した許可ポリシーに限定できます。
policy:roles/role-name
roles:roles/role-name
roles=roles/role-name
なお、クエリ値が十分に一意である場合は、クエリ文字列で roles/
接頭辞を省略できます。たとえば、次のクエリはロール roles/cloudasset.owner
にのみ一致すると考えられます。
policy:cloudasset.owner
roles:cloudasset.owner
policy:cloudasset.owner
は異なるロールと一致する場合があります。たとえば、ロールがプリンシパル user:cloudasset.owner@mycompany.com
に付与されている場合です。roles
を使用して、検索対象を特定のロールに限定します。
例: ロールによるクエリ
owner
ロールを指定するすべての IAM 許可ポリシー バインディングを検索します。policy:roles/owner roles:roles/owner roles=roles/owner
amy@mycompany.com
にオーナーのロールを割り当てるすべての IAM 許可ポリシー バインディングを検索します。policy:(roles/owner amy@mycompany.com)
メールアドレスに
john
という単語が含まれるプリンシパルにcompute.admin
ロールを割り当てるすべての IAM 許可ポリシー バインディングを検索します。policy:(roles/compute.admin john)
接頭辞として「swe」または「sde」を持つユーザーに
viewer
のロールを付与する IAM 許可ポリシー バインディングをすべて検索します。policy:(roles/viewer (swe* OR sde*))
IAM の条件
IAM 許可ポリシー バインディングに condition
オブジェクトを含めると、Google Cloud リソースに対する条件付き、属性ベースのアクセス制御を定義して適用できます。詳しくは、IAM Conditions の概要をご覧ください。
次の構文を使用すると、特定の条件に関連する許可ポリシーにクエリを制限できます。
policy:condition_information
例: 条件によるクエリ
条件を指定するすべての IAM 許可ポリシー バインディングを検索します。そのタイトルまたは説明には「myCondition」という単語が含まれています。
policy:myCondition
式に「request.time」という属性が含まれる条件を指定するすべての IAM 許可ポリシー バインディングを検索します。
policy:"request.time"
含まれる権限により IAM 許可ポリシーを照会する
許可ポリシー内のロールには、権限のリストを含めることができます。詳細については、IAM 権限のリファレンスをご覧ください。クエリは、特定の権限を含む許可ポリシーに制限できます。クエリ式の形式は次のとおりです。
- 完全一致:
policy.role.permissions=QUERY
- 部分一致:
policy.role.permissions:QUERY
例: 権限によるクエリ
compute.instances.create
権限を含む IAM 許可ポリシー バインディングをすべて検索します。policy.role.permissions:compute.instances.create policy.role.permissions=compute.instances.create
compute.instances
に関連する権限を含む IAM 許可ポリシー バインディングをすべて検索します。policy.role.permissions:compute.instances
権限
cloudasset.assets.export...
(cloudasset.assets.exportAssets
、cloudasset.assets.exportIamPolicyAnalysis
など)を含む IAM 許可ポリシー バインディングをすべて検索します。policy.role.permissions:cloudasset.assets.export*
IAM 許可ポリシーを変更する権限を付与する IAM 許可ポリシー バインディングをすべて検索します。
policy.role.permissions:setIamPolicy
compute.instances.create
権限とcompute.disks.create
権限の両方を含むロールを持つ IAM 許可ポリシー バインディングをすべて検索します。policy.role.permissions:(compute.instances.create compute.disks.create)
compute.instances.create
ユーザーamy
を指定して、権限を含む IAM 許可ポリシー バインディングをすべて検索します。policy.role.permissions:compute.instances.create policy:amy policy.role.permissions=compute.instances.create policy:amy
関連付けられたリソースにより IAM 許可ポリシーを照会する
検索を実行するときに、リソースに直接設定された許可ポリシーのみを検索するために、完全なリソース名を指定できます。また、プロジェクト、フォルダ、または組織を指定して、指定したプロジェクト / フォルダ / 組織にあるリソースに設定された許可ポリシーのみを検索することもできます。クエリ式の形式は次のとおりです。
完全一致:
resource=QUERY
project=QUERY
folders=QUERY
organization=QUERY
部分一致:
resource:QUERY
project:QUERY
folders:QUERY
organization:QUERY
例: 関連付けられたリソースによるクエリ
完全なリソース名が
//cloudresourcemanager.googleapis.com/projects/myproject
と完全に一致するリソースで直接設定されている IAM 許可ポリシー バインディングをすべて検索します。resource=//cloudresourcemanager.googleapis.com/projects/myproject
完全なリソース名に
myproject
という単語を含むリソースで直接設定される IAM 許可ポリシー バインディングをすべて検索します。resource:myproject
完全なリソース名が、指定した接頭辞
myproj
を含むリソースに直接設定されている IAM 許可ポリシー バインディングをすべて検索します。resource:myproj*
任意のサービスタイプのリソースに直接設定されている IAM 許可ポリシー バインディングをすべて検索します。
resource:cloudresourcemanager
myproject
またはmyfolder
に設定されている IAM 許可ポリシー バインディングをすべて検索します。resource:(myproject OR myfolder)
cloudresourcemanager
リソースに設定されているすべての IAM 許可ポリシー バインディングを検索し、オーナーのロールをgmail.com
ユーザーに割り当てます。resource:cloudresourcemanager policy:(roles/owner gmail.com)
番号が
123
のproject
のリソースに設定されている IAM 許可ポリシー バインディングをすべて検索します。project:123
番号が
123
のfolder
に含まれるリソースに設定されているすべての IAM 許可ポリシー バインディングを検索します。folders:123
番号が
123
のorganization
のリソースに設定されている IAM 許可ポリシー バインディングをすべて検索します。organization:123
フリーテキストにより IAM 許可ポリシーを照会する
フィールドを指定せずに、フリーテキスト クエリを使用することもできます。クエリに一致する検索可能なフィールド(許可ポリシー バインディング フィールドやリソース フィールドなど)がある限り、レスポンスは許可ポリシーを返します。
例: フリーテキストによるクエリ
メタデータ フィールド(許可ポリシー バインディングやリソース フィールドなど)に
Important
という単語が含まれる、scope
内の IAM 許可ポリシー バインディングをすべて検索します。Important
メタデータ フィールド(許可ポリシー バインディングやリソース フィールドなど)に
import
という接頭辞がついた単語が含まれる、scope
内の IAM 許可ポリシー バインディングをすべて検索します。import*