이 페이지에서는 리소스 구성 및 사용에 대한 발견 항목인 조직 정책 통계를 관리하는 방법을 보여줍니다. 조직 정책 통계를 사용하면 조직 정책에 의해 보호되지 않는 리소스를 식별하는 데 도움이 됩니다.
조직 정책 통계는 경우에 따라 조직 정책 권장사항과 연결됩니다. 조직 정책 권장사항은 조직 정책 통계에서 식별된 문제를 해결하기 위해 취할 수 있는 작업을 추천합니다.
시작하기 전에
-
Enable the Recommender API.
- 조직 정책 권장사항을 숙지합니다.
- 선택사항: 추천자 통계를 읽습니다.
필요한 역할
조직 정책 통계를 보고 수정하는 데 필요한 권한을 얻으려면 관리자에게 통계를 관리하려는 리소스 (프로젝트, 폴더 또는 조직)에 대해 조직 정책 추천 관리자 (roles/recommender.orgPolicyAdmin
) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이 사전 정의된 역할에는 조직 정책 통계를 보고 수정하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
조직 정책 통계를 보고 수정하려면 다음 권한이 필요합니다.
-
recommender.orgPolicyInsights.get
-
recommender.orgPolicyInsights.list
-
recommender.orgPolicyInsights.update
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
조직 정책 통계 나열
프로젝트, 폴더 또는 조직의 모든 조직 정책 통계를 나열하려면 다음 방법 중 하나를 사용합니다.gcloud
프로젝트, 폴더, 조직의 모든 조직 정책 통계를 확인하려면 gcloud recommender
insights list
명령어를 사용하세요.
명령어를 실행하기 전에 다음 값을 바꿉니다.
-
RESOURCE_TYPE
: 통계를 나열할 리소스 유형입니다.project
,folder
, 또는organization
값을 사용합니다. -
RESOURCE_ID
: 통계를 나열할 프로젝트, 폴더, 또는 조직의 ID입니다.
gcloud recommender insights list --insight-type=google.orgpolicy.policy.Insight \ --RESOURCE_TYPE=RESOURCE_ID \ --location=global
출력에는 프로젝트, 폴더 또는 조직의 모든 조직 정책 통계가 나열됩니다. 예를 들면 다음과 같습니다.
INSIGHT_ID CATEGORY INSIGHT_STATE LAST_REFRESH_TIME SEVERITY INSIGHT_SUBTYPE DESCRIPTION 66d543f3-845d-49d6-a26b-80d84804d8a8 SECURITY ACTIVE 2024-12-10T08:00:00Z HIGH RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION Scanned 3 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.
REST
Recommender API의 insights.list
메서드는 프로젝트, 폴더 또는 조직의 모든 조직 정책 통계를 나열합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
-
RESOURCE_TYPE
: 통계를 나열할 리소스 유형입니다.projects
,folders
, 또는organizations
값을 사용합니다. -
RESOURCE_ID
: 통계를 나열할 프로젝트, 폴더, 또는 조직의 ID입니다. PROJECT_ID
: Google Cloud 프로젝트 ID입니다. 프로젝트 ID는my-project
와 같은 영숫자 문자열입니다.
HTTP 메서드 및 URL:
GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
응답에는 프로젝트, 폴더, 조직에 대한 모든 조직 정책 통계가 나열됩니다. 예를 들면 다음과 같습니다.
[ { "associatedRecommendations": [ { "recommendation": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f" } ], "category": "SECURITY", "content": { "consolidatedPolicy": { "inheritFromParent": false, "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation", "policyRules": { "rules": [ { "enforce": false } ] }, "reset": false }, "constraint": { "id": "constraints/iam.managed.disableServiceAccountKeyCreation", "name": "Disable service account key creation" }, "evaluatedResources": [ { "numOfResources": "2", "resourceType": "iam.googleapis.com/ServiceAccountKey" }, { "numOfResources": "1", "resourceType": "cloudresourcemanager.googleapis.com/Project" } ], "violations": [ { "numOfResources": "0", "resourceType": "iam.googleapis.com/ServiceAccountKey" }, { "numOfResources": "0", "resourceType": "cloudresourcemanager.googleapis.com/Project" } ] }, "description": "Scanned 3 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.", "etag": "\"9a1ad019022f9f56\"", "insightSubtype": "RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION", "lastRefreshTime": "2024-12-07T08:00:00Z", "name": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8", "observationPeriod": "86400s", "severity": "HIGH", "stateInfo": { "state": "ACTIVE", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } }, "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ] } ]
통계 구성요소에 대한 자세한 내용은 이 페이지의 조직 정책 통계 검토를 참고하세요.
단일 조직 정책 통계 가져오기
통계 설명, 상태, 관련 권장사항을 포함하여 단일 통계에 대한 자세한 내용을 보려면 다음 메서드 중 하나를 사용하세요.
gcloud
통계 ID와 함께 gcloud recommender
insights describe
명령어를 사용하여 단일 통계에 대한 정보를 확인합니다.
-
INSIGHT_ID
: 보려는 통계의 ID입니다. ID를 찾으려면 프로젝트, 폴더, 또는 조직의 통계를 나열하세요. -
RESOURCE_TYPE
: 통계를 관리할 리소스 유형입니다.project
,folder
, 또는organization
값을 사용합니다. -
RESOURCE_ID
: 통계를 관리하려는 프로젝트, 폴더, 또는 조직의 ID입니다.
gcloud recommender insights describe INSIGHT_ID \ --insight-type=google.orgpolicy.policy.Insight \ --RESOURCE_TYPE=RESOURCE_ID \ --location=global
출력에 통계가 자세히 표시됩니다. 예를 들어 두 리소스의 외부 서비스 계정 키를 분석한 결과 위반사항이 감지되지 않았습니다.
associatedRecommendations: - recommendation: projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f category: SECURITY content: consolidatedPolicy: inheritFromParent: false name: 'projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation' policyRules: rules: [ "enforce": false ] reset: false constraint: { id: constraints/iam.managed.disableServiceAccountKeyCreation name: Disable service account key creation } evaluatedResources: - numOfResources: '1' resourceType: cloudresourcemanager.googleapis.com/Project - numOfResources: '2' resourceType: iam.googleapis.com/ServiceAccountKey violations: - numOfResources: '0' resourceType: iam.googleapis.com/ServiceAccountKey - numOfResources: '0' resourceType: cloudresourcemanager.googleapis.com/Project description: Scanned 3 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation. etag: '"34ddfdcefd214fd7"' insightSubtype: RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION lastRefreshTime: '2024-12-10T08:00:00Z' name: projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8 observationPeriod: 86400s severity: HIGH stateInfo: state: ACTIVE targetResources: - //cloudresourcemanager.googleapis.com/projects/123456789012
통계 구성요소에 대한 자세한 내용은 이 페이지의 조직 정책 통계 검토를 참고하세요.
REST
Recommender API의 insights.get
메서드는 단일 통계를 가져옵니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
-
RESOURCE_TYPE
: 통계를 관리할 리소스 유형입니다.projects
,folders
, 또는organizations
값을 사용합니다. RESOURCE_ID
: 통계를 관리하려는 프로젝트, 폴더, 또는 조직의 ID입니다.-
INSIGHT_ID
: 보려는 통계의 ID입니다. 통계 ID를 모르는 경우 프로젝트, 폴더, 또는 조직에서 통계를 나열하여 찾을 수 있습니다. 통계 ID는 통계의name
필드에서insights/
다음에 오는 모든 문자입니다. PROJECT_ID
: Google Cloud 프로젝트 ID입니다. 프로젝트 ID는my-project
와 같은 영숫자 문자열입니다.
HTTP 메서드 및 URL:
GET https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/INSIGHT_ID
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
응답에 통계가 포함됩니다. 예를 들어 두 리소스의 외부 서비스 계정 키를 분석한 결과 위반사항이 감지되지 않았습니다.
[ { "associatedRecommendations": [ { "recommendation": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f" } ], "category": "SECURITY", "content": { "consolidatedPolicy": { "inheritFromParent": false, "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation", "policyRules": { "rules": [ { "enforce": false } ] }, "reset": false }, "constraint": { "id": "constraints/iam.managed.disableServiceAccountKeyCreation", "name": "Disable service account key creation" }, "evaluatedResources": [ { "numOfResources": "1", "resourceType": "cloudresourcemanager.googleapis.com/Project" }, { "numOfResources": "2", "resourceType": "iam.googleapis.com/ServiceAccountKey" } ], "violations": [ { "numOfResources": "0", "resourceType": "iam.googleapis.com/ServiceAccountKey" }, { "numOfResources": "0", "resourceType": "cloudresourcemanager.googleapis.com/Project" } ] }, "description": "Scanned 2 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.", "etag": "\"9a1ad019022f9f56\"", "insightSubtype": "RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION", "lastRefreshTime": "2024-12-03T08:00:00Z", "name": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8", "observationPeriod": "86400s", "severity": "HIGH", "stateInfo": { "state": "ACTIVE", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } }, "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ] } ]
통계 구성요소에 대한 자세한 내용은 이 페이지의 조직 정책 통계 검토를 참고하세요.
조직 정책 통계 검토
단일 통계를 가져온 후 콘텐츠를 검토하여 위반사항을 비롯하여 리소스에 적용된 조직 정책의 구성을 파악할 수 있습니다.
조직 정책 통계(google.orgpolicy.policy.Insight
) 통계에는 다음과 같은 구성요소가 있습니다(순서는 다름).
-
associatedRecommendations
: 통계와 연결된 모든 추천의 식별자입니다. 통계와 연결된 권장사항이 없으면 이 필드는 비어 있습니다. -
category
: 조직 정책 통계의 카테고리는 항상SECURITY
입니다. -
content
: 분석된 리소스 및 조직 정책에 관한 세부정보를 제공합니다. 이 필드에는 다음 구성요소가 포함됩니다.-
constraint
: 분석된 제약조건입니다. -
consolidatedPolicy
: 분석된 리소스의 조직 정책입니다. -
evaluatedResources
: 통계를 생성하기 위해 평가된 리소스입니다. -
violations
: 조직 정책을 위반하는 리소스의 수 및 유형입니다.
-
-
description
: 인간이 읽을 수 있는 통계 요약입니다. -
etag
: 통계의 현재 상태에 대한 고유 식별자입니다. 통계가 변경될 때마다 새etag
값이 할당됩니다.통계 상태를 변경하려면 기존 통계의
etag
를 제공해야 합니다.etag
를 사용하면 마지막으로 검색한 후 통계가 변경되지 않은 경우에만 작업이 실행됩니다. -
insightSubtype
: 통계 하위유형입니다. -
lastRefreshTime
: 통계가 마지막으로 갱신된 날짜로, 통계를 생성하는 데 사용된 데이터의 최신 상태를 나타냅니다. -
name
: 다음 형식의 통계 이름입니다.RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/INSIGHT_ID
자리표시자의 값은 다음과 같습니다.
-
RESOURCE_TYPE
: 통계가 생성된 리소스 유형입니다. -
RESOURCE_ID
: 통계가 생성된 프로젝트, 폴더 또는 조직의 ID입니다. INSIGHT_ID
: 통계의 고유 ID입니다.
-
-
observationPeriod
: 통계까지 이어지는 기간입니다. 통계를 생성하는 데 사용되는 소스 데이터는lastRefreshTime
에 종료되며lastRefreshTime
에서observationPeriod
를 뺀 시간에 시작합니다. -
severity
: 통계의 심각도입니다. 조직 정책 통계의 심각도는HIGH
입니다. -
stateInfo
: 통계는 제안된 후 여러 상태로 전환됩니다.-
ACTIVE
: 통계가 생성되었지만 작업이 수행되지 않았거나 통계의 상태를 업데이트하지 않고 작업이 수행되었습니다. 활성 통계는 기본 데이터가 변경되면 업데이트됩니다. -
ACCEPTED
: 통계를 기반으로 몇몇 작업이 실행되었습니다. 관련 권장사항이CLAIMED
,SUCCEEDED
또는FAILED
로 표시되었거나 통계가 직접 수락되면 통계가 수락됩니다. 통계 상태가ACCEPTED
일 때는 통계 내용을 변경할 수 없습니다. 수락된 통계는 수락된 날로부터 90일 동안 보관됩니다.
-
-
targetResources
: 통계의 대상인 프로젝트, 폴더 또는 조직의 전체 리소스 이름 입니다. 예를 들면//cloudresourcemanager.googleapis.com/projects/1234567890
입니다.
조직 정책 통계를 ACCEPTED
로 표시
활성 통계를 기반으로 작업을 수행하는 경우 통계를 ACCEPTED
로 표시할 수 있습니다. ACCEPTED
상태는 이 통계를 기반으로 작업을 수행했음을 Recommender API에 알려주므로 권장사항을 개선하는 데 도움이 됩니다.
허용된 통계는 ACCEPTED
로 표시된 후 90일 동안 보관됩니다.
gcloud
통계 ID와 함께 gcloud recommender insights mark-accepted
명령어를 사용하여 통계를 ACCEPTED
로 표시합니다.
-
INSIGHT_ID
: 보려는 통계의 ID입니다. ID를 찾으려면 프로젝트, 폴더, 또는 조직의 통계를 나열하세요. -
RESOURCE_TYPE
: 통계를 관리할 리소스 유형입니다.project
,folder
, 또는organization
값을 사용합니다. -
RESOURCE_ID
: 통계를 관리하려는 프로젝트, 폴더, 또는 조직의 ID입니다. -
ETAG
: 통계 버전의 식별자입니다.etag
를 가져오려면 다음 안내를 따르세요.-
gcloud recommender insights describe
명령어를 사용하여 통계를 가져옵니다. -
출력에서
etag
값(큰따옴표 포함)을 찾아 복사합니다. 예를 들면"d3cdec23cc712bd0"
입니다.
-
gcloud recommender insights mark-accepted INSIGHT_ID \ --insight-type=google.orgpolicy.policy.Insight \ --RESOURCE_TYPE=RESOURCE_ID \ --location=global \ --etag=ETAG
출력에 ACCEPTED
상태와 함께 통계가 표시됩니다.
associatedRecommendations: - recommendation: folders/234567890123/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f category: SECURITY content: consolidatedPolicy: inheritFromParent: false name: 'projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation' policyRules: rules: [ "enforce": false ] reset: false constraint: { id: constraints/iam.managed.disableServiceAccountKeyCreation name: Disable service account key creation } evaluatedResources: - numOfResources: '0' resourceType: iam.googleapis.com/ServiceAccountKey - numOfResources: '1' resourceType: cloudresourcemanager.googleapis.com/Folder - numOfResources: '1' resourceType: cloudresourcemanager.googleapis.com/Project violations: - numOfResources: '0' resourceType: iam.googleapis.com/ServiceAccountKey - numOfResources: '0' resourceType: cloudresourcemanager.googleapis.com/Folder - numOfResources: '0' resourceType: cloudresourcemanager.googleapis.com/Project description: Scanned 2 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyUpload. etag: '"2cbb89b22fe2dab7"' insightSubtype: RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_UPLOAD lastRefreshTime: '2024-12-10T08:00:00Z' name: folders/234567890123/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8 observationPeriod: 86400s severity: HIGH stateInfo: state: ACCEPTED targetResources: - //cloudresourcemanager.googleapis.com/folders/234567890123
통계 상태 정보에 대한 자세한 내용은 이 페이지의 조직 정책 통계 검토를 참고하세요.
REST
Recommender API의 insights.markAccepted
메서드는 통계를 ACCEPTED
로 표시합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
-
RESOURCE_TYPE
: 통계를 관리할 리소스 유형입니다.projects
,folders
, 또는organizations
값을 사용합니다. RESOURCE_ID
: 통계를 관리하려는 프로젝트, 폴더, 또는 조직의 ID입니다.-
INSIGHT_ID
: 보려는 통계의 ID입니다. 통계 ID를 모르는 경우 프로젝트, 폴더, 또는 조직에서 통계를 나열하여 찾을 수 있습니다. 통계 ID는 통계의name
필드에서insights/
다음에 오는 모든 문자입니다. -
ETAG
: 통계 버전의 식별자입니다.etag
를 가져오려면 다음을 실행합니다.insights.get
메서드를 사용하여 통계를 가져옵니다.- 응답에서
etag
값을 찾아서 복사합니다.
PROJECT_ID
: Google Cloud 프로젝트 ID입니다. 프로젝트 ID는my-project
와 같은 영숫자 문자열입니다.
HTTP 메서드 및 URL:
POST https://recommender.googleapis.com/v1/RESOURCE_TYPE/RESOURCE_ID/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/INSIGHT_ID:markAccepted
JSON 요청 본문:
{ "etag": "ETAG" }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
응답에 통계가 포함됩니다. 이제 상태가 ACCEPTED
입니다.
[ { "associatedRecommendations": [ { "recommendation": "projects/123456789012/locations/global/recommenders/google.orgpolicy.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f" } ], "category": "SECURITY", "content": { "consolidatedPolicy": { "inheritFromParent": false, "name": "projects/123456789012/policies/iam.managed.disableServiceAccountKeyCreation", "policyRules": { "rules": [ { "enforce": false } ] }, "reset": false }, "constraint": { "id": "constraints/iam.managed.disableServiceAccountKeyCreation", "name": "Disable service account key creation" }, "evaluatedResources": [ { "numOfResources": "1", "resourceType": "cloudresourcemanager.googleapis.com/Project" }, { "numOfResources": "2", "resourceType": "iam.googleapis.com/ServiceAccountKey" } ], "violations": [ { "numOfResources": "0", "resourceType": "iam.googleapis.com/ServiceAccountKey" }, { "numOfResources": "0", "resourceType": "cloudresourcemanager.googleapis.com/Project" } ] }, "description": "Scanned 2 resources and found 0 violations for constraints/iam.managed.disableServiceAccountKeyCreation.", "etag": "\"9a1ad019022f9f56\"", "insightSubtype": "RESOURCE_VIOLATION_DISABLE_SERVICE_ACCOUNT_KEY_CREATION", "lastRefreshTime": "2024-12-03T08:00:00Z", "name": "projects/123456789012/locations/global/insightTypes/google.orgpolicy.policy.Insight/insights/66d543f3-845d-49d6-a26b-80d84804d8a8", "observationPeriod": "86400s", "severity": "HIGH", "stateInfo": { "state": "ACCEPTED", "stateMetadata": { "reviewedBy": "alice", "priority": "high" } }, "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ] } ]
통계 상태 정보에 대한 자세한 내용은 이 페이지의 조직 정책 통계 검토를 참고하세요.
다음 단계
- 조직 정책 권장사항을 보고 적용하는 방법을 알아보세요.
- 권장사항 허브를 사용하여 IAM 권장사항을 포함한 프로젝트의 모든 권장사항을 열람하고 관리하기