IAM을 사용하여 기능 액세스 제어 구성
Google Security Operations는 Google Cloud Identity and Access Management(IAM)와의 통합으로 Google Security Operations 관련 권한 및 사전 정의된 역할을 제공합니다. Google Security Operations 관리자는 사용자 또는 그룹을 사전 정의된 역할 또는 IAM 커스텀 역할에 바인딩하는 IAM 정책을 만들어서 Google Security Operations 기능에 대한 액세스 권한을 제어할 수 있습니다. 이 기능은 특정 UDM 레코드 또는 UDM 레코드의 필드에 대한 액세스를 제어하지 않습니다.
이 문서에서는 Google Security Operations가 IAM과 통합되는 방식 및 Google Security Operations RBAC 기능과의 차이점을 설명하고 Google Security Operations 인스턴스를 IAM에 마이그레이션하는 단계 그리고 IAM을 사용하여 권한을 할당하는 방법의 예시를 제공하고, IAM에서 사용 가능한 권한 및 사전 정의된 역할을 요약해서 보여줍니다.
Google Security Operations에서 승인을 구성하는 데 사용되는 권한 및 권한이 생성하는 감사 로그에 대한 자세한 내용은 리소스 그룹별 권한 및 API 메서드를 참조하세요.
일부 Google Security Operations 인스턴스는 현재 원래의 RBAC 기능 구현에서 새 인스턴스로 마이그레이션되는 중일 수 있습니다. 이 문서에서 Google Security Operations RBAC라는 이름은 IAM이 아닌 Google Security Operations를 사용하여 구성된 이전에 제공되던 기능 기반의 역할 기반 액세스 제어를 나타내기 위해 사용됩니다. IAM은 IAM을 사용하여 구성하는 기능 기반의 역할 기반 액세스 제어를 기술하기 위해 사용됩니다.
각 Google Security Operations 권한은 Google Security Operations API 리소스 및 메서드와 연결되어 있습니다. 사용자 또는 그룹에 권한이 부여된 경우 사용자가 Google Security Operations의 기능에 액세스하고 관련 API 메서드를 사용하여 요청을 보낼 수 있습니다.
Google Security Operations가 IAM와 통합되는 방법
IAM을 사용하기 위해서는 Google Security Operations를 Google Cloud 프로젝트에 바인딩하고 인증 흐름의 중간 단계로 Google Cloud 직원 ID 제휴를 사용하여 구성해야 합니다. 인증 흐름에 대한 자세한 내용은 Google Security Operations를 서드 파티 ID 공급업체와 통합을 참조하세요.
Google Security Operations는 다음 단계를 수행하여 기능 액세스를 확인 및 제어합니다.
- Google Security Operations에 로그온한 후 사용자가 Google Security Operations 애플리케이션 페이지에 액세스합니다. 또는 사용자가 Google Security Operations에 API 요청을 보낼 수 있습니다.
- Google Security Operations는 해당 사용자에 대해 정의된 IAM 정책에 부여된 권한을 확인합니다.
- IAM이 승인 정보를 반환합니다. 사용자가 애플리케이션 페이지에 액세스한 경우 Google Security Operations는 사용자에게 액세스 권한이 부여된 기능에만 액세스 권한을 사용 설정합니다.
- 사용자가 API 요청을 보냈지만 요청된 작업을 수행할 권한이 없으면 API 응답에 오류가 포함됩니다. 그렇지 않으면 표준 응답이 반환됩니다.
Google Security Operations는 사용자가 기능에 액세스 가능한지 여부를 제어하는 정의된 권한 집합이 포함된 사전 정의된 역할 집합을 제공합니다. 단일 IAM 정책은 웹 인터페이스 및 API를 사용하여 기능 액세스를 제어합니다.
Google Security Operations 관리자는 ID 공급업체에서 그룹을 만들고 SAML 애플리케이션을 구성하여 어설션에서 그룹 멤버십 정보를 전달한 후 사용자 및 그룹을 IAM의 사전 정의된 Google Security Operations 역할 또는 직접 만든 커스텀 역할에 연결합니다.
Google Security Operations에 바인딩된 Google Cloud 프로젝트에 다른 Google Cloud 서비스가 있고 프로젝트 IAM 관리자 역할이 있는 사용자를 Google Security Operations 리소스만 수정하도록 제한하려면 허용 정책에 IAM 조건을 추가합니다. 이를 수행하는 방법 예시는 사용자 및 그룹에 역할 할당을 참조하세요.
관리자는 조직에서 직원의 역할을 기반으로 Google Security Operations 기능에 대한 액세스를 조정합니다.
시작하기 전에
- Cloud Shell, gcloud CLI 명령어, Google Cloud 콘솔을 숙지해야 합니다.
- 다음 개념을 포함하여 IAM을 숙지하세요.
- Google Cloud 프로젝트에 Google Security Operations 바인딩의 모든 단계를 수행하여 Google Security Operations에 바인딩된 프로젝트를 설정합니다.
- Google Security Operations를 서드 파티 ID 공급업체와 통합의 모든 단계를 수행하여 서드 파티 ID 공급업체(IdP)를 통해 인증을 설정합니다.
- Google Security Operations 인스턴스에 프로젝트를 바인딩하고 직원 ID 제휴로 인스턴스를 구성한 후 Google Security Operations 인스턴스가 예상대로 작동하는지 확인합니다. Google Security Operations 기능 액세스 제어 확인 또는 구성을 참조하세요.
구현 계획
조직의 배포 요구사항을 지원하는 IAM 정책을 만듭니다. Google Security Operations 사전 정의된 역할 또는 사용자가 만든 커스텀 역할을 사용할 수 있습니다.
조직 요구사항에 따라 Google Security Operations 사전 정의된 역할 및 권한 목록을 검토합니다. 각 Google Security Operations 기능에 대해 액세스 권한을 가져야 하는 조직 구성원을 식별합니다. 조직에 사전 정의된 Google Security Operations 역할과 다른 IAM 정책이 필요한 경우 이러한 요구사항을 지원하도록 커스텀 역할을 만듭니다. IAM 커스텀 역할에 대한 자세한 내용은 커스텀 역할 만들기 및 관리를 참조하세요.
Google Security Operations 역할 및 권한 요약
다음 섹션에서는 대략적인 요약 정보를 제공합니다.
Google Security Operations API 메서드 및 권한, 권한이 사용되는 UI 페이지, API가 호출될 때 Cloud 감사 로그에 기록되는 정보에 대한 자세한 내용은 IAM의 Chronicle 권한을 참조하세요.
Google Security Operations 권한의 최신 목록은 IAM 권한 참조에 있습니다. 권한 검색 섹션에서 chronicle
을 검색합니다.
사전 정의된 Google SecOps 역할의 최신 목록은 IAM 기본 및 사전 정의된 역할 참조에 있습니다. 사전 정의된 역할 섹션에서 Chronicle API 역할 서비스를 선택하거나 chronicle
을 검색합니다.
IAM의 Google Security Operations 사전 정의된 역할
Google Security Operations는 IAM에 표시되는 대로 다음과 같은 사전 정의된 역할을 제공합니다.
IAM의 사전 정의된 역할 | 제목 | 설명 |
---|---|---|
roles/chronicle.admin |
Chronicle API 관리자 | 전역 설정을 포함하여 Google Security Operations 애플리케이션 및 API 서비스에 대한 전체 액세스 권한을 갖습니다. |
roles/chronicle.editor |
Chronicle API 편집자 | Google Security Operations 애플리케이션 및 API 리소스에 대한 수정 액세스 권한을 갖습니다. |
roles/chronicle.viewer |
Chronicle API 뷰어 | Google Security Operations 애플리케이션 및 API 리소스에 대한 읽기 전용 액세스 권한을 갖습니다. |
roles/chronicle.limitedViewer |
Chronicle API 제한적 뷰어 | 감지 엔진 규칙 및 RetroHunt를 제외하고 Google Security Operations 애플리케이션 및 API 리소스에 대해 읽기 전용 액세스 권한을 부여합니다. |
IAM의 Google Security Operations 권한
Google Security Operations 권한은 Google Security Operations API 메서드와 일대일로 대응합니다. 각 Google Security Operations 권한은 웹 애플리케이션 또는 API를 사용할 때 특정 Google Security Operations 기능에서 특정 작업을 사용 설정합니다. IAM에 사용되는 Google Security Operations API는 알파 출시 단계에 있습니다.
Google Security Operations 권한 이름은 SERVICE.FEATURE.ACTION
형식을 따릅니다.
예를 들어 권한 이름 chronicle.dashboards.edit
는 다음으로 구성됩니다.
chronicle
: Google Security Operations API 서비스 이름입니다.dashboards
: 기능 이름입니다.edit
: 기능에서 수행할 수 있는 작업입니다.
권한 이름은 Google Security Operations에서 기능으로 수행할 수 있는 작업을 기술합니다. 모든 Google Security Operations 권한에는 chronicle
서비스 이름이 포함됩니다.
사용자 및 그룹에 역할 할당
다음 섹션에서는 IAM 정책 만들기를 위한 사용 사례 예시를 제공합니다. <project>
용어는 Google Security Operations에 바인딩한 프로젝트의 프로젝트 ID를 나타내기 위해 사용됩니다.
Chronicle API를 사용 설정한 후 Google Security Operations 사전 정의된 역할 및 권한이 IAM에서 제공되며 조직 요구사항을 지원하도록 정책을 만들 수 있습니다.
새로 만든 Google Security Operations 인스턴스가 있으면 조직 요구사항을 충족하도록 IAM 정책을 만듭니다.
기존 Google Security Operations 인스턴스인 경우 기능 액세스 제어를 위해 Google Security Operations를 IAM으로 마이그레이션에서 인스턴스를 IAM으로 마이그레이션하는 방법을 참조하세요.
예시: 전용 프로젝트에서 프로젝트 IAM 관리자 역할 할당
이 예시에서 프로젝트는 Google Security Operations 인스턴스 전용입니다. 프로젝트 IAM 역할 바인딩을 부여하고 수정할 수 있도록 사용자에게 프로젝트 IAM 관리자 역할을 부여합니다. 사용자는 프로젝트의 모든 Google Security Operations 역할 및 권한을 관리하고 프로젝트 IAM 관리자 역할에 의해 부여된 태스크를 수행할 수 있습니다.
Google Cloud 콘솔을 사용하여 역할 할당
다음 단계에서는 Google Cloud 콘솔을 사용하여 사용자에게 역할을 부여하는 방법을 설명합니다.
- Google Cloud 콘솔을 엽니다.
- Google Security Operations에 바인딩된 프로젝트를 선택합니다.
- IAM 및 관리자를 선택합니다.
- 액세스 권한 부여를 선택합니다.
<project>
에 액세스 권한 부여가 표시됩니다. - 주 구성원 추가 섹션에서 새 주 구성원 필드에 사용자 이메일 주소를 입력합니다.
- 역할 할당 섹션의 역할 선택 메뉴에서 프로젝트 IAM 관리자 역할을 선택합니다.
- 저장을 클릭합니다.
- IAM > 권한 페이지를 열어 사용자에게 올바른 역할이 부여됐는지 확인합니다.
Google Cloud CLI를 사용하여 역할 할당
다음 예시 명령어에서는 사용자에게 chronicle.admin
역할을 부여하는 방법을 보여줍니다.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_EMAIL \
--role=roles/chronicle.admin
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 프로젝트에 Google Security Operations 인스턴스 바인딩에서 만든 Google Security Operations에 바인딩된 프로젝트의 프로젝트 ID입니다. 프로젝트를 식별하는 필드에 대한 설명은 프로젝트 만들기 및 관리를 참조하세요.WORKFORCE_POOL_ID
: ID 공급업체를 위해 생성된 직원 풀의 식별자입니다.USER_EMAIL
: 사용자의 이메일 주소입니다.
예시: 공유 프로젝트에서 프로젝트 IAM 관리자 역할 할당
이 예시에서는 프로젝트가 여러 애플리케이션에 대해 사용됩니다. 프로젝트가 Google Security Operations 인스턴스에 바인딩되고 Google Security Operations와 관련되지 않은 서비스를 실행합니다. 예를 들어 다른 목적으로 사용되는 Compute Engine 리소스입니다.
여기에서는 사용자가 프로젝트의 IAM 역할 바인딩을 부여 및 수정하고 Google Security Operations를 구성할 수 있도록 사용자에게 프로젝트 IAM 관리자 역할을 부여할 수 있습니다. 또한 역할 바인딩에 IAM을 추가하여 프로젝트의 Google Security Operations 관련 역할에 대한 액세스만 제한합니다. 이 사용자는 IAM 조건에 지정된 역할만 부여할 수 있습니다.
IAM 조건에 대한 자세한 내용은 IAM 조건 개요 및 조건부 역할 바인딩 관리를 참조하세요.
Google Cloud 콘솔을 사용하여 역할 할당
다음 단계에서는 Google Cloud 콘솔을 사용하여 사용자에게 역할을 부여하는 방법을 설명합니다.
- Google Cloud 콘솔을 엽니다.
- Google Security Operations에 바인딩된 프로젝트를 선택합니다.
- IAM 및 관리자를 선택합니다.
- 액세스 권한 부여를 선택합니다.
<project>
에 액세스 권한 부여가 표시됩니다. <project>
에 대한 액세스 권한 부여 대화상자의 주 구성원 추가 섹션에서 새 주 구성원 필드에 사용자 이메일 주소를 입력합니다.- 역할 할당 섹션의 역할 선택 메뉴에서 프로젝트 IAM 관리자 역할을 선택합니다.
- + IAM 조건 추가를 클릭합니다.
조건 추가 대화상자에 다음 정보를 입력합니다.
- 조건의 제목을 입력합니다.
- 조건 편집기를 선택합니다.
- 다음 조건을 입력합니다.
api.getAttribute(iam.googleapis.com/modifiedGrantsByRole,[]).hasOnly([roles/chronicle.googleapis.com/limitedViewer, roles/chronicle.googleapis.com/viewer, roles/chronicle.googleapis.com/editor, roles/chronicle.googleapis.com/admin])
- 조건 추가 대화상자에서 저장을 클릭합니다.
<project>
에 액세스 권한 부여 대화상자에서 저장을 클릭합니다.- IAM > 권한 페이지를 열어 사용자에게 올바른 역할이 부여됐는지 확인합니다.
Google Cloud CLI를 사용하여 역할 할당
다음 예시 명령어에서는 사용자에게 chronicle.admin
역할을 부여하고 IAM 조건을 적용하는 방법을 보여줍니다.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_EMAIL \
--role=roles/chronicle.admin\
--condition=^:^'expression=api.getAttribute(iam.googleapis.com/modifiedGrantsByRole,[]).hasOnly([roles/chronicle.googleapis.com/limitedViewer, roles/chronicle.googleapis.com/viewer, roles/chronicle.googleapis.com/editor, roles/chronicle.googleapis.com/admin])':'title=Chronicle Role Admin'
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 프로젝트에 Google Security Operations 인스턴스 바인딩에서 만든 Google Security Operations에 바인딩된 프로젝트의 프로젝트 ID입니다. 프로젝트를 식별하는 필드에 대한 설명은 프로젝트 만들기 및 관리를 참조하세요.WORKFORCE_POOL_ID
: ID 공급업체를 위해 생성된 직원 풀의 식별자입니다.USER_EMAIL
: 사용자의 이메일 주소입니다.
예시: 사용자에게 Chronicle API 편집자 역할 할당
이 경우에는 Google Security Operations API 리소스에 대한 액세스 권한을 수정하는 기능을 사용 설정하려고 합니다.
Google Cloud 콘솔을 사용하여 역할 할당
- Google Cloud 콘솔을 엽니다.
- Google Security Operations에 바인딩된 프로젝트를 선택합니다.
- IAM 및 관리자를 선택합니다.
- 액세스 권한 부여를 선택합니다.
<project>
에 대한 액세스 권한 부여 대화상자가 열립니다. - 주 구성원 추가 섹션의 새 주 구성원 필드에 사용자 이메일 주소를 입력합니다.
- 역할 할당 섹션의 역할 선택 메뉴에서 Google Security Operations API 편집자 역할을 선택합니다.
<project>
에 액세스 권한 부여 대화상자에서 저장을 클릭합니다.- IAM > 권한 페이지를 열어 사용자에게 올바른 역할이 부여됐는지 확인합니다.
Google Cloud CLI를 사용하여 역할 할당
다음 예시 명령어에서는 사용자에게 chronicle.editor
역할을 부여하는 방법을 보여줍니다.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_EMAIL \
--role=roles/chronicle.editor
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 프로젝트에 Google Security Operations 인스턴스 바인딩에서 만든 Google Security Operations에 바인딩된 프로젝트의 프로젝트 ID입니다. 프로젝트를 식별하는 필드에 대한 설명은 프로젝트 만들기 및 관리를 참조하세요.WORKFORCE_POOL_ID
: ID 공급업체를 위해 생성된 직원 풀의 식별자입니다.USER_EMAIL
: 사용자의 이메일 주소입니다.
예시: 커스텀 역할 만들기 및 그룹에 할당
사전 정의된 Google Security Operations 역할이 조직의 사용 사례에 맞는 권한 그룹을 제공하지 않으면 커스텀 역할을 만들고 해당 커스텀 역할에 Google Security Operations 권한을 할당할 수 있습니다. 사용자 또는 그룹에 커스텀 역할을 할당합니다. IAM 커스텀 역할에 대한 자세한 내용은 커스텀 역할 만들기 및 관리를 참조하세요.
다음 단계에서는 LimitedAdmin
이라는 커스텀 역할을 만들 수 있습니다.
LimitedAdmin
이라는 커스텀 역할과 이 역할에 부여된 권한을 정의하는 YAML 또는 JSON 파일을 만듭니다. 다음은 YAML 파일 예시입니다.title: "LimitedAdmin" description: "Admin role with some permissions removed" stage: "ALPHA" includedPermissions: - chronicle.collectors.create - chronicle.collectors.delete - chronicle.collectors.get - chronicle.collectors.list - chronicle.collectors.update - chronicle.dashboards.copy - chronicle.dashboards.create - chronicle.dashboards.delete - chronicle.dashboards.get - chronicle.dashboards.list - chronicle.extensionValidationReports.get - chronicle.extensionValidationReports.list - chronicle.forwarders.create - chronicle.forwarders.delete - chronicle.forwarders.generate - chronicle.forwarders.get - chronicle.forwarders.list - chronicle.forwarders.update - chronicle.instances.get - chronicle.instances.report - chronicle.legacies.legacyGetCuratedRulesTrends - chronicle.legacies.legacyGetRuleCounts - chronicle.legacies.legacyGetRulesTrends - chronicle.legacies.legacyUpdateFinding - chronicle.logTypeSchemas.list - chronicle.multitenantDirectories.get - chronicle.operations.cancel - chronicle.operations.delete - chronicle.operations.get - chronicle.operations.list - chronicle.operations.wait - chronicle.parserExtensions.activate - chronicle.parserExtensions.create - chronicle.parserExtensions.delete - chronicle.parserExtensions.generateKeyValueMappings - chronicle.parserExtensions.get - chronicle.parserExtensions.legacySubmitParserExtension - chronicle.parserExtensions.list - chronicle.parserExtensions.removeSyslog - chronicle.parsers.activate - chronicle.parsers.activateReleaseCandidate - chronicle.parsers.copyPrebuiltParser - chronicle.parsers.create - chronicle.parsers.deactivate - chronicle.parsers.delete - chronicle.parsers.get - chronicle.parsers.list - chronicle.parsers.runParser - chronicle.parsingErrors.list - chronicle.validationErrors.list - chronicle.validationReports.get - resourcemanager.projects.getIamPolicy
커스텀 역할을 만듭니다. 다음 예시 gcloud CLI 명령어에서는 이전 단계에서 만든 YAML 파일을 사용하여 이 커스텀 역할을 만드는 방법을 보여줍니다.
gcloud iam roles create ROLE_NAME \ --project=PROJECT_ID \ --file=YAML_FILE_NAME
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 프로젝트에 Google Security Operations 인스턴스 바인딩에서 만든 Google Security Operations에 바인딩된 프로젝트의 프로젝트 ID입니다. 프로젝트를 식별하는 필드에 대한 설명은 프로젝트 만들기 및 관리를 참조하세요.YAML_FILE_NAME
: 앞선 단계에서 만든 파일의 이름입니다.ROLE_NAME
: YAML 파일에 정의된 커스텀 역할의 이름입니다.
Google Cloud CLI를 사용하여 커스텀 역할 할당
다음 예시 명령어는 사용자 그룹에
limitedAdmin
커스텀 역할을 부여하는 방법을 보여줍니다.gcloud projects add-iam-policy-binding PROJECT_ID \ --member=principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID \ --role=projects/PROJECT_ID/roles/limitedAdmin
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 프로젝트에 Google Security Operations 인스턴스 바인딩에서 만든 Google Security Operations에 바인딩된 프로젝트의 프로젝트 ID입니다. 프로젝트를 식별하는 필드에 대한 설명은 프로젝트 만들기 및 관리를 참조하세요.WORKFORCE_POOL_ID
: ID 공급업체를 위해 생성된 직원 풀의 식별자입니다.GROUP_ID
: 직원 ID 제휴에서 생성된 그룹 식별자입니다. 직원 ID 제휴에서 생성된 그룹 식별자에 대한 자세한 내용은 IAM 정책에서 직원 풀 사용자 표현을 참조하세요.GROUP_ID
에 대한 자세한 내용은 IAM 정책에서 직원 풀 사용자 표현을 참조하세요.GROUP_ID
감사 로깅 확인
Google Security Operations의 사용자 작업 및 Google Security Operations API에 대한 요청은 Cloud 감사 로그로 기록됩니다. 로그가 작성되는지 확인하려면 다음 단계를 수행합니다.
- 모든 기능의 액세스 권한이 있는 사용자로 Google Security Operations에 로그인합니다. 자세한 내용은 Google Security Operations에 로그인을 참조하세요.
- 검색 등의 작업을 수행합니다.
- Google Cloud 콘솔에서 로그 탐색기를 사용하여 Google Security Operations에 바인딩된 클라우드 프로젝트의 감사 로그를 봅니다. Google Security Operations 감사 로그에는 다음과 같은 서비스 이름
chronicle.googleapis.com
이 포함됩니다.
Cloud 감사 로그를 보는 방법은 Google Security Operations 감사 로깅 정보를 참조하세요.
다음은 alice@example.com
사용자가 Google Security Operations에서 파서 확장 프로그램 목록을 봤을 때 기록되는 예시 로그입니다.
{
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"authenticationInfo": {
"principalEmail": "alice@example.com"
},
"requestMetadata": {
"callerIp": "private",
"callerSuppliedUserAgent": "abc_client",
"requestAttributes": {
"time": "2023-03-27T21:09:43.897772385Z",
"reason": "8uSywAYeWhxBRiBhdXRoIFVwVGljay0-REFUIGV4Y2abcdef",
"auth": {}
},
"destinationAttributes": {}
},
"serviceName": "chronicle.googleapis.com",
"methodName": "google.cloud.chronicle.v1main.ParserService.ListParserExtensions",
"authorizationInfo": [
{
"resource": "projects/100000000000/locations/us/instances/aaaa0aa0-000A-00a0-0000-0000a0aa0a1/logTypes/-",
"permission": "chronicle.parserExtensions.list",
"granted": true,
"resourceAttributes": {}
}
],
"resourceName": "projects/100000000000/locations/us/instances/aaaa0aa0-000A-00a0-0000-0000a0aa0a1/logTypes/-",
"numResponseItems": "12",
"request": {
"@type": "type.googleapis.com/google.cloud.chronicle.v1main.ListParserExtensionsRequest",
"parent": "projects/100000000000/locations/us/instances/aaaa0aa0-000A-00a0-0000-0000a0aa0a1/logTypes/-"
},
"response": {
"@type": "type.googleapis.com/google.cloud.chronicle.v1main.ListParserExtensionsResponse"
}
},
"insertId": "1h0b0e0a0",
"resource": {
"type": "audited_resource",
"labels": {
"project_id": "dev-sys-server001",
"method": "google.cloud.chronicle.v1main.ParserService.ListParserExtensions",
"service": "chronicle.googleapis.com"
}
},
"timestamp": "2023-03-27T21:09:43.744940164Z",
"severity": "INFO",
"logName": "projects/dev-sys-server001/logs/cloudaudit.googleapis.com%2Fdata_access",
"receiveTimestamp": "2023-03-27T21:09:44.863100753Z"
}
기능 액세스 제어를 위해 Google Security Operations를 IAM으로 마이그레이션
이 섹션의 정보에 따라 기존 Google Security Operations SIEM 인스턴스를 이전 Google Security Operations 역할 기반 액세스 제어 기능(Google Security Operations RBAC)에서 IAM으로 마이그레이션합니다. 또한 IAM으로 마이그레이션한 후 Cloud 감사 로그를 사용하여 Google Security Operations 인스턴스에서 활동을 감사할 수 있습니다.
Google Security Operations RBAC와 IAM 간의 차이점
IAM 사전 정의된 역할 이름이 Google Security Operations RBAC 그룹과 비슷하지만 IAM 사전 정의된 역할은 Google Security Operations RBAC 그룹과 동일한 기능 액세스를 제공하지 않습니다. 사전 정의된 각 IAM 역할에 할당되는 권한이 약간 다릅니다. 자세한 내용은 IAM 권한이 각 Google Security Operations RBAC 역할에 매핑되는 방법을 참조하세요.
Google Security Operations 사전 정의된 역할을 있는 그대로 사용하거나, 각 사전 정의된 역할에 정의된 권한을 변경하거나, 커스텀 역할을 만들고 다른 권한 집합을 할당할 수 있습니다.
Google Security Operations 인스턴스를 마이그레이션한 후 Google Cloud 콘솔에서 IAM을 사용하여 역할, 권한, IAM 정책을 관리합니다. 다음 Google Security Operations 애플리케이션 페이지는 사용자를 Google Cloud 콘솔로 연결하도록 수정되었습니다.
- 사용자 및 그룹
- 역할
Google Security Operations RBAC에서 각 권한은 기능 이름 및 작업으로 기술됩니다. IAM 권한은 리소스 이름 및 메서드로 기술됩니다. 다음 표는 대시보드 및 피드의 두 가지 예시를 통해 차이점을 보여줍니다.
대시보드 예시: 대시보드 액세스를 제어하기 위해 Google Security Operations RBAC는 대시보드에서 수행할 수 있는 5가지 작업을 제공합니다. IAM은 사용자가 사용 가능한 대시보드를 나열할 수 있도록 하는 추가 권한
dashboards.list
가 있는 유사한 권한을 제공합니다.피드 예시: 피드 액세스를 제어하기 위해 Google Security Operations RBAC는 사용 설정 또는 사용 중지할 수 있는 7가지 작업을 제공합니다. IAM에는
feeds.delete
,feeds.create
,feeds.update
,feeds.view
의 4가지 작업이 있습니다.
기능 | Google Security Operations RBAC의 권한 | IAM 권한 | 사용자 작업 설명 |
---|---|---|---|
대시보드 | 수정 | chronicle.dashboards.edit |
대시보드 수정 |
대시보드 | 복사 | chronicle.dashboards.copy |
대시보드 복사 |
대시보드 | 만들기 | chronicle.dashboards.create |
대시보드 만들기 |
대시보드 | 일정 예약 | chronicle.dashboards.schedule |
보고서 예약 |
대시보드 | 삭제 | chronicle.dashboards.delete |
보고서 삭제 |
대시보드 | 없음 IAM에서만 사용할 수 있습니다. | chronicle.dashboards.list |
사용 가능한 대시보드 나열 |
피드 | DeleteFeed | chronicle.feeds.delete |
피드 삭제 |
피드 | CreateFeed | chronicle.feeds.create |
피드 만들기 |
피드 | UpdateFeed | chronicle.feeds.update |
피드 업데이트 |
피드 | EnableFeed | chronicle.feeds.update |
피드 업데이트 |
피드 | DisableFeed | chronicle.feeds.update |
피드 업데이트 |
피드 | ListFeeds | chronicle.feeds.view |
하나 이상의 피드 반환 |
피드 | GetFeed | chronicle.feeds.view |
하나 이상의 피드 반환 |
기존 Google Security Operations 인스턴스를 마이그레이션하는 단계
기존 Google Security Operations 인스턴스에서 IAM을 사용 설정하려면 다음 단계를 수행합니다.
- Google Security Operations 담당자에게 연락해서 기존 RBAC 구성을 IAM으로 마이그레이션하길 원한다고 알려줍니다. Google Security Operations 담당자에게 다음 정보를 제공합니다.
- Google Security Operations 인스턴스에 바인딩된 프로젝트 ID. 이를 만들 때 Google Security Operations를 Google Cloud 프로젝트에 바인딩할 때 정의했습니다.
- Google Security Operations URL의 일부인 프런트엔드 경로
- 직원 풀 ID. 이 ID는 직원 ID 제휴를 구성할 때 정의되었습니다.
- Google Security Operations 담당자가 gcloud CLI 명령어가 포함된 파일을 보냅니다. 이러한 명령어를 실행하여 기존 액세스 제어 정책을 상응하는 IAM 정책으로 마이그레이션합니다.
iam.workforcePoolAdmin
역할 및Project Editor
권한이 있는 사용자로 Google Cloud 콘솔을 열고 Google Security Operations에 바인딩된 프로젝트에 액세스합니다. Google Security Operations를 서드 파티 ID 공급업체와 통합할 때 이 사용자를 식별하거나 만들었습니다.- Cloud Shell 세션을 실행합니다.
- Google Security Operations 담당자가 제공한 명령어를 실행하여 기존 구성을 IAM으로 마이그레이션합니다. 이렇게 하면 Google Security Operations RBAC 액세스 제어 구성과 동등한 새로운 IAM 정책이 생성됩니다.
- 모든 명령어를 실행한 후 IAM > 권한 페이지에서 IAM 정책이 마이그레이션되었는지 확인합니다.
- IAM 정책에 익숙해졌으면 Google Security Operations 담당자에게 연락하여 IAM 정책이 마이그레이션되었음을 알려줍니다.
- Google Security Operations 담당자가 Google Security Operations 인스턴스에서 IAM을 사용 설정하는 단계를 수행하고 작업이 완료되면 알려줍니다.
- Google Security Operations API 관리자 역할이 있는 사용자로 Google Security Operations에 액세스할 수 있는지 확인합니다.
- Google Security Operations API 관리자 사전 정의된 역할이 있는 사용자로 Google Security Operations에 로그인합니다. 자세한 내용은 Google Security Operations에 로그인을 참조하세요.
- 애플리케이션 메뉴 > 설정 > 사용자 및 그룹 페이지를 엽니다. 다음 메시지가 표시됩니다. *사용자 및 그룹을 관리하려면 Google Cloud 콘솔에서 Identity Access Management(IAM)로 이동합니다. 사용자와 그룹 관리에 대해 자세히 알아보세요*.
- 다른 사용자 역할의 권한을 확인합니다.
- 다른 역할이 있는 사용자로 Google Security Operations에 로그인합니다. 자세한 내용은 Google Security Operations에 로그인을 참조하세요.
- 애플리케이션에서 사용 가능한 기능이 IAM에 정의된 권한과 일치하는지 확인합니다.
IAM 권한이 각 Google Security Operations RBAC 역할에 매핑되는 방법
다음 섹션에서는 IAM에서 사전 정의된 각 Google Security Operations 역할과 각 역할에 바인딩된 권한을 요약해서 보여줍니다. 또한 비슷한 Google Security Operations RBAC 역할 및 작업을 식별합니다.
Chronicle API 제한적 뷰어
이 역할은 감지 엔진 규칙 및 RetroHunt를 제외하고 Google Security Operations 애플리케이션 및 API 리소스에 대해 읽기 전용 액세스 권한을 부여합니다. 역할 이름은 chronicle.limitedViewer
입니다.
다음 권한은 IAM에서 Google Security Operations API 제한적 뷰어의 사전 정의된 역할로 제공됩니다.
IAM 권한 | 다음 Google Security Operations RBAC 역할에 매핑되는 동등한 권한 |
---|---|
chronicle.instances.get |
IAM에서만 사용할 수 있습니다. |
chronicle.dashboards.get |
IAM에서만 사용할 수 있습니다. |
chronicle.dashboards.list |
IAM에서만 사용할 수 있습니다. |
chronicle.multitenantDirectories.get |
IAM에서만 사용할 수 있습니다. |
chronicle.logs.list |
IAM에서만 사용할 수 있습니다. |
Chronicle API 뷰어
이 역할은 Google Security Operations 애플리케이션 및 API 리소스에 대한 읽기 전용 액세스 권한을 제공합니다. 역할 이름은 chronicle.viewer
입니다.
다음 권한은 IAM에서 Google Security Operations API 뷰어의 사전 정의된 역할로 제공됩니다.
Google Security Operations permission | Equivalent permission is mapped to this Google Security Operations RBAC role |
---|---|
chronicle.ruleDeployments.get |
Viewer |
chronicle.ruleDeployments.list |
Viewer |
chronicle.rules.verifyRuleText |
Viewer |
chronicle.rules.get |
Viewer |
chronicle.rules.list |
Viewer |
chronicle.legacies.legacyGetRuleCounts |
Viewer |
chronicle.legacies.legacyGetRulesTrends |
Viewer |
chronicle.rules.listRevisions |
Viewer |
chronicle.legacies.legacyGetCuratedRulesTrends |
Viewer |
chronicle.ruleExecutionErrors.list |
Viewer |
chronicle.curatedRuleSets.get |
Viewer |
chronicle.curatedRuleSetDeployments.get |
Viewer |
chronicle.curatedRuleSets.list |
Viewer |
chronicle.curatedRuleSetDeployments.list |
Viewer |
chronicle.curatedRuleSetCategories.get |
Viewer |
chronicle.curatedRuleSetCategories.list |
Viewer |
chronicle.curatedRuleSetCategories.countAllCuratedRuleSetDetections |
Viewer |
chronicle.curatedRuleSets.countCuratedRuleSetDetections |
Viewer |
chronicle.curatedRules.get |
Viewer |
chronicle.curatedRules.list |
Viewer |
chronicle.referenceLists.list |
Viewer |
chronicle.referenceLists.get |
Viewer |
chronicle.referenceLists.verifyReferenceList |
Viewer |
chronicle.retrohunts.get |
Viewer |
chronicle.retrohunts.list |
Viewer |
chronicle.dashboards.schedule |
Editor |
chronicle.operations.get |
None. This is available in IAM only. |
chronicle.operations.list |
None. This is available in IAM only. |
chronicle.operations.wait |
None. This is available in IAM only. |
chronicle.instances.report |
None. This is available in IAM only. |
chronicle.collectors.get |
None. This is available in IAM only. |
chronicle.collectors.list |
None. This is available in IAM only. |
chronicle.forwarders.generate |
None. This is available in IAM only. |
chronicle.forwarders.get |
None. This is available in IAM only. |
chronicle.forwarders.list |
None. This is available in IAM only. |
Chronicle API 편집자
이 역할이 있으면 사용자가 Google Security Operations 애플리케이션 및 API 리소스에 대한 수정 액세스 권한을 갖습니다. 역할 이름은 chronicle.editor
입니다.
다음 권한은 IAM에서 Google Security Operations API 편집자 사전 정의된 역할로 제공됩니다.
Google Security Operations permission | Equivalent permission is mapped to this Google Security Operations RBAC role |
---|---|
chronicle.ruleDeployments.update |
Editor |
chronicle.rules.update |
Editor |
chronicle.rules.create |
Editor |
chronicle.referenceLists.create |
Editor |
chronicle.referenceLists.update |
Editor |
chronicle.rules.runRetrohunt |
Editor |
chronicle.retrohunts.create |
Editor |
chronicle.curatedRuleSetDeployments.batchUpdate |
Editor |
chronicle.curatedRuleSetDeployments.update |
Editor |
chronicle.dashboards.copy |
Editor |
chronicle.dashboards.edit |
Editor |
chronicle.dashboards.create |
Editor |
chronicle.legacies.legacyUpdateFinding |
Editor |
chronicle.dashboards.delete |
Editor |
chronicle.operations.delete |
None. This is available in IAM only. |
Chronicle API 관리자
이 역할은 전역 설정을 포함하여 Google Security Operations 애플리케이션 및 API 서비스에 대한 전체 액세스 권한을 제공합니다. 역할 이름은 chronicle.admin
입니다.
다음 권한은 IAM에서 Google Security Operations API 관리자의 사전 정의된 역할로 제공됩니다.
Google Security Operations permission | Equivalent permission is mapped to this Google Security Operations RBAC role |
---|---|
chronicle.parserExtensions.delete |
Admin |
chronicle.parsers.copyPrebuiltParser |
Admin |
chronicle.extensionValidationReports.get |
Admin |
chronicle.extensionValidationReports.list |
Admin |
chronicle.validationErrors.list |
Admin |
chronicle.parsers.runParser |
Admin |
chronicle.parserExtensions.get |
Admin |
chronicle.parserExtensions.list |
Admin |
chronicle.validationReports.get |
Admin |
chronicle.parserExtensions.create |
Admin |
chronicle.parserExtensions.removeSyslog |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parserExtensions.activate |
Admin |
chronicle.parsers.activateReleaseCandidate |
Admin |
chronicle.parsers.deactivate |
Admin |
chronicle.parsers.deactivate |
Admin |
chronicle.parserExtensions.generateKeyValuechronicle.Mappings |
Admin |
chronicle.parserExtensions.legacySubmitParserExtension |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parsers.list |
Admin |
chronicle.parsers.create |
Admin |
chronicle.parsers.delete |
Admin |
chronicle.feeds.delete |
Admin |
chronicle.feeds.create |
Admin |
chronicle.feeds.update |
Admin |
chronicle.feeds.enable |
Admin |
chronicle.feeds.disable |
Admin |
chronicle.feeds.list |
Admin |
chronicle.feeds.get |
Admin |
chronicle.feedSourceTypeSchemas.list |
Admin |
chronicle.logTypeSchemas.list |
Admin |
chronicle.operations.cancel |
Editor |
chronicle.collectors.create |
None. This is available in IAM only. |
chronicle.collectors.delete |
None. This is available in IAM only. |
chronicle.collectors.update |
None. This is available in IAM only. |
chronicle.forwarders.create |
None. This is available in IAM only. |
chronicle.forwarders.delete |
None. This is available in IAM only. |
chronicle.forwarders.update |
None. This is available in IAM only. |
chronicle.parsingErrors.list |
None. This is available in IAM only. |