Cloud Asset API에서는 커스텀 쿼리 언어를 사용하여 프로젝트, 폴더 또는 조직에서 Identity and Access Management(IAM) 허용 정책을 검색할 수 있습니다.
시작하기 전에
프로젝트에서 Cloud Asset API를 사용 설정합니다.
호출자에게
cloudasset.assets.searchAllIamPolicies
권한이 있는 역할이 부여되었는지 확인합니다. 자세한 내용은 액세스 제어 항목을 참조하세요.
허용 정책 검색
콘솔
모든 IAM 허용 정책을 검색하려면 다음 단계를 완료합니다.
Google Cloud 콘솔에서 애셋 인벤토리 페이지로 이동합니다.
검색 범위를 설정하려면 메뉴 바에서 프로젝트 목록 상자를 연 후 쿼리할 조직, 폴더, 프로젝트를 선택합니다.
IAM 정책 탭을 선택합니다.
허용 정책을 검색하려면 사전 설정 쿼리를 사용하거나 고유 쿼리를 빌드할 수 있습니다.
사전 설정 쿼리를 사용하려면 필터 결과 창의 쿼리 사전 설정에서 옵션을 선택합니다. 결과를 필터링하려면 필터에서 옵션을 선택합니다.
자체 쿼리를 빌드하려면 필터 막대에 쿼리 텍스트를 입력합니다. 텍스트 상자를 선택한 후 검색 가능한 필드 목록이 표시됩니다. 정책 검색은 여러 필드를 지원합니다. 쿼리 구문에 대해 자세히 알아보세요.
쿼리와 일치하는 허용 정책이 결과 테이블에 나열됩니다.
Google Cloud CLI 명령어로 쿼리를 보려면 쿼리 보기를 선택합니다.
결과를 내보내려면 CSV 다운로드를 선택합니다.
gcloud
gcloud asset search-all-iam-policies
명령어를 사용하여 SearchAllIamPolicies
를 호출할 수 있습니다. 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 프로젝트 번호를 찾는 방법
콘솔
Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔의 대시보드 페이지로 이동합니다.
- 메뉴 바에서 전환 상자를 클릭합니다.
- 다음 조직에서 선택 상자에서 조직을 선택한 후 프로젝트 이름을 검색합니다.
- 프로젝트 이름을 클릭하여 해당 프로젝트로 전환합니다. 프로젝트 번호가 프로젝트 정보 카드에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Google Cloud 폴더 ID를 찾는 방법
콘솔
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를 찾는 방법
콘솔
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*
: 바인딩에서 'compt'가 모든 단어의 프리픽스로 포함된 허용 정책 바인딩을 찾습니다.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
: '사용자' 주 구성원 유형이 포함된 허용 정책 바인딩을 찾습니다.
ASSET_TYPE
: (선택사항) Identity and Access Management 허용 정책이 연결된 애셋 유형의 목록입니다. 비어 있으면 검색 가능한 애셋 유형에 연결된 Identity and Access Management 허용 정책을 검색합니다. 정규 표현식이 지원됩니다. 정규 표현식이 지원되는 애셋 유형과 일치하지 않으면INVALID_ARGUMENT
오류가 반환됩니다.ORDER_BY
: (선택사항) 결과의 정렬 순서를 지정하는 쉼표로 구분된 필드 목록입니다. 기본 순서는 오름차순입니다. 필드 이름 다음에DESC
를 추가하여 내림차순으로 표시합니다. 중복된 공백 문자는 무시됩니다. 예를 들면"assetType DESC, resource"
입니다. 응답의 단일 기본 필드만 정렬할 수 있습니다.resource
assetType
project
반복되는 입력란(예:
folders
) 및 기본이 아닌 필드(예:policy
)와 같은 다른 모든 필드는 지원되지 않습니다.
다음은 gcloud
명령어의 예시입니다.
organizations/123456
에서mycompany.com
도메인이 포함된 모든 IAM 허용 정책 바인딩을 찾습니다.gcloud asset search-all-iam-policies \ --scope=organizations/123456 \ --query="policy:\"domain:mycompany.com\""
organizations/123456
에서 소유자(roles/owner
) 기본 역할이myuser@mycompany.com
에 부여된 모든 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
프로젝트에 유효한 OAuth 토큰을 사용하여 SearchAllIamPolicies
를 호출할 수 있습니다. Cloud Shell 또는 gcloud
명령어를 사용할 수 있는 모든 콘솔에서 SearchAllIamPolicies
메서드를 호출하려면 다음 안내를 따르세요.
프로젝트의 OAuth 동의 화면을 구성하지 않은 경우 구성해야 합니다. 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*
: 바인딩에서 'compt'가 모든 단어의 프리픽스로 포함된 허용 정책 바인딩을 찾습니다.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
: '사용자' 주 구성원 유형이 포함된 허용 정책 바인딩을 찾습니다.
SCOPE
: 범위는 프로젝트, 폴더 또는 조직이 될 수 있습니다. 이 범위의 IAM 허용 정책으로 검색이 제한됩니다. 호출자는 선택된 범위에 대해cloudasset.assets.searchAllIamPolicies
권한이 있는 역할을 부여받아야 합니다. 지정하지 않으면 구성된 프로젝트 속성이 사용됩니다.허용되는 값은 다음과 같습니다.
projects/PROJECT_ID
projects/PROJECT_NUMBER
Google Cloud 프로젝트 번호를 찾는 방법
콘솔
Google Cloud 프로젝트 번호를 찾으려면 다음 단계를 완료합니다.
-
Google Cloud 콘솔의 대시보드 페이지로 이동합니다.
- 메뉴 바에서 전환 상자를 클릭합니다.
- 다음 조직에서 선택 상자에서 조직을 선택한 후 프로젝트 이름을 검색합니다.
- 프로젝트 이름을 클릭하여 해당 프로젝트로 전환합니다. 프로젝트 번호가 프로젝트 정보 카드에 표시됩니다.
gcloud CLI
다음 명령어를 사용하여 Google Cloud 프로젝트 번호를 검색할 수 있습니다.
gcloud projects describe PROJECT_ID --format="value(projectNumber)"
-
folders/FOLDER_ID
Google Cloud 폴더 ID를 찾는 방법
콘솔
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를 찾는 방법
콘솔
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 ID 및 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:
프리픽스를 생략할 수 있습니다. 예를 들어 다음 쿼리는 사용자 일치 항목만 검색합니다.
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/
프리픽스로 시작합니다.
기본 역할: 소유자(
roles/owner
), 편집자(roles/editor
), 뷰어(roles/viewer
)는 IAM 도입 전에도 존재했던 세 가지 역할입니다.사전 정의된 역할: 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 허용 정책 바인딩에는 Google Cloud 리소스에 대한 조건부의 속성 기반 액세스 제어를 정의하고 적용할 수 있도록 하는 condition
객체가 포함될 수 있습니다. 자세한 내용은 IAM 조건 개요를 참조하세요.
다음 구문을 사용하여 특정 조건과 관련된 허용 정책으로 쿼리를 제한할 수 있습니다.
policy:condition_information
예시: 조건으로 쿼리
제목 및 설명에 'myCondition' 단어가 포함된 조건을 지정하는 모든 IAM 허용 정책 바인딩을 찾습니다.
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...
권한을 포함하는 모든 IAM 허용 정책 바인딩을 찾습니다(예:cloudasset.assets.exportAssets
및cloudasset.assets.exportIamPolicyAnalysis
).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
권한이 포함된 모든 IAM 허용 정책 바인딩을 찾고 사용자amy
를 지정합니다.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)
project
의 번호가123
인 리소스에 설정된 모든 IAM 허용 정책 바인딩을 찾습니다.project:123
번호가
123
인folder
에 포함된 리소스에 설정된 모든 IAM 허용 정책 바인딩을 찾습니다.folders:123
organization
의 번호가123
인 리소스에 설정된 모든 IAM 허용 정책 바인딩을 찾습니다.organization:123
자유 텍스트로 IAM 허용 정책 쿼리
필드를 지정하지 않고 자유 텍스트 쿼리를 사용할 수도 있습니다. 쿼리와 일치하는 검색 가능한 필드(예: 허용 정책 바인딩 필드 또는 리소스 필드)가 있는 한 응답이 허용 정책을 반환합니다.
예시: 자유 텍스트로 쿼리
해당
scope
에서 메타데이터 필드(예: 허용 정책 바인딩 또는 리소스 필드)에Important
가 단어로 포함된 모든 IAM 허용 정책 바인딩을 찾습니다.Important
scope
에서 메타데이터 필드(예: 허용 정책 바인딩, 리소스 필드)에 모든 단어의 프리픽스로import
가 포함된 모든 IAM 허용 정책 바인딩을 찾습니다.import*