> For the complete documentation index, see [llms.txt](https://docs.panther.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.panther.com/ko/data-onboarding/supported-logs/googleworkspace.md).

# Google Workspace 로그

## 개요

Panther는 가져올 수 있습니다 [Google Workspace](https://workspace.google.com/) (이전에는 G Suite로 알려짐) 다음을 쿼리하여 로그 이벤트를 [Google Workspace Reports API](https://developers.google.com/admin-sdk/reports/v1/get-start/getting-started). Panther는 60초마다 Reports API를 새 이벤트에 대해 쿼리합니다.

Panther는 다음 애플리케이션에 대한 Google Workspace 로그를 가져옵니다:

* 액세스 투명성
* 관리자
* 달력
* 채팅
* 크롬
* 클래스룸
* 상황 인식 액세스
* 데이터 스튜디오(Looker Studio)
* 드라이브
* GCP
* Workspace용 Gemini
* 지메일
* 그룹
* 그룹 엔터프라이즈
* Keep
* Login
* Meet
* 모바일
* 룰
* SAML
* 토큰
* 사용자 계정
* Vault

## Google Workspace 로그를 Panther로 온보딩하는 방법

Panther가 Google Workspace Reports API에 액세스하려면 Google Cloud 앱을 생성 및 구성하고 해당 자격 증명을 Panther에 제공해야 합니다.

### 사전 요구 사항

아래 단계를 완료하려면 Google 사용자에게 다음 권한이 있어야 합니다:

* 조직의 활동 기록을 읽도록 승인되어 있어야 합니다
  * 사용자에게 이 권한이 없다면 다음을 따르세요 [이 Google Workspace 안내](https://support.google.com/a/answer/2406043) 에서 Reports 액세스 권한이 있는 새 역할을 만들고 해당 역할을 사용자에게 할당합니다.
* (가져오기를 사용하도록 설정할 계획이라면 [Google Workspace 사용자 프로필](/ko/enrichment/google-workspace.md)) 사용자 읽기 권한이 있어야 합니다

### 1단계: Panther에서 새 Google Workspace 소스 만들기

1. Panther Console의 왼쪽 사이드바 메뉴에서 다음을 클릭합니다 **로그 소스**.
2. 클릭합니다 **새로 만들기.**
3. “Google Workspace”를 검색한 다음 해당 타일을 클릭합니다.
4. 슬라이드아웃 패널에서 다음을 클릭합니다 **설정 시작**.
5. 다음 페이지에서 **구성** 페이지에서 다음 필드를 구성합니다:
   * **이름**: 소스의 설명이 되는 이름을 입력합니다. 예: `내 Google Workspace 로그`.
6. 클릭합니다 **설정.**

### 2단계: Google Cloud 앱 만들기 및 구성

Google Cloud 앱을 설정하기 전에 인증 방법을 선택해야 합니다. 다음을 사용할 수 있습니다 [서비스 계정](https://cloud.google.com/iam/docs/service-account-overview), [Workload Identity Federation](https://docs.cloud.google.com/iam/docs/workload-identity-federation), 또는 [OAuth](https://developers.google.com/identity/protocols/oauth2) —아래의 상위 탭을 참조하세요.

{% hint style="warning" %}
Panther에서 Google Workspace 로그 소스를 생성하면 인증 방법을 변경할 수 없습니다. 이 선택은 로그 소스에 대해 영구적이므로 설정을 진행하기 전에 원하는 인증 방법을 신중하게 선택하세요.
{% endhint %}

{% tabs %}
{% tab title="서비스 계정" %}

1. Google Cloud에서 새 앱을 만듭니다:
   1. 귀하의 [Google Cloud 콘솔](https://console.developers.google.com/project).
   2. 클릭합니다 **+ 프로젝트 만들기.**\
      ![In Google Cloud console, the "+Create Project" button appears at the top of the page under the search bar. In this image, there is a teal circle around it.](/files/8faa73c1d50d9b144aa0c62eaa9cabf5dd5b17d7)
   3. 설명적인 **프로젝트 이름** (예: `Panther Integration`)을 선택하고 **위치**.
   4. 클릭합니다 **생성**.
      * 프로젝트를 만드는 데 몇 초가 걸립니다. 생성되면 페이지에 알림이 표시됩니다.
   5. 왼쪽 사이드바 메뉴에서 세 줄 아이콘을 클릭한 다음 **Cloud Overview** > **Dashboard**.
   6. 방금 만든 프로젝트가 페이지 상단의 드롭다운에서 이미 선택되어 있지 않다면 드롭다운을 열고 선택합니다.\
      ![At the top of the Google Cloud dashboard, there is a dropdown. "Panther integration test" has been selected, and the select box is circled.](/files/cffd2d533779d8e4598e9531c841d5074d8eb80b)
2. Admin SDK API를 사용 설정합니다:
   1. 검색창에 "Admin SDK API"를 입력하고 다음을 선택합니다 **Admin SDK API**.
   2. 다음 페이지에서 **Admin SDK API** 페이지에서 다음 **사용 설정.**\
      ![In the Google Cloud console, an Admin SDK API page is shown. An Enable button is circled.](/files/8ac4c94240e7473dfd09a1f4fe0582f5e7050da3)
      * 새 화면으로 이동됩니다.
3. [새 Google Cloud 서비스 계정 만들기](https://cloud.google.com/iam/docs/creating-managing-service-accounts).
4. [JSON 키 파일 생성](https://cloud.google.com/iam/docs/creating-managing-service-account-keys) 서비스 계정에 대해:

   1. 다음 **IAM 및 관리자** 섹션에서, **서비스 계정**.
   2. 방금 만든 서비스 계정 행에서 다음을 클릭합니다 **작업**그다음 **키 관리**.

      <figure><img src="/files/0156cbaf3e5dde01c26b304a9de72f051d659cdd" alt="" width="563"><figcaption></figcaption></figure>
   3. 클릭합니다 **키 추가** > **새 키 만들기**.

      <figure><img src="/files/3281f79697e35db8f5b4a7d50f510b5e10770480" alt="" width="563"><figcaption></figcaption></figure>
   4. 아래 **키 유형**, 선택 **JSON**, 그런 다음 **생성**.
      * JSON 파일이 다운로드됩니다.

   <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>이 파일에는 이 서비스 계정의 자격 증명이 포함되어 있으므로 안전한 곳에 보관하세요.</p></div>
5. 도메인 전체 위임을 사용 설정합니다:
   1. 방금 만든 서비스 계정 행에서 다음을 클릭합니다 **작업**그다음 **세부정보 관리**.

      <figure><img src="/files/53063a8904c4a6dff6c6da0aedeeb469e210db57" alt="" width="563"><figcaption></figcaption></figure>
   2. 클릭합니다 **고급 설정**, 그런 다음 다음을 복사합니다 **Client ID**.<br>

      <figure><img src="/files/128e1f724ad77be28c537c938658a66dadadc2fe" alt="" width="563"><figcaption></figcaption></figure>
   3. 클릭합니다 **Google Workspace Admin 콘솔 보기**.
   4. 관리자 계정으로 로그인합니다.
   5. 클릭합니다 **보안** → **액세스 및 데이터 제어** → **API 제어**.
   6. 클릭합니다 **도메인 전체 위임 관리**.
   7. 클릭합니다 **새로 추가**.\
      ![](/files/ccc46f2a82e4390a5eb99414d21b4fadaa692a11)
   8. 다음 필드를 입력합니다:
      1. **Client ID**: 위에서 복사한 클라이언트 ID를 입력합니다.
      2. **OAuth 범위** (쉼표로 구분, 공백 없음): 다음을 입력합니다 `https://www.googleapis.com/auth/admin.reports.audit.readonly`
         * (선택 사항) 사용자 프로필이 필요한 경우 쉼표로 구분하여 다음도 입력합니다 `https://www.googleapis.com/auth/admin.directory.user.readonly`
   9. 클릭합니다 **권한 부여**.
6. 다음을 선택합니다 **Google 관리자 사용자** 를 데이터 검색 시 가장하여 사용합니다. 다음 두 가지 옵션이 있습니다:
   * SuperAdmin 계정을 사용합니다: 설정은 더 간단하지만 꼭 필요한 것보다 더 넓은 권한을 부여합니다.
   * 최소 권한 원칙을 따릅니다(권장): 필요한 권한만 가진 전용 Google Workspace 사용자를 만들고 사용합니다
     1. [최소 권한으로 Google Workspace에서 사용자 지정 관리자 역할을 만듭니다](https://support.google.com/a/answer/9807615?hl=en).
     2. 역할에 필요한 최소 권한을 부여합니다:
        1. 필수: Reports → 감사/사용량 읽기 액세스

           <div align="left"><figure><img src="/files/dd3b11cff9b26113a0c4c85d5c1d53150d744099" alt="" width="188"><figcaption></figcaption></figure></div>
        2. 선택 사항: Directory → Users 읽기 액세스(사용자 프로필을 사용하는 경우)

           <div align="left"><figure><img src="/files/b46ddf0217614e8c5f428aa663d05112bbe988c1" alt="" width="188"><figcaption></figcaption></figure></div>
        3. 선택 사항: Vault → Google Vault 모든 로그 액세스

           <div align="left"><figure><img src="/files/17ffd8d5fc08e7842c0e83ddb9475cd229af4de5" alt="" width="188"><figcaption></figcaption></figure></div>
     3. 이 사용자 지정 역할을 전용 Google Workspace 사용자에게 할당합니다.
7. Panther에서 소스 설정을 완료합니다:
   1. 아래 **가져오기 구성 및 JSON 키 파일을 제공하고** JSON 키 파일을 업로드합니다.\
      ![](/files/4ede3d967f7ac97a85178d674500a1aec60ac038)
   2. 다음 **관리자 사용자 이메일** 필드에 다음의 이메일 주소를 입력합니다 **Google 관리자 사용자** 서비스 계정이 가장할 사용자(이전 단계에서 선택함)

      <div align="left"><figure><img src="/files/692c3200e033bbf0e3e32497b6c243399328dcef" alt="" width="375"><figcaption></figcaption></figure></div>
   3. 다음 페이지에서 **보강** 페이지에서 사용 설정하려는 경우 [Google Workspace 사용자 프로필](/ko/enrichment/google-workspace.md), 오른쪽에 **사용자 프로필**, 토글을 클릭합니다 `켜기`.
      * 다음을 기록해 두세요 [Google Workspace 프로필 사용 설정을 위한 사전 요구 사항](/ko/enrichment/google-workspace.md#prerequisites-for-google-workspace-user-profiles).
      * 토글한 경우 **사용자 프로필** `켜기`, 다음도 설정합니다 **새로고침 주기(분)**. 이는 Panther가 Google Workspace에 저장된 내용으로 프로필 데이터를 업데이트하는 주기를 나타냅니다.\
        ![](/files/971b91384bba9695e504aaa2ef2e06fef4001ffa)
   4. 클릭합니다 **설정**. 성공 화면으로 이동합니다:

      <figure><img src="/files/e0820e5acb9452e294cfe3ba72060f0fbbfd3b32" alt="The success screen reads, &#x22;Everything looks good! Panther will now automatically pull &#x26; process logs from your account&#x22;" width="281"><figcaption></figcaption></figure>

      * 선택적으로 하나 이상의 [디택션 팩](https://docs.panther.com/detections/panther-managed/packs).
      * 아직 하지 않았다면 다음을 클릭하세요: **스키마 연결 또는 추론** 소스에 하나 이상의 스키마를 연결합니다.
      * 다음 **이벤트가 처리되지 않으면 알러트를 발생시키기** 설정의 기본값은 **예**. 일정 시간 후 로그 소스에서 데이터 흐름이 중단되면 알러트를 받게 되므로 이 설정을 켠 상태로 두는 것을 권장합니다. 시간 범위는 구성 가능하며 기본값은 24시간입니다.
        {% endtab %}

{% tab title="Workload Identity Federation" %}

1. Google Cloud에서 새 앱을 만듭니다:
   1. 귀하의 [Google Cloud 콘솔](https://console.developers.google.com/project).
   2. 클릭합니다 **+ 프로젝트 만들기.**\
      ![In Google Cloud console, the "+Create Project" button appears at the top of the page under the search bar. In this image, there is a teal circle around it.](/files/8faa73c1d50d9b144aa0c62eaa9cabf5dd5b17d7)
   3. 설명적인 **프로젝트 이름** (예: `Panther Integration`)을 선택하고 **위치**.
   4. 클릭합니다 **생성**.
      * 프로젝트를 만드는 데 몇 초가 걸립니다. 생성되면 페이지에 알림이 표시됩니다.
   5. 왼쪽 사이드바 메뉴에서 세 줄 아이콘을 클릭한 다음 **Cloud Overview** > **Dashboard**.
   6. 방금 만든 프로젝트가 페이지 상단의 드롭다운에서 이미 선택되어 있지 않다면 드롭다운을 열고 선택합니다.\
      ![At the top of the Google Cloud dashboard, there is a dropdown. "Panther integration test" has been selected, and the select box is circled.](/files/cffd2d533779d8e4598e9531c841d5074d8eb80b)
2. Admin SDK API를 사용 설정합니다:
   1. 검색창에 "Admin SDK API"를 입력하고 다음을 선택합니다 **Admin SDK API**.
   2. 다음 페이지에서 **Admin SDK API** 페이지에서 다음 **사용 설정.**\
      ![In the Google Cloud console, an Admin SDK API page is shown. An Enable button is circled.](/files/8ac4c94240e7473dfd09a1f4fe0582f5e7050da3)
      * 새 화면으로 이동됩니다.
3. [새 Google Cloud 서비스 계정 만들기](https://cloud.google.com/iam/docs/creating-managing-service-accounts).
   1. 방금 만든 서비스 계정 행에서 다음을 메모합니다 **이메일**. 다음 단계에서 필요합니다.
4. 다음을 따라 AWS와 함께 Workload Identity Federation을 구성합니다. [AWS 또는 Azure와 함께 Workload Identity Federation 구성](https://cloud.google.com/iam/docs/workload-identity-federation-with-other-clouds) 문서.
   1. 다음을 [속성 매핑 및 조건을 정의하는 동안](https://cloud.google.com/iam/docs/workload-identity-federation-with-other-clouds#mappings-and-conditions), 다음 예제를 참고하세요:

      * 예시 [속성 매핑](https://cloud.google.com/iam/docs/workload-identity-federation#mapping):

        <table><thead><tr><th width="195.8271484375">Google</th><th width="523.1220703125">AWS</th></tr></thead><tbody><tr><td><code>google.subject</code></td><td><code>assertion.arn.extract('arn:aws:sts::{account_id}:')+":"+assertion.arn.extract('assumed-role/{role_and_session}').extract('/{session}')</code></td></tr><tr><td><code>attribute.account</code></td><td><code>assertion.account</code></td></tr></tbody></table>
      * 예시 [속성 조건](https://cloud.google.com/iam/docs/workload-identity-federation#conditions):\
        `attribute.account=="<PANTHER_AWS_ACCOUNT_ID>"`

      <div data-gb-custom-block data-tag="hint" data-style="warning" class="hint hint-warning"><p>다음의 값은 <code>google.subject</code> 속성 <a href="https://cloud.google.com/iam/docs/workload-identity-federation#mapping">127자를 초과할 수 없습니다</a>. 다음을 사용할 수 있습니다 <a href="https://cloud.google.com/iam/docs/workload-identity-federation#mapping">Common Expression Language(CEL) 표현식</a> 을 사용하여 AWS에서 발급한 토큰의 속성을 변환하거나 결합할 수 있습니다. 위 표에서 제안한 표현식은 이 제한을 고려한 것이며, ARN을 Panther 엔터티를 고유하게 식별하는 값으로 변환하려는 시도입니다. AWS 속성에 대한 자세한 내용은 <a href="https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html">이 AWS 문서 페이지의 "Example 2 - Called by user created with AssumeRole"를 참조하세요.</a>.</p></div>
   2. 당신이 [신원 풀에 공급자를 추가할 때](https://cloud.google.com/iam/docs/workload-identity-federation-with-other-clouds#aws), 선택 **AWS**.
   3. 다음으로 이동합니다 **IAM 및 관리자** → **Workload Identity Federation.**
      1. 방금 만든 Workload Identity Pool의 표시 이름을 클릭합니다.
      2. 다음을 메모합니다 **IAM 주체** 이 페이지에 표시된 값을 다음 단계에서 필요합니다.
5. IAM 권한 부여

   1. 다음으로 이동합니다 **IAM 및 관리자** → **서비스 계정**
   2. 방금 만든 서비스 계정 행에서 다음을 클릭합니다 **이메일**
   3. “**액세스 권한이 있는 주체**” 탭으로 이동합니다
   4. “를 클릭합니다**액세스 권한 부여**”

      <div align="left"><figure><img src="/files/9b920bca2e4dbab032978c2c50c2b4746f3f9ceb" alt="" width="563"><figcaption></figcaption></figure></div>
   5. “새 주체” 필드에 다음을 추가해야 합니다 **두 항목**.
      1. 첫 번째 주체: Workload Identity 주체
         1. 이전에 복사한 IAM 주체는 다음과 비슷하게 표시됩니다:

            <pre class="language-bash" data-overflow="wrap"><code class="lang-bash">principal://iam.googleapis.com/projects/&#x3C;PROJECT_NUMBER>/locations/global/workloadIdentityPools/&#x3C;POOL_ID>/subject/SUBJECT_ATTRIBUTE_VALUE
            </code></pre>
         2. **수정합니다** 이 값을 다음과 같이:
            * 다음으로 바꿉니다 `principal://` 헤더가 `principalSet://`
            * /subject/부터 시작하는 모든 내용을 제거합니다
            * 이를 /\*로 바꿉니다
         3. 변경 후 **다음과 같아야 합니다:**

            <pre class="language-bash" data-overflow="wrap"><code class="lang-bash">principalSet://iam.googleapis.com/projects/&#x3C;PROJECT_NUMBER>/locations/global/workloadIdentityPools/&#x3C;POOL_ID>/*
            </code></pre>
         4. 이 수정된 값을 다음에 붙여넣습니다 **새 주체** 필드.
      2. 두 번째 주체: 서비스 계정 이메일
         1. 메타데이터 URL을 **서비스 계정 이메일** 이전 단계에서 메모한 주소
            1. 예시 형식:

               <pre class="language-bash" data-overflow="wrap"><code class="lang-bash">my-service-account@my-project.iam.gserviceaccount.com
               </code></pre>
      3. 확인합니다 **두 항목 모두** 있는지
   6. "역할 할당" 필드에서 다음을 선택합니다 `서비스 계정 토큰 생성자` 역할

   <figure><img src="/files/bebbc58615d057ee00ece2e5f2db461edbad97ae" alt="" width="563"><figcaption></figcaption></figure>

   1. “를 클릭합니다**저장**”
6. [자격 증명 구성 파일 다운로드](https://docs.cloud.google.com/iam/docs/workload-download-cred-and-grant-access#download-configuration), 이는 Panther에서 Google Workspace 로그 API에 인증하는 데 사용됩니다.
7. 도메인 전체 위임을 사용 설정합니다:
   1. 다음으로 이동합니다 **IAM 및 관리자** → **서비스 계정**
   2. 방금 만든 서비스 계정 행에서 다음을 클릭합니다 **작업**그다음 **세부정보 관리**.

      <figure><img src="/files/53063a8904c4a6dff6c6da0aedeeb469e210db57" alt="" width="563"><figcaption></figcaption></figure>
   3. 클릭합니다 **고급 설정**, 그런 다음 다음을 복사합니다 **Client ID**.<br>

      <figure><img src="/files/128e1f724ad77be28c537c938658a66dadadc2fe" alt="" width="563"><figcaption></figcaption></figure>
   4. 클릭합니다 **Google Workspace Admin 콘솔 보기**.
   5. 관리자 계정으로 로그인합니다.
   6. 클릭합니다 **보안** → **액세스 및 데이터 제어** → **API 제어**.
   7. 클릭합니다 **도메인 전체 위임 관리**.
   8. 클릭합니다 **새로 추가**.\
      ![](/files/ccc46f2a82e4390a5eb99414d21b4fadaa692a11)
   9. 다음 필드를 입력합니다:
      1. **Client ID**: 위에서 복사한 클라이언트 ID를 입력합니다.
      2. **OAuth 범위** (쉼표로 구분, 공백 없음): 다음을 입력합니다 `https://www.googleapis.com/auth/admin.reports.audit.readonly`
         * (선택 사항) 사용자 프로필이 필요한 경우 쉼표로 구분하여 다음도 입력합니다 `https://www.googleapis.com/auth/admin.directory.user.readonly`
   10. 클릭합니다 **권한 부여**.
8. 서비스 계정이 데이터를 검색할 때 가장할 Google 관리자 사용자 계정을 선택합니다. 자세한 내용은 [왜 가장을 위해 관리자 사용자 이메일이 필요한가요?](https://help.panther.com/articles/6633569239-why-does-setting-up-google-workspace-with-workload-identity-federation-in-panther-require-an-admin-user-email-for-impersonation?lang=en) 에서 자세한 내용을 확인하세요.\n다음 두 가지 옵션이 있습니다:
   * SuperAdmin 계정을 사용합니다: 설정은 더 간단하지만 꼭 필요한 것보다 더 넓은 권한을 부여합니다.
   * 최소 권한 원칙을 따릅니다(권장): 필요한 권한만 가진 전용 Google Workspace 사용자를 만들고 사용합니다.
     1. [최소 권한으로 Google Workspace에서 사용자 지정 관리자 역할을 만듭니다](https://support.google.com/a/answer/9807615?hl=en).
     2. 역할에 필요한 최소 권한을 부여합니다:
        1. 필수: Reports → 감사/사용량 읽기 액세스

           <div align="left"><figure><img src="/files/dd3b11cff9b26113a0c4c85d5c1d53150d744099" alt="" width="188"><figcaption></figcaption></figure></div>
        2. 선택 사항: Directory → Users 읽기 액세스(사용자 프로필을 사용하는 경우)

           <div align="left"><figure><img src="/files/b46ddf0217614e8c5f428aa663d05112bbe988c1" alt="" width="188"><figcaption></figcaption></figure></div>
        3. 선택 사항: Vault → Google Vault 모든 로그 액세스

           <div align="left"><figure><img src="/files/17ffd8d5fc08e7842c0e83ddb9475cd229af4de5" alt="" width="188"><figcaption></figcaption></figure></div>
     3. 이 사용자 지정 역할을 전용 Google Workspace 사용자에게 할당합니다.
9. Panther에서 소스 설정을 완료합니다:
   1. 아래 **가져오기 구성 및 자격 증명 구성 파일을 제공하고** 자격 증명 구성 파일을 업로드합니다.

      <figure><img src="/files/97befe08ef68f30458377698a39d5298640d13c3" alt=""><figcaption></figcaption></figure>
   2. 다음 **관리자 사용자 이메일** 필드에 다음의 이메일 주소를 입력합니다 **Google 관리자 사용자** 서비스 계정이 가장할 사용자(이전 단계에서 선택함)

      <div align="left"><figure><img src="/files/e049943c73a6a019b53dcbf1d04b0ee317a54e30" alt="" width="375"><figcaption></figcaption></figure></div>
   3. 다음 페이지에서 **보강** 페이지에서 사용 설정하려는 경우 [Google Workspace 사용자 프로필](/ko/enrichment/google-workspace.md), 오른쪽에 **사용자 프로필**, 토글을 클릭합니다 `켜기`.
      * 다음을 기록해 두세요 [Google Workspace 프로필 사용 설정을 위한 사전 요구 사항](/ko/enrichment/google-workspace.md#prerequisites-for-google-workspace-user-profiles).
        * 토글한 경우 **사용자 프로필** `켜기`, 다음도 설정합니다 **새로고침 주기(분)**. 이는 Panther가 Google Workspace에 저장된 내용으로 프로필 데이터를 업데이트하는 주기를 나타냅니다.\
          ![](/files/971b91384bba9695e504aaa2ef2e06fef4001ffa)
   4. 클릭합니다 **설정**. 성공 화면으로 이동합니다:

      <figure><img src="/files/e0820e5acb9452e294cfe3ba72060f0fbbfd3b32" alt="The success screen reads, &#x22;Everything looks good! Panther will now automatically pull &#x26; process logs from your account&#x22;" width="281"><figcaption></figcaption></figure>

      * 선택적으로 하나 이상의 [디택션 팩](https://docs.panther.com/detections/panther-managed/packs).
      * 아직 하지 않았다면 다음을 클릭하세요: **스키마 연결 또는 추론** 소스에 하나 이상의 스키마를 연결합니다.
      * 다음 **이벤트가 처리되지 않으면 알러트를 발생시키기** 설정의 기본값은 **예**. 일정 시간 후 로그 소스에서 데이터 흐름이 중단되면 알러트를 받게 되므로 이 설정을 켠 상태로 두는 것을 권장합니다. 시간 범위는 구성 가능하며 기본값은 24시간입니다.
        {% endtab %}

{% tab title="OAuth" %}

1. 다음 페이지에서 **자격 증명** 페이지에서 리디렉션 URL을 복사해 안전한 위치에 보관합니다. 다음 단계에서 필요합니다.

   <div align="left"><figure><img src="/files/0029f71f3306532804cb5f82fe6e4720802950ed" alt="" width="375"><figcaption></figcaption></figure></div>
2. Google Cloud에서 새 앱을 만듭니다:
   1. 귀하의 [Google Cloud 콘솔](https://console.developers.google.com/project).
   2. 클릭합니다 **+ 프로젝트 만들기.**\
      ![In Google Cloud console, the "+Create Project" button appears at the top of the page under the search bar. In this image, there is a teal circle around it.](/files/8faa73c1d50d9b144aa0c62eaa9cabf5dd5b17d7)
   3. 설명적인 **프로젝트 이름** (예: `Panther Integration`)을 선택하고 **위치**.
   4. 클릭합니다 **생성**.
      * 프로젝트를 만드는 데 몇 초가 걸립니다. 생성되면 페이지에 알림이 표시됩니다.
   5. 왼쪽 사이드바 메뉴에서 세 줄 아이콘을 클릭한 다음 **Cloud Overview** > **Dashboard**.
   6. 방금 만든 프로젝트가 페이지 상단의 드롭다운에서 이미 선택되어 있지 않다면 드롭다운을 열고 선택합니다.\
      ![At the top of the Google Cloud dashboard, there is a dropdown. "Panther integration test" has been selected, and the select box is circled.](/files/cffd2d533779d8e4598e9531c841d5074d8eb80b)
   7. 상단 검색창에서 "OAuth consent screen"을 검색한 다음 일치하는 결과를 선택합니다.\
      ![The search bar at the top of Google Cloud Console has the search term "oauth consent screen" typed in it. the first result, "OAuth consent screen," is circled](/files/cd1f998db4ba84fbb1b6b02fed76d3eb981b20e8)
   8. 다음 페이지에서 **OAuth 동의 화면** 페이지에서 다음 **시작하기**.
3. 새 Google Cloud 앱을 구성하고 Admin SDK API를 사용 설정합니다:
   1. 다음 페이지에서 **OAuth 동의 화면** > **브랜딩** 페이지에서 다음 정보를 입력합니다:
      * **앱 이름**: 프로젝트 이름 또는 프로젝트 ID를 입력합니다.
      * **사용자 지원 이메일**: 이메일 주소를 선택합니다.
      * **대상:** 선택 `내부`.
      * **개발자 연락처 정보**: 이메일 주소를 입력합니다.
      * 다른 필드는 비워 둡니다.
   2. 클릭합니다 **저장 후 계속**.
   3. 다음 페이지에서 **데이터 액세스** > **범위** 페이지에서 다음 **범위 추가 또는 삭제**.
   4. 다음 **범위를 수동으로 추가** 섹션에 다음을 입력합니다 `https://www.googleapis.com/auth/admin.reports.audit.readonly`
      * (선택 사항) 사용자 프로필이 필요한 경우 다음도 입력합니다\
        `https://www.googleapis.com/auth/admin.directory.user.readonly`
   5. 클릭합니다 **표에 추가** 및 **업데이트**.\
      ![In the Manually add scopes section of the Google Cloud page, a URL has been entered. There is an arrow pointing from the Add to table button to the Update button.](/files/28c6689bb2962c953f1de6b1d89b1309cc59675d)
   6. 클릭합니다 **저장.**
   7. 검색창에서 "Admin SDK API"를 검색한 다음 다음을 선택합니다 **Admin SDK API**.
   8. 다음 페이지에서 **Admin SDK API** 페이지에서 다음 **사용 설정.**\
      ![In the Google Cloud console, an Admin SDK API page is shown. An Enable button is circled.](/files/8ac4c94240e7473dfd09a1f4fe0582f5e7050da3)
      * 새 화면으로 이동됩니다.
4. 새 Google Cloud 앱에 대한 OAuth 자격 증명을 만듭니다:
   1. 왼쪽 탐색 메뉴에서 다음을 클릭합니다 **자격 증명.**
   2. 페이지 상단에서 **+ 자격 증명 만들기**.
   3. 클릭합니다 **OAuth 클라이언트 ID.**\
      ![In Google Cloud console, the Credentials link in the left sidebar is highlighted. There is an arrow pointing from it to the "+ Create Credentials" link. There is an arrow pointing from "+ Create Credentials" to one of the dropdown options, "OAuth Client ID"](/files/da7a6fe859ba0a070e911378e29729648fc0988b)
      * 다른 페이지로 이동됩니다.
   4. 다음 페이지에서 **OAuth 클라이언트 ID 만들기** 페이지에서 **애플리케이션 유형** 필드에서 다음을 선택합니다 **웹 애플리케이션** 를 선택하고 친숙한 **이름**예: `Panther`.
   5. 다음까지 아래로 스크롤합니다 **승인된 리디렉션 URI** 섹션에서 다음을 클릭합니다 **+ URI 추가**.
   6. 다음 **URI 1** 필드에 위에서 복사한 리디렉션 URL을 2.1단계에서 붙여넣습니다. 이는 Panther Console의 로그 소스 **자격 증명 설정** 페이지.\
      ![There is an "Authorized Redirect URIs" header. There is a field labeled "URIs 1". At the bottom, there is a blue "Create" button.](/files/748944d57e9d59937e1964c411d1c66e1cbba1a6)
   7. 클릭합니다 **생성**.
   8. 팝업 모달에 다음이 표시됩니다 **Client ID** 및 **Client Secret**. 안전한 방법으로 ClientID와 Client Secret을 기록해 둡니다. 보고서를 가져오려면 Panther Console에 이를 제공해야 합니다.
5. Panther에서 Google Workspace 소스 설정을 완료합니다:

   1. 이전 문서에서 [Panther Console에서 로그 소스 설정을 시작한 브라우저 창 또는 탭을 엽니다](#step-1-create-a-new-google-workspace-source-in-panther).
   2. 다음 페이지에서 **자격 증명** 페이지에 다음을 입력하세요. **Client ID** 및 **Client Secret** Google Cloud 콘솔에서 제공됩니다.

      <div align="left"><figure><img src="/files/0029f71f3306532804cb5f82fe6e4720802950ed" alt="" width="375"><figcaption></figcaption></figure></div>

      * 이전 단계에서 이 값을 저장하지 않았다면 Google Cloud 콘솔의 다음 위치에서 찾을 수 있습니다 **APIs 및 서비스** > **자격 증명** > **OAuth 2.0 클라이언트 ID**.
   3. 클릭합니다 **계속**.
   4. 다음 페이지에서 **보강** 페이지에서 사용 설정하려는 경우 [Google Workspace 사용자 프로필](/ko/enrichment/google-workspace.md), 오른쪽에 **사용자 프로필**, 토글을 클릭합니다 `켜기`.
      * 다음을 기록해 두세요 [Google Workspace 프로필 사용 설정을 위한 사전 요구 사항](/ko/enrichment/google-workspace.md#prerequisites-for-google-workspace-user-profiles).
      * 토글한 경우 **사용자 프로필** `켜기`, 다음도 설정합니다 **새로고침 주기(분)**. 이는 Panther가 Google Workspace에 저장된 내용으로 프로필 데이터를 업데이트하는 주기를 나타냅니다.\
        ![](/files/971b91384bba9695e504aaa2ef2e06fef4001ffa)
   5. 클릭합니다 **설정**.
   6. 다음 페이지에서 **확인** 페이지에서 다음 **액세스 허용**.

      * 이를 통해 이전에 만든 Google Workspace 앱이 계정에서 Google Workspace 로그를 가져오도록 승인하라는 메시지가 표시됩니다.
      * 클릭합니다 **허용**.

      <div align="center" data-full-width="false"><img src="/files/f4b0112c4e0e0b454a433728c74adcf9a210f4dd" alt="Google 프롬프트의 제목은 &#x22;Panther integration app wants to access your Google Account.&#x22;입니다. 아래에는 &#x22;This will allow Panther integration app to: View audit reports for your G Suite domain.&#x22;이라고 표시됩니다. 아래에는 허용 및 취소 버튼이 있습니다." width="188"></div>
   7. Panther Console로 다시 이동되며, 성공 화면이 표시됩니다:

   <figure><img src="/files/e0820e5acb9452e294cfe3ba72060f0fbbfd3b32" alt="The success screen reads, &#x22;Everything looks good! Panther will now automatically pull &#x26; process logs from your account&#x22;" width="281"><figcaption></figcaption></figure>

   * 선택적으로 하나 이상의 [디택션 팩](https://docs.panther.com/detections/panther-managed/packs).
   * 다음 **이벤트가 처리되지 않으면 알러트를 발생시키기** 설정의 기본값은 **예**. 일정 시간 후 로그 소스에서 데이터 흐름이 중단되면 알러트를 받게 되므로 이 설정을 켠 상태로 두는 것을 권장합니다. 시간 범위는 구성 가능하며 기본값은 24시간입니다.

     <figure><img src="/files/7db146cd7acee3d0704a4a8b2157f230cfa22168" alt="The &#x22;Trigger an alert when no events are processed&#x22; toggle is set to YES. The &#x22;How long should Panther wait before it sends you an alert that no events have been processed&#x22; setting is set to 1 Day" width="320"><figcaption></figcaption></figure>

{% endtab %}
{% endtabs %}

## Panther가 관리하는 디택션

참고 [Panther가 관리하는](/ko/detections/panther-managed.md) 다음의 Google Workspace 규칙 [panther-analysis GitHub 저장소](https://github.com/panther-labs/panther-analysis/tree/master/rules) (다음으로 시작하는 디렉터리에서 `gsuite_`).

## 지원되는 로그 유형

Panther는 Google의 다음에서 데이터를 가져옵니다 [Reports Activities API](https://developers.google.com/admin-sdk/reports/reference/rest/v1/activities) 여기에는 관리자 활동, 로그인 활동, 토큰 활동, Google Drive 활동 등이 포함됩니다.

이 데이터는 다음 두 가지로 모두 저장됩니다 [`GSuite.ActivityEvent`](#gsuite.activityevent) 및 [`GSuite.Reports`](#gsuite.reports) 로그 유형으로 저장됩니다. 이 두 스키마에는 동일한 데이터가 포함되어 있지만 다음을 사용하는 것이 좋습니다 `Gsuite.ActivityEvent` 이벤트를 평면화하여 쿼리와 탐지에서 필드를 참조하기 쉽게 만들기 때문입니다.

두 스키마 모두 동일한 데이터를 캡처하지만 데이터 레이크에 저장하는 방식은 다릅니다. 예를 들어, `GSuite.Reports` 여러 이벤트가 하나의 페이로드에 묶이므로 데이터 레이크의 로그 수가 약간 더 적을 수 있습니다. 그러나 `GSuite.ActivityEvent`, 각 이벤트는 Panther에서 단일 이벤트가 됩니다. 이 동작에 대한 자세한 내용은 Knowledge Base 문서에서 확인할 수 있습니다: [Panther 로그 유형 GSuite.Reports와 GSuite.ActivityEvent의 차이점은 무엇인가요?](https://help.panther.com/articles/4763221133-what-is-the-difference-between-the-panther-log-types-gsuite-reports-and-gsuite-activityevent)

{% hint style="info" %}
Google Workspace 로그는 두 곳 모두에 저장되지만 `GSuite.ActivityEvent` 및 `GSuite.Reports` 데이터 레이크의 테이블에 저장되며, 데이터는 수집 할당량에 대해 한 번만 계산됩니다.
{% endhint %}

### GSuite.ActivityEvent

관리자 콘솔 애플리케이션 또는 Google Drive 애플리케이션과 같은 특정 계정 및 애플리케이션의 활동 이벤트를 포함합니다.

참조: [Reports API Activities List에 대한 Google Workspace 문서.](https://developers.google.com/admin-sdk/reports/v1/reference/activities/list#response)

```yaml
필드:
    - 이름: id
      필수: true
      description: 각 활동 레코드의 고유 식별자.
      유형: object
      필드:
        - name: applicationName
          description: 이벤트가 속한 애플리케이션 이름.
          유형: string
        - 이름: customerId
          description: Google Workspace 계정의 고유 식별자.
          유형: string
        - name: time
          description: 활동 발생 시간.
          유형: timestamp
          시간 형식: rfc3339
          이벤트 시간 여부: true
        - name: uniqueQualifier
          description: 여러 이벤트가 같은 시간을 갖는 경우의 고유 식별자.
          유형: string
    - name: actor
      description: 작업을 수행하는 사용자.
      유형: object
      필드:
        - 이름: email
          description: 행위자의 기본 이메일 주소. 행위자와 연결된 이메일 주소가 없으면 없을 수 있습니다.
          유형: string
          지표:
            - email
        - name: profileId
          description: 행위자의 고유 Google Workspace 프로필 ID. 행위자가 Google Workspace 사용자가 아니면 없을 수 있습니다.
          유형: string
        - name: callerType
          description: 행위자 유형.
          유형: string
        - 이름: key
          description: callerType이 KEY인 경우에만 표시됩니다. OAuth 2LO API 요청의 요청자 consumer_key이거나 로봇 계정의 식별자일 수 있습니다.
          유형: string
    - 이름: kind
      필수: true
      description: API 리소스 유형입니다. 활동 보고서의 경우 값은 reports#activities입니다.
      유형: string
    - name: ownerDomain
      description: 보고서의 이벤트에 의해 영향을 받는 도메인입니다. 예: 관리자 콘솔의 도메인 또는 Drive 애플리케이션의 문서 소유자 도메인.
      유형: string
      지표:
        - domain
    - 이름: ipAddress
      description: 작업을 수행하는 사용자의 IP 주소입니다. 이는 Google Workspace에 로그인할 때의 사용자의 인터넷 프로토콜(IP) 주소이며, 사용자의 실제 위치를 반영할 수도 있고 그렇지 않을 수도 있습니다. 예를 들어 IP 주소는 사용자의 프록시 서버 주소 또는 가상 사설망(VPN) 주소일 수 있습니다. API는 IPv4 및 IPv6를 지원합니다.
      유형: string
      지표:
        - ip
    - 이름: type
      description: 이벤트 유형입니다. 관리자가 변경하는 Google Workspace 서비스 또는 기능은 eventName 속성을 사용해 이벤트를 식별하는 type 속성에 의해 식별됩니다. API의 type 범주 전체 목록은 위의 applicationName에 있는 다양한 애플리케이션의 이벤트 이름 목록을 참조하세요.
      유형: string
    - 이름: name
      description: 이벤트 이름입니다. API가 보고하는 활동의 구체적인 이름입니다. 각 eventName은 API가 이벤트 유형으로 구성하는 특정 Google Workspace 서비스 또는 기능과 관련됩니다.
      유형: string
    - name: parameters
      description: 다양한 애플리케이션의 매개변수 값 쌍입니다. eventName 매개변수에 대한 자세한 내용은 위의 applicationName에 있는 다양한 애플리케이션의 이벤트 이름 목록을 참조하세요.
      유형: json
```

### GSuite.Reports

{% hint style="warning" %}
다음을 사용하는 것을 권장합니다 [`GSuite.ActivityEvent`](#gsuite.activityevent) 대신 `GSuite.Reports`. 두 스키마 모두 동일한 데이터를 포함하지만, 다음의 구조는 `GSuite.ActivityEvent` 더 평면적이어서 쿼리와 탐지에서 참조하기 더 쉽습니다.
{% endhint %}

관리자 콘솔 애플리케이션 또는 Google Drive 애플리케이션과 같은 특정 계정 및 애플리케이션의 활동 이벤트를 포함합니다.

참조: [Reports API Activities List에 대한 Google Workspace 문서.](https://developers.google.com/admin-sdk/reports/v1/reference/activities/list#response)

<pre class="language-yaml"><code class="lang-yaml">schema: GSuite.Reports
description: 
<strong>referenceURL: https://developers.google.com/admin-sdk/reports/v1/reference/activities/list#response
</strong>필드:
    - 이름: id
      필수: true
      description: 각 활동 레코드의 고유 식별자.
      유형: object
      필드:
        - name: applicationName
          description: 이벤트가 속한 애플리케이션 이름.
          유형: string
        - 이름: customerId
          description: Google Workspace 계정의 고유 식별자.
          유형: string
        - name: time
          description: 활동 발생 시간.
          유형: timestamp
          시간 형식: rfc3339
          이벤트 시간 여부: true
        - name: uniqueQualifier
          description: 여러 이벤트가 같은 시간을 갖는 경우의 고유 식별자.
          유형: string
    - name: actor
      description: 작업을 수행하는 사용자.
      유형: object
      필드:
        - 이름: email
          description: 행위자의 기본 이메일 주소. 행위자와 연결된 이메일 주소가 없으면 없을 수 있습니다.
          유형: string
          지표:
            - email
        - name: profileId
          description: 행위자의 고유 Google Workspace 프로필 ID. 행위자가 Google Workspace 사용자가 아니면 없을 수 있습니다.
          유형: string
        - name: callerType
          description: 행위자 유형.
          유형: string
        - 이름: key
          description: callerType이 KEY인 경우에만 표시됩니다. OAuth 2LO API 요청의 요청자 consumer_key이거나 로봇 계정의 식별자일 수 있습니다.
          유형: string
    - 이름: kind
      필수: true
      description: API 리소스 유형입니다. 활동 보고서의 경우 값은 reports#activities입니다.
      유형: string
    - name: ownerDomain
      description: 보고서의 이벤트에 의해 영향을 받는 도메인입니다. 예: 관리자 콘솔의 도메인 또는 Drive 애플리케이션의 문서 소유자 도메인.
      유형: string
      지표:
        - domain
    - 이름: ipAddress
      description: 작업을 수행하는 사용자의 IP 주소입니다. 이는 Google Workspace에 로그인할 때의 사용자의 인터넷 프로토콜(IP) 주소이며, 사용자의 실제 위치를 반영할 수도 있고 그렇지 않을 수도 있습니다. 예를 들어 IP 주소는 사용자의 프록시 서버 주소 또는 가상 사설망(VPN) 주소일 수 있습니다. API는 IPv4 및 IPv6를 지원합니다.
      유형: string
      지표:
        - ip
    - 이름: events
      description: 보고서의 활동 이벤트입니다.
      유형: array
      요소:
        유형: object
        필드:
            - 이름: type
              description: 이벤트 유형입니다. 관리자가 변경하는 Google Workspace 서비스 또는 기능은 eventName 속성을 사용해 이벤트를 식별하는 type 속성에 의해 식별됩니다. API의 type 범주 전체 목록은 위의 applicationName에 있는 다양한 애플리케이션의 이벤트 이름 목록을 참조하세요.
              유형: string
            - 이름: name
              description: 이벤트 이름입니다. API가 보고하는 활동의 구체적인 이름입니다. 각 eventName은 API가 이벤트 유형으로 구성하는 특정 Google Workspace 서비스 또는 기능과 관련됩니다.
              유형: string
            - name: parameters
              description: 다양한 애플리케이션의 매개변수 값 쌍입니다. eventName 매개변수에 대한 자세한 내용은 위의 applicationName에 있는 다양한 애플리케이션의 이벤트 이름 목록을 참조하세요.
              유형: array
              요소:
                유형: object
                필드:
                    - 이름: name
                      description: 매개변수의 이름입니다.
                      유형: string
                    - 이름: value
                      description: 매개변수의 문자열 값입니다.
                      유형: string
                    - name: intValue
                      description: 매개변수의 정수 값입니다.
                      유형: bigint
                    - name: boolValue
                      description: 매개변수의 불리언 값입니다.
                      유형: boolean
                    - name: multiValue
                      description: 매개변수의 문자열 값들입니다.
                      유형: array
                      요소:
                        유형: string
                    - name: multiIntValue
                      description: 매개변수의 정수 값들입니다.
                      유형: array
                      요소:
                        유형: bigint
                    - name: messageValue
                      description: '이 매개변수와 관련된 중첩된 매개변수 값 쌍입니다. 매개변수의 복합 값 유형은 매개변수 값 목록으로 반환됩니다. 예를 들어 address 매개변수는 [{parameter: [{name: city, value: abc}]}] 같은 값을 가질 수 있습니다]'
                      유형: json
                    - name: multiMessageValue
                      description: messageValue 객체의 목록입니다.
                      유형: array
                      요소:
                        유형: json
</code></pre>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.panther.com/ko/data-onboarding/supported-logs/googleworkspace.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
