이 페이지에서는 서비스 계정 통계를 관리하는 방법을 보여줍니다. 이 통계는 프로젝트에서 이전 90일 동안 사용되지 않은 서비스 계정에 대한 발견 항목입니다.
시작하기 전에
-
Enable the Recommender API.
- 선택사항: 추천자 통계를 읽습니다.
필요한 역할
서비스 계정 통계를 관리하는 데 필요한 권한을 얻으려면 관리자에게 통계를 관리할 프로젝트에 대한 다음의 IAM 역할을 부여해 달라고 요청하세요.
-
서비스 계정 통계 보기:
IAM 추천자 뷰어(
roles/recommender.iamViewer
) -
서비스 계정 통계 보기:
IAM 추천자 관리자(
roles/recommender.iamAdmin
)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이러한 사전 정의된 역할에는 서비스 계정 통계를 관리하는 데 필요한 권한이 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
서비스 계정 통계를 관리하려면 다음 권한이 필요합니다.
-
서비스 계정 통계 보기:
-
recommender.iamServiceAccountinsights.get
-
recommender.iamServiceAccountinsights.list
-
-
서비스 계정 통계 수정:
recommender.iamServiceAccountinsights.update
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
서비스 계정 통계 나열
프로젝트의 모든 서비스 계정 통계를 나열하려면 다음 메서드 중 하나를 사용하세요.gcloud
gcloud recommender
insights list
명령어를 사용하여 프로젝트의 모든 서비스 계정 통계를 확인합니다.
명령어를 실행하기 전에 다음 값을 바꿉니다.
PROJECT_ID
: 통계를 나열하려는 프로젝트의 ID입니다.
gcloud recommender insights list --insight-type=google.iam.serviceAccount.Insight \ --project=PROJECT_ID \ --location=global
프로젝트에 대한 모든 서비스 계정 통계가 출력에 나열됩니다. 예를 들면 다음과 같습니다.
INSIGHT_ID CATEGORY INSIGHT_STATE LAST_REFRESH_TIME SEVERITY INSIGHT_SUBTYPE DESCRIPTION 446303ba-2a14-49cc-b9fa-e2d2499d4f82 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW SERVICE_ACCOUNT_USAGE Service account sa-1@my-project.iam.gserviceaccount.com was inactive. 4cfd82c3-7320-4dc6-9b67-ca0756bbd54c SECURITY ACTIVE 2022-05-24T07:00:00Z LOW SERVICE_ACCOUNT_USAGE Service account sa-2@my-project.iam.gserviceaccount.com was inactive. a627bed7-c8f4-4611-89c9-2a9a8618ca1b SECURITY ACTIVE 2022-05-24T07:00:00Z LOW SERVICE_ACCOUNT_USAGE Service account sa-3@my-project.iam.gserviceaccount.com was inactive. a922dd59-df0a-422d-a2a4-096195e1dae5 SECURITY ACTIVE 2022-05-24T07:00:00Z LOW SERVICE_ACCOUNT_USAGE Service account sa-4@my-project.iam.gserviceaccount.com was inactive.
REST
Recommender API의 insights.list
메서드는 프로젝트의 모든 서비스 계정 통계를 나열합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID
: 통계를 나열하려는 프로젝트의 ID입니다.
HTTP 메서드 및 URL:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
응답에 프로젝트에 대한 모든 서비스 계정 통계가 나열됩니다. 예를 들면 다음과 같습니다.
{ "insights": [ { "name": "projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/446303ba-2a14-49cc-b9fa-e2d2499d4f82", "description": "Service account sa-1@my-project.iam.gserviceaccount.com was inactive.", "content": { "serviceAccountId": "103185812403937829397", "email": "sa-1@my-project.iam.gserviceaccount.com", "lastAuthenticatedTime": "2020-09-11T07:00:00Z" }, "lastRefreshTime": "2022-05-24T07:00:00Z", "observationPeriod": "19008000s", "stateInfo": { "state": "ACTIVE" }, "category": "SECURITY", "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ], "insightSubtype": "SERVICE_ACCOUNT_USAGE", "etag": "\"9d797dd04263c855\"", "severity": "LOW" }, { "name": "projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/4cfd82c3-7320-4dc6-9b67-ca0756bbd54c", "description": "Service account sa-2@my-project.iam.gserviceaccount.com was inactive.", "content": { "serviceAccountId": "105496400997178042131", "email": "sa-2@my-project.iam.gserviceaccount.com" }, "lastRefreshTime": "2022-05-24T07:00:00Z", "observationPeriod": "16070400s", "stateInfo": { "state": "ACTIVE" }, "category": "SECURITY", "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ], "insightSubtype": "SERVICE_ACCOUNT_USAGE", "etag": "\"783a32b635d79a4e\"", "severity": "LOW" } ] }
통계 구성요소에 대한 자세한 설명은 이 페이지의 서비스 계정 통계 검토를 참조하세요.
단일 서비스 계정 통계 가져오기
통계 설명, 상태, 관련 권장사항을 포함하여 단일 통계에 대한 자세한 내용을 보려면 다음 메서드 중 하나를 사용하세요.
gcloud
통계 ID와 함께 gcloud recommender
insights describe
명령어를 사용하여 단일 통계에 대한 정보를 확인합니다.
-
INSIGHT_ID
: 보려는 통계의 ID입니다. ID를 찾으려면 프로젝트의 통계를 나열하세요. PROJECT_ID
: 통계를 관리하려는 프로젝트의 ID입니다.
gcloud recommender insights describe INSIGHT_ID \ --insight-type=google.iam.serviceAccount.Insight \ --project=PROJECT_ID \ --location=global
출력에 통계가 자세히 표시됩니다. 예를 들어 다음 통계는 2020년 10월 11일 이후에 서비스 계정 sa-1@my-project.iam.gserviceaccount.com
이 인증되지 않았음을 나타냅니다.
category: SECURITY content: email: sa-1@my-project.iam.gserviceaccount.com lastAuthenticatedTime: '2020-10-11T07:00:00Z' serviceAccountId: '103185812403937829397' description: Service account sa-1@my-project.iam.gserviceaccount.com was inactive. etag: '"9d797dd04263c855"' insightSubtype: SERVICE_ACCOUNT_USAGE lastRefreshTime: '2022-05-24T07:00:00Z' name: projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/446303ba-2a14-49cc-b9fa-e2d2499d4f82 observationPeriod: 19008000s severity: LOW stateInfo: state: ACTIVE targetResources: - //cloudresourcemanager.googleapis.com/projects/123456789012
통계 구성요소에 대한 자세한 설명은 이 페이지의 서비스 계정 통계 검토를 참조하세요.
REST
Recommender API의 insights.get
메서드는 단일 통계를 가져옵니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
-
PROJECT_ID
: 통계를 관리하려는 프로젝트의 ID입니다. -
INSIGHT_ID
: 보려는 통계의 ID입니다. 통계 ID를 모르는 경우 프로젝트의 통계를 나열하여 찾을 수 있습니다. 통계 ID는 통계의name
필드에서insights/
다음에 오는 모든 문자입니다.
HTTP 메서드 및 URL:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/INSIGHT_ID
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
응답에 통계가 포함됩니다. 예를 들어 다음 통계는 2020년 10월 11일 이후에 서비스 계정 sa-1@my-project.iam.gserviceaccount.com
이 인증되지 않았음을 나타냅니다.
{ "name": "projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/446303ba-2a14-49cc-b9fa-e2d2499d4f82", "description": "Service account sa-1@my-project.iam.gserviceaccount.com was inactive.", "content": { "serviceAccountId": "103185812403937829397", "email": "sa-1@my-project.iam.gserviceaccount.com", "lastAuthenticatedTime": "2020-09-11T07:00:00Z" }, "lastRefreshTime": "2022-05-24T07:00:00Z", "observationPeriod": "19008000s", "stateInfo": { "state": "ACTIVE" }, "category": "SECURITY", "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ], "insightSubtype": "SERVICE_ACCOUNT_USAGE", "etag": "\"9d797dd04263c855\"", "severity": "LOW" }
통계 구성요소에 대한 자세한 설명은 이 페이지의 서비스 계정 통계 검토를 참조하세요.
서비스 계정 통계 검토
단일 통계를 가져온 후 콘텐츠를 검토하여 강조표시되는 리소스 사용량 패턴을 파악할 수 있습니다.
통계의 콘텐츠는 하위유형에 따라 결정됩니다.
서비스 계정 통계(google.iam.serviceAccount.Insight
)의 통계에는 SERVICE_ACCOUNT_USAGE
하위유형이 있습니다.
SERVICE_ACCOUNT_USAGE
통계에는 다음과 같은 구성요소가 있습니다(순서는 다름).
-
associatedRecommendations
: 통계와 연결된 모든 권장사항의 식별자입니다. 통계와 연결된 권장사항이 없으면 이 필드는 비어 있습니다. category
: IAM 통계의 카테고리는 항상SECURITY
입니다.-
content
: 서비스 계정이 마지막으로 인증된 시간을 보고합니다. 이 필드에는 다음 구성요소가 포함됩니다.email
: 서비스 계정의 이메일 주소입니다.lastAuthenticatedTime
: 서비스 계정이 인증된 가장 최근 시간입니다. 서비스 계정에 기록된 인증이 없으면 이 필드가 포함되지 않습니다.serviceAccountId
: 서비스 계정의 고유 숫자 ID입니다.
-
description
: 인간이 읽을 수 있는 통계 요약입니다. -
etag
: 통계의 현재 상태에 대한 고유 식별자입니다. 통계가 변경될 때마다 새etag
값이 할당됩니다.통계 상태를 변경하려면 기존 통계의
etag
를 제공해야 합니다.etag
를 사용하면 마지막으로 검색한 후 통계가 변경되지 않은 경우에만 작업이 수행됩니다. -
insightSubtype
: 통계 하위유형입니다. -
lastRefreshTime
: 통계가 마지막으로 갱신된 날짜로, 통계를 생성하는 데 사용된 데이터의 최신 상태를 나타냅니다. -
name
: 다음 형식의 통계 이름입니다.projects/PROJECT_ID/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/INSIGHT_ID
자리표시자의 값은 다음과 같습니다.
PROJECT_ID
: 통계가 생성된 프로젝트의 ID입니다.INSIGHT_ID
: 통계의 고유 ID입니다.
-
observationPeriod
: 통계까지 이어지는 기간입니다. 통계를 생성하는 데 사용되는 소스 데이터는lastRefreshTime
에 종료되며lastRefreshTime
에서observationPeriod
를 뺀 시간에 시작합니다. -
stateInfo
: 통계는 제안된 후 여러 상태로 전환됩니다.-
ACTIVE
: 통계가 생성되지만 작업이 수행되지 않았거나 통계의 상태를 업데이트하지 않고 작업이 수행되었습니다. 활성 통계는 기본 데이터가 변경되면 업데이트됩니다. -
ACCEPTED
: 통계를 기반으로 몇몇 작업이 실행되었습니다. 통계가 수락되는 것은 관련 권장사항이CLAIMED
,SUCCEEDED
또는FAILED
로 표시되었거나 통계가 직접 수락된 경우입니다. 통계 상태가ACCEPTED
일 때는 통계 내용을 변경할 수 없습니다. 수락된 통계는 수락된 날로부터 90일 동안 보관됩니다.
-
-
targetResources
: 통계의 대상인 프로젝트의 전체 리소스 이름입니다. 예를 들면//cloudresourcemanager.googleapis.com/projects/123456789012
입니다.
서비스 계정 통계를 ACCEPTED
로 표시
활성 통계를 기반으로 작업을 수행하는 경우 통계를 ACCEPTED
로 표시할 수 있습니다. ACCEPTED
상태는 이 통계를 기반으로 작업을 수행했음을 Recommender API에 알려주므로 권장사항을 개선하는 데 도움이 됩니다.
허용된 통계는 ACCEPTED
로 표시된 후 90일 동안 보관됩니다.
gcloud
통계 ID와 함께 gcloud recommender insights mark-accepted
명령어를 사용하여 통계를 ACCEPTED
로 표시합니다.
-
INSIGHT_ID
: 보려는 통계의 ID입니다. ID를 찾으려면 프로젝트의 통계를 나열하세요. PROJECT_ID
: 통계를 관리하려는 프로젝트의 ID입니다.-
ETAG
: 통계 버전의 식별자입니다.etag
를 가져오려면 다음 안내를 따르세요.-
gcloud recommender insights describe
명령어를 사용하여 통계를 가져옵니다. -
출력에서
etag
값(큰따옴표 포함)을 찾아 복사합니다. 예를 들면"d3cdec23cc712bd0"
입니다.
-
gcloud recommender insights mark-accepted INSIGHT_ID \ --insight-type=google.iam.serviceAccount.Insight \ --project=PROJECT_ID \ --location=global \ --etag=ETAG
출력에 ACCEPTED
상태와 함께 통계가 표시됩니다.
category: SECURITY content: email: sa-1@my-project.iam.gserviceaccount.com lastAuthenticatedTime: '2020-10-11T07:00:00Z' serviceAccountId: '103185812403937829397' description: Service account sa-1@my-project.iam.gserviceaccount.com was inactive. etag: '"39c4199dcec92848"' insightSubtype: SERVICE_ACCOUNT_USAGE lastRefreshTime: '2022-05-24T07:00:00Z' name: projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/446303ba-2a14-49cc-b9fa-e2d2499d4f82 observationPeriod: 19008000s severity: LOW stateInfo: state: ACCEPTED targetResources: - //cloudresourcemanager.googleapis.com/projects/123456789012
통계의 상태 정보에 대한 상세 설명은 이 페이지의 서비스 계정 통계 검토를 참조하세요.
REST
Recommender API의 insights.markAccepted
메서드는 통계를 ACCEPTED
로 표시합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
-
PROJECT_ID
: 통계를 관리하려는 프로젝트의 ID입니다. -
INSIGHT_ID
: 보려는 통계의 ID입니다. 통계 ID를 모르는 경우 프로젝트의 통계를 나열하여 찾을 수 있습니다. 통계 ID는 통계의name
필드에서insights/
다음에 오는 모든 문자입니다. -
ETAG
: 통계 버전의 식별자입니다.etag
를 가져오려면 다음을 실행합니다.insights.get
메서드를 사용하여 통계를 가져옵니다.- 응답에서
etag
값을 찾아서 복사합니다.
HTTP 메서드 및 URL:
POST https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/INSIGHT_ID:markAccepted
JSON 요청 본문:
{ "etag": "ETAG" }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
응답에 통계가 포함됩니다. 이제 상태가 ACCEPTED
입니다.
{ "name": "projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/446303ba-2a14-49cc-b9fa-e2d2499d4f82", "description": "Service account sa-1@my-project.iam.gserviceaccount.com was inactive.", "content": { "serviceAccountId": "103185812403937829397", "email": "sa-1@my-project.iam.gserviceaccount.com", "lastAuthenticatedTime": "2020-10-11T07:00:00Z" }, "lastRefreshTime": "2022-05-24T07:00:00Z", "observationPeriod": "19008000s", "stateInfo": { "state": "ACCEPTED" }, "category": "SECURITY", "targetResources": [ "//cloudresourcemanager.googleapis.com/projects/123456789012" ], "insightSubtype": "SERVICE_ACCOUNT_USAGE", "etag": "\"39c4199dcec92848\"", "severity": "LOW" }
통계의 상태 정보에 대한 상세 설명은 이 페이지의 서비스 계정 통계 검토를 참조하세요.
다음 단계
- 사용 가능한 다른 서비스 계정 사용 확인 도구 검토
- 권장사항 허브를 사용하여 IAM 권장사항을 포함한 프로젝트의 모든 권장사항을 열람하고 관리하기