Active Directory 사용자 계정 프로비저닝

Last reviewed 2023-02-27 UTC

이 가이드에서는 Google Cloud 디렉터리 동기화(GCDS)를 사용하여 Active Directory와 Cloud ID 또는 Google Workspace 계정 간에 사용자 및 그룹 프로비저닝을 설정하는 방법을 보여줍니다.

이 가이드를 따르려면 Active Directory에서 사용자와 그룹을 관리하도록 허용된 Active Directory 사용자가 있어야 합니다. 또한 Cloud ID 또는 Google Workspace 계정이 아직 없는 경우 도메인을 확인하려면 DNS 영역에 대한 관리 액세스 권한이 있어야 합니다. 이미 Cloud ID 또는 Google Workspace 계정이 있다면 사용자에게 최고 관리자 권한이 있는지 확인합니다.

목표

  • GCDS를 설치하고 이를 Active Directory 및 Cloud ID 또는 Google Workspace에 연결합니다.
  • 사용자 및 그룹(선택사항)을 Google Cloud에 프로비저닝하도록 GCDS를 구성합니다
  • 지속적으로 프로비저닝하기 위해 예약된 태스크를 설정합니다.

비용

Cloud ID의 무료 버전을 사용하는 경우 이 가이드를 따르는 과정에서 청구 가능한 Google Cloud 구성요소가 사용되지 않습니다.

시작하기 전에

  • Active Directory ID 관리를 Google Cloud로 확장하는 방법을 이해해야 합니다.
  • ID, 그룹, 도메인을 어떻게 매핑할지 결정하세요. 구체적으로 다음 질문에 답했는지 확인하세요.

    • Cloud ID 또는 Google Workspace의 기본 도메인으로 사용할 DNS 도메인은 무엇인가요? 보조 도메인으로 사용할 추가 DNS 도메인은 무엇인가요?
    • 도메인 대체를 사용해야 하나요?
    • 이메일 주소(mail) 또는 사용자 기본 이름(userPrincipalName)을 사용자의 공통 식별자로 사용할 계획인가요?
    • 그룹을 프로비저닝할 계획인가요? 그렇다면 그룹의 공통 식별자로 일반 이름(cn) 또는 이메일 주소(mail)를 사용할 계획인가요?

    이러한 결정을 위한 지침은 Active Directory ID 및 액세스 관리를 Google Cloud로 확장하는 방법에 대한 개요 문서를 참조하세요.

  • 프로덕션 Active Directory를 Google Cloud에 연결하기 전에 Active Directory 테스트 환경을 사용하여 사용자 프로비저닝을 설정하고 테스트해보세요.

  • 아직 계정이 없으면 Cloud ID에 가입하고 필요하면 추가 DNS 도메인을 추가하세요.

  • Cloud ID 무료 버전을 사용 중이고 50명이 넘는 사용자를 프로비저닝하려는 경우 지원 담당자를 통해 총 무료 Cloud ID 사용자 수 증가를 요청하세요.

  • Cloud ID에 사용할 도메인을 직원이 일반 계정 등록에 사용한 것으로 의심되는 경우 우선 이러한 사용자 계정의 마이그레이션을 고려해 보세요. 자세한 내용은 기존 사용자 계정 평가를 참조하세요.

GCDS 배포 계획

GCDS를 배포할 위치 결정

GCDS는 LDAP 디렉터리에서 사용자 및 그룹을 Cloud ID 또는 Google Workspace로 프로비저닝할 수 있습니다. LDAP 서버와 Cloud ID 또는 Google Workspace의 중간 역할을 하는 GCDS는 LDAP 디렉터리를 쿼리하여 디렉터리에서 필요한 정보를 검색하고 Directory API를 사용하여 Cloud ID 또는 Google Workspace 계정의 사용자를 추가, 수정, 삭제합니다.

Active Directory Domain Services가 LDAP를 기반으로 하므로 GCDS는 Active Directory와 Cloud ID 또는 Google Workspace간에 사용자 프로비저닝을 구현하는 데 적합합니다.

온프레미스 Active Directory 인프라를 Google Cloud에 연결할 때 GCDS를 온프레미스에서 또는 Google Cloud의 Compute Engine 가상 머신에서 실행할 수 있습니다. 대부분의 경우 GCDS를 온프레미스에서 실행하는 것이 가장 좋습니다.

  • Active Directory에서 관리하는 정보가 개인 식별 정보를 포함하고 대개 민감한 정보로 간주되므로 Active Directory를 로컬 네트워크 외부에서 액세스하지 못하게 할 수 있습니다.
  • 기본적으로 Active Directory는 암호화되지 않은 LDAP를 사용합니다. Google Cloud 내에서 원격으로 Active Directory를 액세스하는 경우 암호화된 통신을 사용해야 합니다. LDAPS(LDAP+SSL) 또는 Cloud VPN을 사용하여 연결을 암호화할 수도 있지만
  • GCDS에서 Cloud ID 또는 Google Workspace로의 통신은 HTTPS를 통해 이루어지며, 방화벽 구성을 거의 또는 전혀 변경할 필요가 없습니다.

Windows 또는 Linux에서 GCDS를 실행할 수 있습니다. 도메인 컨트롤러에 GCDS를 배포할 수 있지만, 별도의 머신에서 GCDS를 실행하는 것이 가장 좋습니다. 이 머신은 시스템 요구사항을 충족하고 Active Directory에 대한 LDAP 액세스 권한이 있어야 합니다. 이 머신이 반드시 도메인에 가입되어 있거나 Windows를 실행해야 하는 것은 아니지만, 이 가이드에서는 Cloud 디렉터리 동기화가 도메인에 가입된 Windows 머신에서 실행된다고 가정합니다.

프로비저닝 설정을 지원하기 위해 GCDS에는 구성 관리자라는 그래픽 사용자 인터페이스 (GUI)가 포함되어 있습니다. GCDS를 실행하려는 서버에 데스크톱 환경이 있으면 서버 자체에서 구성 관리자를 실행할 수 있습니다. 그렇지 않으면 구성 관리자를 로컬로 실행한 다음, 결과 구성 파일을 서버로 복사해야 하며 서버에서 이 파일을 사용하여 GCDS를 실행할 수 있습니다. 이 가이드에서는 서버에서 GUI를 통해 구성 관리자를 실행한다고 가정합니다.

데이터를 검색할 위치 결정

GCDS는 LDAP를 사용하여 Active Directory와 상호작용하고 사용자 및 그룹에 대한 정보를 검색합니다. 이 상호작용을 가능하게 하려면 사용자가 구성에 호스트 이름과 포트를 제공해야 합니다. 단일 글로벌 카탈로그 서버만 실행하는 소규모 Active Directory 환경에서는 GCDS가 바로 글로벌 카탈로그 서버를 가리키도록 설정할 수 있기 때문에 호스트 이름과 포트를 제공하는 것이 문제가 되지 않습니다.

중복된 글로벌 카탈로그(GC) 서버를 실행하는 보다 복잡한 환경에서 GCDS가 단일 서버를 가리키도록 하면 중복성이 활용되지 않으므로 이상적이지 않습니다. LDAP 쿼리를 여러 글로벌 카탈로그 서버에 배포하고 일시적으로 사용할 수 없는 서버를 추적하는 부하 분산기를 설정할 수도 있지만, DC 로케이터 메커니즘을 사용하여 서버를 동적으로 배치하는 것이 좋습니다.

기본적으로 GCDS를 사용하려면 LDAP 서버의 엔드포인트를 명시적으로 지정해야 합니다. 단, GCDS 자체는 DC 로케이터 메커니즘 사용을 지원하지 않습니다 이 가이드에서는 DC 로케이터 메커니즘을 사용하는 작은 PowerShell 스크립트로 GCDS를 보완하므로 글로벌 카탈로그 서버의 엔드포인트를 정적으로 구성할 필요가 없습니다.

Cloud ID 또는 Google Workspace 계정 준비

GCDS의 사용자 만들기

GCDS가 Cloud ID와 Google Workspace의 Directory APIDomain Shared Contacts API와 상호작용하려면 애플리케이션에 관리 권한이 있는 사용자 계정이 필요합니다.

Cloud ID 또는 Google Workspace에 가입할 때 이미 최고 관리자 계정 하나를 만들었습니다. 이 사용자를 GCDS에 사용할 수 있지만 Cloud 디렉터리 동기화에서만 사용되는 별도의 사용자를 만드는 것이 좋습니다.

  1. 관리 콘솔을 열고 Cloud ID 또는 Google Workspace에 가입할 때 만든 최고 관리자를 사용하여 로그인합니다.
  2. 메뉴에서 디렉터리 > 사용자를 클릭한 후 새 사용자 추가를 클릭하여 사용자를 만듭니다.
  3. 다음과 같이 적절한 이름과 이메일 주소를 입력합니다.

    1. 이름: Google Cloud
    2. : Directory Sync
    3. 기본 이메일: cloud-directory-sync

    도메인이 프로비저닝할 원본 포리스트와 일치하지 않아도 이메일 주소에 기본 도메인을 유지하세요.

  4. 자동으로 새 비밀번호 생성사용 중지됨으로 설정되어 있는지 확인하고 암호를 입력합니다.

  5. 다음 로그인 시 비밀번호 변경 요청사용 중지됨으로 설정되어 있는지 확인합니다.

  6. 새 사용자 추가를 클릭합니다.

  7. 완료를 클릭합니다.

GCDS에서 사용자 계정과 그룹을 생성, 나열, 삭제할 수 있게 하려면 사용자에게 추가 권한이 필요합니다. 또한 사용자를 싱글 사인온(SSO)에서 제외하는 것이 좋습니다. 그렇지 않으면 싱글 사인온(SSO) 문제가 발생했을 때 GCDS를 다시 승인할 수 없습니다. 사용자를 최고 관리자로 만들면 이 두 가지 사항이 모두 해결됩니다.

  1. 목록에서 새로 생성된 사용자를 찾아서 엽니다.
  2. 관리자 역할 및 권한에서 역할 할당을 클릭합니다.
  3. 최고 관리자 역할을 사용 설정합니다.
  4. 저장을 클릭합니다.

사용자 프로비저닝 구성

GCDS의 Active Directory 사용자 만들기

GCDS가 Active Directory에서 사용자 및 그룹에 대한 정보를 검색할 수 있게 하려면 GCDS에 충분한 액세스 권한이 있는 도메인 사용자가 필요합니다. 이러한 용도에 기존 Windows 사용자를 재사용하는 대신 GCDS 사용자의 전용 계정을 만드세요.

그래픽 인터페이스

  1. 시작 메뉴에서 Active Directory 사용자 및 컴퓨터 MMC 스냅인을 엽니다.
  2. 사용자를 만들 도메인 및 조직 단위로 이동합니다. 포리스트에 여러 도메인이 있는 경우 GCDS 머신과 동일한 도메인에 사용자를 만듭니다.
  3. 오른쪽 창을 마우스 오른쪽 버튼으로 클릭하고 새로 만들기 > 사용자를 선택합니다.
  4. 다음과 같이 적절한 이름과 이메일 주소를 입력합니다.
    1. 이름: Google Cloud
    2. : Directory Sync
    3. 사용자 로그온 이름: gcds
    4. 사용자 로그온 이름(Windows 2000 이전): gcds
  5. 다음을 클릭합니다.
  6. 비밀번호 정책을 만족하는 비밀번호를 제공합니다.
  7. 다음 로그온할 때 반드시 비밀번호 변경을 선택 해제합니다.
  8. 비밀번호 만료일 없음을 선택합니다.
  9. 다음을 클릭한 후 마침을 클릭합니다.

PowerShell

  1. PowerShell 콘솔을 관리자로 엽니다.
  2. 다음 명령어를 실행하여 사용자를 만듭니다.

     New-ADUser -Name "Google Cloud Directory Sync" `
        -GivenName "Google Cloud" `
        -Surname "Directory Sync" `
        -SamAccountName "gcds" `
        -UserPrincipalName (-Join("gcds@",(Get-ADDomain).DNSRoot)) `
        -AccountPassword(Read-Host -AsSecureString "Type password for User") `
        -Enabled $True
     

이제 GCDS를 설치하기 위한 기본 요건을 갖췄습니다.

GCDS 설치

GCDS를 실행할 머신GCDS 설치 프로그램을 다운로드하여 실행합니다. 브라우저를 사용하여 다운로드를 수행하는 대신 다음 PowerShell 명령어를 사용하여 설치 프로그램을 다운로드할 수 있습니다.

(New-Object net.webclient).DownloadFile("https://dl.google.com/dirsync/dirsync-win64.exe", "$(pwd)\dirsync-win64.exe")

다운로드가 완료되면 다음 명령어를 실행하여 설치 마법사를 시작할 수 있습니다.

.\dirsync-win64.exe

GCDS를 이미 설치한 경우 GCDS를 업데이트하여 최신 버전을 사용할 수 있습니다.

GCDS 구성 폴더 만들기

GCDS는 구성을 XML 파일에 저장합니다. 이 구성에는 GCDS가 Google 인증에 사용하는 OAuth 갱신 토큰이 포함되어 있으므로 구성에 사용되는 폴더의 보안을 올바르게 설정해야 합니다.

또한 GCDS는 이 폴더가 아닌 다른 로컬 리소스에 액세스할 필요가 없으므로 GCDS가 제한된 사용자인 LocalService로 실행되도록 구성할 수 있습니다.

  1. GCDS를 설치한 머신에서 로컬 관리자로 로그온합니다.
  2. 관리자 권한이 있는 PowerShell 콘솔을 엽니다.
  3. 다음 명령어를 실행하여 이름이 $Env:ProgramData\gcds이고, 구성을 저장하고, GCDS 및 관리자만 액세스할 수 있도록 액세스 제어 목록(ACL)을 적용할 폴더를 만듭니다.

    $gcdsDataFolder = "$Env:ProgramData\gcds"
    New-Item -ItemType directory -Path  $gcdsDataFolder
    &icacls "$gcdsDataFolder" /inheritance:r
    &icacls "$gcdsDataFolder" /grant:r "CREATOR OWNER:(OI)(CI)F" /T
    &icacls "$gcdsDataFolder" /grant   "BUILTIN\Administrators:(OI)(CI)F" /T
    &icacls "$gcdsDataFolder" /grant   "Domain Admins:(OI)(CI)F" /T
    &icacls "$gcdsDataFolder" /grant   "LOCAL SERVICE:(OI)(CI)F" /T
    
  4. ProgramData 폴더의 위치를 확인하려면 명령어 Write-Host $Env:ProgramData를 실행합니다. 영어 버전의 Windows에서 이 경로는 일반적으로 c:\ProgramData입니다. 이후에 이 경로가 필요합니다.

Google에 연결

이제 구성 관리자를 사용하여 GCDS 구성을 준비합니다. 이 단계에서는 GCDS를 실행할 서버와 동일한 서버에서 구성 관리자를 실행한다고 가정합니다.

다른 머신을 사용하여 구성 관리자를 실행하는 경우 나중에 반드시 구성 파일을 GCDS 서버로 복사하세요. 또한 다른 머신에서 구성을 테스트하지 못할 수도 있다는 점에 유의하세요.

  1. 구성 관리자를 시작합니다. 구성 관리자는 Windows 시작 메뉴의 Google Cloud 디렉터리 동기화 > 구성 관리자에 있습니다.
  2. Google 도메인 구성 > 연결 설정을 클릭합니다.

    연결 설정" class="l10n-absolute-url-src screenshot" l10n-attrs-original-order="src,alt,class" src="https://cloud.google.com/static/solutions/images/federating-gcp-with-ad-gcds-config-settings-v4.7.6.png" />

  3. GCDS를 승인하고 도메인 설정을 구성합니다.

  4. 메뉴에서 파일 > 다른 이름으로 저장을 클릭합니다.

  5. 파일 대화상자에 파일 이름으로 PROGRAM_DATA\gcds\config.xml을 입력합니다. PROGRAM_DATA를 이전에 PowerShell 명령어를 실행했을 때 반환된 ProgramData 폴더의 경로로 바꿉니다.

  6. 저장을 클릭한 다음 확인을 클릭합니다.

Active Directory에 연결

다음 단계는 Active Directory에 연결하도록 GCDS를 구성하는 것입니다.

  1. 구성 관리자에서 LDAP 구성 > 연결 설정을 클릭합니다.
  2. LDAP 연결 설정을 구성합니다.
    1. 서버 유형: MS Active Directory를 선택합니다.
    2. 연결 유형: 표준 LDAP 또는 LDAP+SSL을 선택합니다.
    3. 호스트 이름: GC 서버 이름을 입력합니다. 이 설정은 테스트 용도로만 사용됩니다. 나중에 GC 서버 검색을 자동화합니다.
    4. 포트: 3268(GC) 또는 3269(SSL을 통한 GC)를 사용합니다. 도메인 컨트롤러 대신 GC 서버를 사용하면 Active Directory 포리스트의 모든 도메인에서 사용자를 프로비저닝할 수 있습니다. 또한 Microsoft ADV190023 업데이트 후 인증을 확인하세요.
    5. 인증 유형: 단순
    6. 승인된 사용자: 다음과 같이 앞에서 만든 도메인 사용자의 사용자 기본 이름(UPN)을 입력합니다. gcds@UPN_SUFFIX_DOMAIN. UPN_SUFFIX_DOMAIN을 사용자의 적절한 UPN 서픽스 도메인으로 바꿉니다. 또는 NETBIOS_DOMAIN_NAME\gcds 구문을 사용하여 사용자를 지정할 수도 있습니다.
    7. 기본 DN: 이 필드를 비워두면 포리스트의 모든 도메인에서 검색이 수행됩니다.
  3. 설정을 확인하려면 연결 테스트를 클릭합니다. 연결이 실패하면 GC 서버의 호스트 이름을 지정했는지, 사용자 이름과 비밀번호가 올바른지 다시 확인합니다.
  4. 닫기를 클릭합니다.

프로비저닝할 항목 결정

이제 GCDS가 성공적으로 연결되었으므로 프로비저닝할 항목을 결정할 차례입니다.

  1. 구성 관리자에서 일반 설정을 클릭합니다.
  2. 사용자 계정이 선택되었는지 확인합니다.
  3. 그룹을 프로비저닝하려면 그룹이 선택되어 있는지 확인합니다. 그렇지 않으면 체크박스의 선택을 취소합니다.
  4. 조직 단위 동기화는 이 가이드의 범위를 벗어나므로 조직 단위는 선택하지 않은 상태로 둡니다.
  5. 사용자 프로필커스텀 스키마를 선택하지 않은 상태로 둡니다.

자세한 내용은 프로비저닝할 대상 결정을 참조하세요.

사용자 프로비저닝

사용자 매핑 구성

다음 단계는 Active Directory 간에 사용자를 매핑하는 방법을 구성하는 것입니다.

  1. 구성 관리자에서 사용자 계정 > 추가 사용자 속성을 클릭합니다.
  2. 기본값 사용을 클릭하여 이름을 자동으로 각각 givenNamesn으로 채웁니다.

나머지 설정은 UPN 또는 이메일 주소를 사용하여 Active Directory를 Cloud ID 또는 Google Workspace의 사용자에 매핑할지 여부와 도메인 이름 대체를 적용해야 하는지 여부에 따라 다릅니다. 어떤 옵션이 가장 적합한지 잘 모르겠으면 Active Directory ID 관리를 Google Cloud로 확장하는 방법에 대한 문서를 참조하세요.

UPN

  1. 구성 관리자에서 사용자 계정 > 사용자 속성을 클릭합니다.
  2. 기본값 사용을 클릭합니다.
  3. 이메일 주소 속성userPrincipalName으로 변경합니다.
  4. 별칭 주소를 동기화하지 않으려면 proxyAddresses > Remove를 클릭합니다.
  5. 검색 규칙 탭을 클릭한 다음 검색 규칙 추가를 클릭합니다.
  6. 다음 설정을 입력합니다.

    1. 범위: 하위 트리
    2. 규칙:

      (&(objectCategory=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(!(userPrincipalName=gcds@*)))

      이 규칙은 사용되지 않는 모든 사용자를 대조하지만 컴퓨터 및 관리 서비스 계정은 물론 gcds 사용자 계정도 무시합니다.

    3. 기본 DN: 포리스트의 모든 도메인을 검색하려면 비워둡니다.

  7. 확인을 클릭하여 규칙을 만듭니다.

UPN: 도메인 대체

  1. 구성 관리자에서 사용자 계정 > 사용자 속성 탭을 클릭합니다.
  2. 기본값 사용을 클릭합니다.
  3. 이메일 주소 속성userPrincipalName으로 변경합니다.
  4. 별칭 주소를 동기화하지 않으려면 proxyAddresses > Remove를 클릭합니다.
  5. 검색 규칙 탭을 클릭한 다음 검색 규칙 추가를 클릭합니다.
  6. 다음 설정을 입력합니다.

    1. 범위: 하위 트리
    2. 규칙:

      (&(objectCategory=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(!(userPrincipalName=gcds@*)))

      이 규칙은 사용되지 않는 모든 사용자를 대조하지만 컴퓨터 및 관리 서비스 계정은 물론 gcds 사용자 계정도 무시합니다.

    3. 기본 DN: 포리스트의 모든 도메인을 검색하려면 비워둡니다.

  7. 확인을 클릭하여 규칙을 만듭니다.

  8. Google 도메인 구성 > 연결 설정을 클릭하고 이 도메인 이름으로 LDAP 이메일 주소의 도메인 이름 바꾸기를 선택합니다.

이메일

  1. 구성 관리자에서 사용자 계정 > 사용자 속성을 클릭합니다.
  2. 기본값 사용을 클릭합니다.
  3. 검색 규칙 탭을 클릭한 다음 검색 규칙 추가를 클릭합니다.
  4. 다음 설정을 입력합니다.

    1. 범위: 하위 트리
    2. 규칙:

      (&(objectCategory=person)(objectClass=user)(mail=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))

      이 규칙은 사용되지 않는 모든 사용자를 비어있지 않은 이메일 주소와 대조하지만 컴퓨터 및 관리 서비스 계정은 무시합니다.

    3. 기본 DN: 포리스트의 모든 도메인을 검색하려면 비워둡니다.

  5. 확인을 클릭하여 규칙을 만듭니다.

이메일: 도메인 대체

  1. 구성 관리자에서 사용자 계정 > 사용자 속성을 클릭합니다.
  2. 기본값 사용을 클릭합니다.
  3. 별칭 주소를 동기화하지 않으려면 proxyAddresses > Remove를 클릭합니다.
  4. 검색 규칙 탭을 클릭한 후 기본값 사용을 클릭합니다.
  5. Google 도메인 구성 > 연결 설정을 클릭하고 이 도메인 이름으로 LDAP 이메일 주소의 도메인 이름 바꾸기를 선택합니다.

사용자 속성 매핑에 대한 자세한 내용은 구성 관리자를 사용하여 동기화 설정을 참조하세요.

삭제 정책

지금까지의 구성에서는 Cloud ID 또는 Google Workspace에서 사용자를 추가하고 업데이트하는 방법을 집중적으로 알아보았습니다. 이제 Active Directory에서 사용 중지되거나 삭제된 사용자가 Cloud ID 또는 Google Workspace에서 일시중지되거나 삭제되는 경우도 알아볼 차례입니다.

프로비저닝 프로세스의 일부로 GCDS는 Cloud ID 또는 Google Workspace의 사용자 중에서 Active Directory LDAP 쿼리 결과에 일치하는 항목이 없는 사용자의 목록을 생성합니다. LDAP 쿼리에 (!(userAccountControl:1.2.840.113556.1.4.803:=2)) 절이 포함되므로 마지막 프로비저닝이 수행된 후에 Active Directory에서 사용 중지되거나 삭제된 사용자가 이 목록에 포함됩니다. GCDS의 기본 동작은 Cloud ID 또는 Google Workspace에서 이러한 사용자를 삭제하는 것이지만, 이 동작을 맞춤설정할 수 있습니다.

  1. 구성 관리자에서 사용자 계정 > 사용자 속성을 클릭합니다.
  2. Google 도메인 사용자 삭제/일시중지 정책에서 LDAP에 없는 Google 도메인 관리자를 일시중지 또는 삭제하지 않음이 선택되어 있는지 확인합니다. 이 설정은 GCDS가 Cloud ID 또는 Google Workspace 계정을 구성하는 데 사용된 최고 관리자를 일시중지하거나 삭제하지 않도록 합니다.
  3. 필요한 경우 관리자가 아닌 사용자의 삭제 정책을 변경합니다.

여러 개의 GCDS 인스턴스를 사용하여 여러 도메인이나 포리스트를 단일 Cloud ID 또는 Google Workspace 계정에 프로비저닝하는 경우 여러 GCDS 인스턴스가 서로 방해하지 않는지 확인하세요. 기본적으로 다른 소스에서 프로비저닝된 Cloud ID 또는 Google Workspace의 사용자는 Active Directory에서 삭제된 것으로 잘못 식별됩니다. 이러한 상황을 방지하려면 프로비저닝할 도메인 또는 포리스트 범위를 벗어나는 모든 사용자를 단일 OU로 옮긴 다음 해당 OU를 제외하세요.

  1. 구성 관리자에서 Google 도메인 구성 > 제외 규칙을 클릭합니다.
  2. 제외 규칙 추가를 클릭합니다.
  3. 다음 설정을 구성합니다.

    1. 유형: 조직 전체 경로
    2. 검색 유형: 일치검색
    3. 제외 규칙: OU 경로와 해당 이름을 입력합니다. 예를 들면 다음과 같습니다.

      ROOT OU/EXCLUDED OU

      ROOT OU/EXCLUDED OU를 OU 경로와 제외된 OU의 이름으로 바꿉니다.

  4. 확인을 클릭하여 규칙을 만듭니다.

또는 단일 OU를 제외하는 것이 비즈니스에 적합하지 않다면 사용자의 이메일 주소를 기준으로 도메인 또는 포리스트를 제외할 수도 있습니다.

UPN

  1. 구성 관리자에서 Google 도메인 구성 > 제외 규칙을 클릭합니다.
  2. 제외 규칙 추가를 클릭합니다.
  3. 다음 설정을 구성합니다.

    1. 유형: 사용자 이메일 주소
    2. 일치 유형: 정규 표현식
    3. 제외 규칙: 단일 UPN 서픽스 도메인을 사용하는 경우 다음 정규 표현식을 입력합니다.

      .*@((?!UPN_SUFFIX_DOMAIN).*)$
      이 예제와 같이 UPN_SUFFIX_DOMAIN을 UPN 서픽스 도메인으로 바꿉니다.
      .*@((?!corp.example.com).*)$

      두 개 이상의 UPN 서픽스 도메인을 사용하는 경우 다음과 같이 표현식을 확장합니다.

      .*@((?!corp.example.com|branch.example.com).*)$
  4. 확인을 클릭하여 규칙을 만듭니다.

UPN: 도메인 대체

  1. 구성 관리자에서 Google 도메인 구성 > 제외 규칙을 클릭합니다.
  2. 제외 규칙 추가를 클릭합니다.
  3. 다음 설정을 구성합니다.

    1. 유형: 사용자 이메일 주소
    2. 일치 유형: 정규 표현식
    3. 제외 규칙: 단일 UPN 서픽스 도메인을 사용하는 경우 다음 정규 표현식을 입력합니다.

      .*@((?!SUBSTITUTION_DOMAIN).*)$

      이 예제와 같이 SUBSTITUTION_DOMAIN을 UPN 서픽스 도메인을 바꿀 때 사용하는 도메인으로 바꿉니다.

      .*@((?!corp.example.com).*)$
  4. 확인을 클릭하여 규칙을 만듭니다.

이메일

  1. 구성 관리자에서 Google 도메인 구성 > 제외 규칙을 클릭합니다.
  2. 제외 규칙 추가를 클릭합니다.
  3. 다음 설정을 구성합니다.

    1. 유형: 사용자 이메일 주소
    2. 일치 유형: 정규 표현식
    3. 제외 규칙: 단일 UPN 서픽스 도메인을 사용하는 경우 다음 정규 표현식을 입력합니다.

      .*@((?!MX_DOMAIN).*)$

      이 예제와 같이 MX_DOMAIN을 이메일 주소에 사용하는 도메인 이름으로 바꿉니다.

      .*@((?!corp.example.com).*)$

      두 개 이상의 UPN 서픽스 도메인을 사용하는 경우 다음과 같이 표현식을 확장합니다.

      .*@((?!corp.example.com|branch.example.com).*)$
  4. 확인을 클릭하여 규칙을 만듭니다.

이메일: 도메인 대체

  1. 구성 관리자에서 Google 도메인 구성 > 제외 규칙을 클릭합니다.
  2. 제외 규칙 추가를 클릭합니다.
  3. 다음 설정을 구성합니다.

    1. 유형: 사용자 이메일 주소
    2. 일치 유형: 정규 표현식
    3. 제외 규칙: 단일 UPN 서픽스 도메인을 사용하는 경우 다음 정규 표현식을 입력합니다.

      .*@((?!SUBSTITUTION_DOMAIN).*)$

      이 예제와 같이 SUBSTITUTION_DOMAIN을 이메일 도메인을 바꿀 때 사용하는 도메인으로 바꿉니다.

      .*@((?!corp.example.com).*)$
  4. 확인을 클릭하여 규칙을 만듭니다.

삭제 및 일시중지 설정에 대한 자세한 내용은 구성 관리자 옵션에 대해 자세히 알아보기를 참조하세요.

그룹 프로비저닝

다음 단계는 Active Directory와 Cloud ID 또는 Google Workspace간에 그룹을 매핑하는 방법을 구성하는 것입니다. 이 프로세스는 그룹을 일반 이름 또는 이메일 주소 중 무엇으로 매핑하는지에 따라 다릅니다.

일반 이름으로 그룹 매핑 구성

먼저 프로비저닝할 보안 그룹의 유형을 식별한 다음 적절한 LDAP 쿼리를 작성해야 합니다. 다음 표에 사용 가능한 일반적인 쿼리가 나와 있습니다.

유형 LDAP 쿼리
도메인 로컬 그룹 (&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=2147483652))
글로벌 그룹 (&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=2147483650))
유니버설 그룹 (&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=2147483656))
글로벌 및 유니버설 그룹 (&(objectCategory=group)(|(groupType:1.2.840.113556.1.4.803:=2147483650)(groupType:1.2.840.113556.1.4.803:=2147483656)))
모든 그룹 (objectCategory=group)

글로벌 그룹에 대한 쿼리에는 도메인 컨트롤러와 같은 Active Directory 정의 그룹도 포함됩니다. 검색을 조직 단위(ou)로 제한하여 이러한 그룹을 필터링할 수 있습니다.

나머지 설정은 UPN 또는 이메일 주소를 사용하여 Active Directory를 Cloud ID 또는 Google Workspace의 사용자에 매핑할지 여부에 따라 다릅니다.

UPN

  1. 구성 관리자에서 그룹 > 검색 규칙을 클릭합니다.
  2. 기본값 사용을 클릭하여 기본 규칙 두 개를 추가합니다.
  3. 첫 번째 규칙 수정 아이콘을 클릭합니다.
  4. 규칙을 수정하여 LDAP 쿼리를 바꿉니다.
  5. 그룹 상자에 다음 설정을 입력합니다.
    1. 그룹 이메일 주소 속성: cn
    2. 사용자 이메일 주소 속성: userPrincipalName
  6. 프리픽스-서픽스 탭을 클릭합니다.
  7. 그룹 이메일 주소 상자에 다음 설정을 입력합니다.

    1. 서픽스: @PRIMARY_DOMAIN이며 여기서 @PRIMARY_DOMAIN을 Cloud ID 또는 Google Workspace 계정의 기본 도메인으로 바꿉니다. GCDS가 도메인을 자동으로 추가하므로 설정이 중복되는 것처럼 보이지만 여러 Google Cloud 디렉터리 동기화 인스턴스가 추가하지 않은 그룹 멤버를 지우지 않도록 명시적으로 설정을 지정해야 합니다.

      예: @example.com

    2. 확인을 클릭합니다.

  8. 두 번째 규칙 교차 아이콘을 클릭하여 규칙을 삭제합니다.

이메일

  1. 구성 관리자에서 그룹 > 검색 규칙을 클릭합니다.
  2. 기본값 사용을 클릭하여 몇 가지 기본 규칙을 추가합니다.
  3. 첫 번째 규칙 수정 아이콘을 클릭합니다.
  4. 규칙을 수정하여 LDAP 쿼리를 바꿉니다.
  5. 그룹 상자에서 그룹 이메일 주소 속성을 수정하여 cn 설정을 입력합니다.
  6. 확인을 클릭합니다.

사용자를 매핑할 때 도메인 대체를 사용한 경우에도 동일한 설정이 적용됩니다.

이메일 주소로 그룹 매핑 구성

먼저 프로비저닝할 보안 그룹의 유형을 식별한 다음 적절한 LDAP 쿼리를 작성해야 합니다. 다음 표에 사용 가능한 일반적인 쿼리가 나와 있습니다.

유형 LDAP 쿼리
이메일 주소가 있는 도메인 로컬 그룹 (&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=2147483652)(mail=*))
이메일 주소가 있는 글로벌 그룹 (&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=2147483650)(mail=*))
이메일 주소가 있는 유니버설 그룹 (&(objectCategory=group)(groupType:1.2.840.113556.1.4.803:=2147483656)(mail=*))
이메일 주소가 있는 글로벌 및 유니버설 그룹 (&(objectCategory=group)(|(groupType:1.2.840.113556.1.4.803:=2147483650)(groupType:1.2.840.113556.1.4.803:=2147483656))(mail=*))
이메일 주소가 있는 모든 그룹 (&(objectCategory=group)(mail=*))

나머지 설정은 UPN 또는 이메일 주소를 사용하여 Active Directory를 Cloud ID 또는 Google Workspace의 사용자에 매핑할지 여부에 따라 다릅니다.

UPN

  1. 구성 관리자에서 그룹 > 검색 규칙을 클릭합니다.
  2. 기본값 사용을 클릭하여 기본 규칙 두 개를 추가합니다.
  3. 첫 번째 규칙 수정 아이콘을 클릭합니다.
  4. 규칙을 수정하여 LDAP 쿼리를 바꿉니다.
  5. 그룹 상자에서 사용자 이메일 이름 속성을 수정하여 userPrincipalName 설정을 입력합니다.
  6. 확인을 클릭합니다.
  7. 두 번째 규칙 교차 아이콘을 클릭하여 규칙을 삭제합니다.

이메일

  1. 구성 관리자에서 그룹 > 검색 규칙을 클릭합니다.
  2. 기본값 사용을 클릭하여 몇 가지 기본 규칙을 추가합니다.
  3. 첫 번째 규칙 수정 아이콘을 클릭합니다.
  4. 규칙을 수정하여 LDAP 쿼리를 바꿉니다.
  5. 확인을 클릭합니다.
  6. 두 번째 규칙 교차 아이콘을 클릭하여 규칙을 삭제합니다.

이 도메인 이름으로 LDAP 이메일 주소의 도메인 이름 바꾸기를 사용 설정한 경우 그룹 및 구성원의 이메일 주소에도 적용됩니다.

삭제 정책

GCDS는 사용자 삭제와 비슷하게 그룹 삭제를 처리합니다. 여러 개의 GCDS 인스턴스를 사용하여 여러 도메인이나 포리스트를 단일 Cloud ID 또는 Google Workspace 계정에 프로비저닝하는 경우 여러 GCDS 인스턴스가 서로 방해하지 않는지 확인하세요.

기본적으로 다른 소스에서 프로비저닝된 Cloud ID 또는 Google Workspace의 그룹 구성원은 Active Directory에서 삭제된 것으로 잘못 식별됩니다. 이러한 상황을 방지하려면 GCDS에서 프로비저닝할 도메인이나 포리스트의 범위를 벗어나는 모든 그룹 구성원을 무시하도록 구성합니다.

UPN

  1. Google 도메인 구성 > 제외 규칙을 클릭합니다.
  2. 제외 규칙 추가를 클릭합니다.
  3. 다음 설정을 구성합니다.

    1. 유형: 그룹 멤버 이메일 주소
    2. 일치 유형: 정규 표현식
    3. 제외 규칙: 단일 UPN 서픽스 도메인을 사용하는 경우 다음 정규 표현식을 입력합니다.

      .*@((?!UPN_SUFFIX_DOMAIN).*)$

      다음 예제와 같이 UPN_SUFFIX_DOMAIN을 UPN 서픽스 도메인으로 바꿉니다.

      .*@((?!corp.example.com).*)$

      두 개 이상의 UPN 서픽스 도메인을 사용하는 경우 다음과 같이 표현식을 확장합니다.

      .*@((?!corp.example.com|branch.example.com).*)$
  4. 확인을 클릭하여 규칙을 만듭니다.

UPN: 도메인 대체

  1. Google 도메인 구성 > 제외 규칙을 클릭합니다.
  2. 제외 규칙 추가를 클릭합니다.
  3. 다음 설정을 구성합니다.

    1. 유형: 그룹 멤버 이메일 주소
    2. 일치 유형: 정규 표현식
    3. 제외 규칙: 단일 UPN 서픽스 도메인을 사용하는 경우 다음 정규 표현식을 입력합니다.

      .*@((?!SUBSTITUTION_DOMAIN).*)$

      이 예제와 같이 SUBSTITUTION_DOMAIN을 UPN 서픽스 도메인을 바꿀 때 사용하는 도메인으로 바꿉니다.

      .*@((?!corp.example.com).*)$
  4. 확인을 클릭하여 규칙을 만듭니다.

이메일

  1. Google 도메인 구성 > 제외 규칙을 클릭합니다.
  2. 제외 규칙 추가를 클릭합니다.
  3. 다음 설정을 구성합니다.

    1. 유형: 그룹 멤버 이메일 주소
    2. 일치 유형: 정규 표현식
    3. 제외 규칙: 단일 UPN 서픽스 도메인을 사용하는 경우 다음 정규 표현식을 입력합니다.

      .*@((?!MX_DOMAIN).*)$

      다음 예제와 같이 MX_DOMAIN을 이메일 주소에 사용하는 도메인 이름으로 바꿉니다.

      .*@((?!corp.example.com).*)$

      두 개 이상의 UPN 서픽스 도메인을 사용하는 경우 다음과 같이 표현식을 확장합니다.

      .*@((?!corp.example.com|branch.example.com).*)$
  4. 확인을 클릭하여 규칙을 만듭니다.

이메일: 도메인 대체

  1. Google 도메인 구성 > 제외 규칙을 클릭합니다.
  2. 제외 규칙 추가를 클릭합니다.
  3. 다음 설정을 구성합니다.

    1. 유형: 그룹 멤버 이메일 주소
    2. 일치 유형: 정규 표현식
    3. 제외 규칙: 단일 UPN 서픽스 도메인을 사용하는 경우 다음 정규 표현식을 입력합니다.

      .*@((?!SUBSTITUTION_DOMAIN).*)$

      다음 예제와 같이 SUBSTITUTION_DOMAIN을 이메일 도메인을 바꿀 때 사용하는 도메인으로 바꿉니다.

      .*@((?!corp.example.com).*)$
    4. 확인을 클릭하여 규칙을 만듭니다.

그룹 설정에 대한 자세한 내용은 구성 관리자 옵션에 대해 자세히 알아보기를 참조하세요.

로깅 및 알림 구성

사용자를 동기화 상태로 유지하려면 GCDS를 일정에 따라 실행해야 합니다. GCDS 작업과 잠재적인 문제를 추적할 수 있게 하려면 GCDS에서 로그 파일을 작성하는 방법과 시기를 제어하면 됩니다.

  1. 구성 관리자에서 로깅을 클릭합니다.
  2. 파일 이름PROGRAM_DATA\gcds\gcds_sync.#{timestamp}.log로 설정합니다. PROGRAM_DATA를 이전에 PowerShell 명령어를 실행했을 때 반환된 ProgramData 폴더의 경로로 바꿉니다.
  3. 파일 > 저장을 클릭하여 구성 변경 내용을 디스크에 커밋한 다음 확인을 클릭합니다.

로깅 외에도 GCDS는 이메일로 알림을 보낼 수 있습니다. 이 서비스를 활성화하려면 알림을 클릭하고 메일 서버에 대한 연결 정보를 제공합니다.

사용자 프로비저닝 시뮬레이션

이제 GCDS 구성이 완료되었습니다. 구성이 의도한 대로 작동하는지 확인하려면 먼저 구성을 디스크에 저장한 후 사용자 프로비저닝 실행을 시뮬레이션해야 합니다. 시뮬레이션하는 동안 GCDS는 Cloud ID 또는 Google Workspace 계정에 변경사항을 수행하지 않지만 대신 일반 프로비저닝 실행 중에 수행할 변경사항을 보고합니다.

  1. 구성 관리자에서 동기화를 클릭합니다.
  2. 화면 하단에서 캐시 지우기를 선택한 후 동기화 시뮬레이션을 클릭합니다.
  3. 프로세스가 완료되면 대화상자 하단에 표시된 로그의 제안된 변경사항 섹션을 검토하고 사용자 또는 그룹 삭제나 정지와 같은 원치 않는 변경사항이 없는지 확인합니다.

초기 사용자 프로비저닝

이제 초기 사용자 프로비저닝을 트리거할 수 있습니다.

경고

  • 사용자 프로비저닝을 트리거하면 Cloud ID 또는 Google Workspace 계정의 사용자와 그룹이 영구적으로 변경됩니다.
  • 프로비저닝할 사용자가 많은 경우 이러한 사용자 중 일부와만 일치하도록 LDAP 쿼리를 일시적으로 변경하는 것이 좋습니다. 이와 같은 사용자 일부를 사용하여 프로세스를 테스트하고 필요한 경우 설정을 조정할 수 있습니다. 결과의 유효성을 검사하는 데 성공한 후 LDAP 쿼리를 다시 변경하고 나머지 사용자를 프로비저닝합니다.
  • 테스트할 때 많은 수의 사용자를 반복적으로 수정하거나 삭제하지 마세요. 이러한 작업은 악의적인 행동으로 신고될 수 있습니다.

다음과 같이 프로비저닝 실행을 트리거합니다.

  1. 구성 관리자에서 동기화를 클릭합니다.
  2. 화면 하단에서 캐시 지우기를 선택한 다음 변경사항 동기화 및 적용을 클릭합니다.

    상태를 보여주는 대화상자가 나타납니다.

  3. 프로세스가 완료되면 대화상자의 아래쪽에 표시되는 로그를 확인합니다.

    1. 성공적인 사용자 변경에서 적어도 한 명의 사용자가 생성되었는지 확인합니다.
    2. 실패에서 실패가 발생하지 않았는지 확인합니다.

예약

Active Directory에서 수행되는 변경사항이 Cloud ID 또는 Google Workspace 계정에 전파되도록 하려면 1시간 간격으로 프로비저닝 실행을 트리거하는 예약 태스크를 설정합니다.

  1. PowerShell 콘솔을 관리자로 엽니다.
  2. 시스템에서 Active Directory PowerShell 모듈을 사용할 수 있는지 확인합니다.

    import-module ActiveDirectory

    이 명령어가 실패하면 원격 서버 관리 도구를 다운로드하여 설치하고 다시 시도합니다.

  3. 메모장에서 파일을 만들고 이 파일에 아래 내용을 복사한 다음 파일을 %ProgramData%\gcds\sync.ps1로 저장합니다. 완료되면 파일을 닫습니다.

    [CmdletBinding()]
    Param(
        [Parameter(Mandatory=$True)]
        [string]$config,
    
        [Parameter(Mandatory=$True)]
        [string]$gcdsInstallationDir
    )
    
    import-module ActiveDirectory
    
    # Stop on error.
    $ErrorActionPreference ="stop"
    
    # Ensure it's an absolute path.
    $rawConfigPath = [System.IO.Path]::Combine((pwd).Path, $config)
    
    # Discover closest GC in current domain.
    $dc = Get-ADDomainController -discover -Service "GlobalCatalog" -NextClosestSite
    Write-Host ("Using GC server {0} of domain {1} as LDAP source" -f [string]$dc.HostName, $dc.Domain)
    
    # Load XML and replace the endpoint.
    $dom = [xml](Get-Content $rawConfigPath)
    $ldapConfigNode = $dom.SelectSingleNode("//plugin[@class='com.google.usersyncapp.plugin.ldap.LDAPPlugin']/config")
    
    # Tweak the endpoint.
    $ldapConfigNode.hostname = [string]$dc.HostName
    $ldapConfigNode.ldapCredMachineName = [string]$dc.HostName
    $ldapConfigNode.port = "3268"   # Always use GC port
    
    # Tweak the tsv files location
    $googleConfigNode = $dom.SelectSingleNode("//plugin[@class='com.google.usersyncapp.plugin.google.GooglePlugin']/config")
    $googleConfigNode.nonAddressPrimaryKeyMapFile = [System.IO.Path]::Combine((pwd).Path, "nonAddressPrimaryKeyFile.tsv")
    $googleConfigNode.passwordTimestampFile = [System.IO.Path]::Combine((pwd).Path, "passwordTimestampCache.tsv")
    
    # Save resulting config.
    $targetConfigPath = $rawConfigPath + ".autodiscover"
    
    $writer = New-Object System.IO.StreamWriter($targetConfigPath, $False, (New-Object System.Text.UTF8Encoding($False)))
    $dom.Save($writer)
    $writer.Close()
    
    # Start provisioning.
    Start-Process -FilePath "$gcdsInstallationDir\sync-cmd" `
        -Wait -ArgumentList "--apply --config ""$targetConfigPath"""
    
  4. 구성 관리자가 구성 파일에 사용자 인증 정보를 암호화하는 보안 비밀 키를 만들었습니다. GCDS가 예약된 태스크로 실행될 때 여전히 구성을 읽을 수 있게 하려면 다음 명령어를 실행하여 이 보안 비밀 키를 내 프로필에서 NT AUTHORITY\LOCAL SERVICE의 프로필로 복사합니다.

    New-Item -Path Registry::HKEY_USERS\S-1-5-19\SOFTWARE\JavaSoft\Prefs\com\google\usersyncapp -Force;
    Copy-Item -Path Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\SOFTWARE\JavaSoft\Prefs\com\google\usersyncapp\util `
        -Destination Microsoft.PowerShell.Core\Registry::HKEY_USERS\S-1-5-19\SOFTWARE\JavaSoft\Prefs\com\google\usersyncapp\util
    

    이 명령어가 실패하면 PowerShell 콘솔을 관리자로 시작했는지 확인합니다.

  5. 다음 명령어를 실행하여 예약된 태스크를 만듭니다. 예약된 태스크는 매시간 트리거되고 sync.ps1 스크립트를 NT AUTHORITY\LOCAL SERVICE로 호출합니다.

    $taskName = "Synchronize to Cloud Identity"
    $gcdsDir = "$Env:ProgramData\gcds"
    
    $action = New-ScheduledTaskAction -Execute 'PowerShell.exe' `
      -Argument "-ExecutionPolicy Bypass -NoProfile $gcdsDir\sync.ps1 -config $gcdsDir\config.xml -gcdsInstallationDir '$Env:Programfiles\Google Cloud Directory Sync'" `
      -WorkingDirectory $gcdsDir
    $trigger = New-ScheduledTaskTrigger `
      -Once `
      -At (Get-Date) `
      -RepetitionInterval (New-TimeSpan -Minutes 60) `
      -RepetitionDuration (New-TimeSpan -Days (365 * 20))
    
    $principal = New-ScheduledTaskPrincipal -UserID "NT AUTHORITY\LOCAL SERVICE" -LogonType ServiceAccount
    Register-ScheduledTask -Action $action -Trigger $trigger -Principal $principal -TaskName $taskName
    
    $task = Get-ScheduledTask -TaskName "$taskName"
    $task.Settings.ExecutionTimeLimit = "PT12H"
    Set-ScheduledTask $task
    

자세한 내용은 자동 동기화 예약을 참조하세요.

사용자 프로비저닝 테스트

GCDS의 설치와 구성을 완료하면 예약된 태스크에 의해 매시간 프로비저닝 실행이 트리거됩니다.

수동으로 프로비저닝 실행을 트리거하려면 PowerShell 콘솔로 전환하여 다음 명령어를 실행하세요.

Start-ScheduledTask "Synchronize to Cloud Identity"

삭제

GCDS를 삭제하려면 다음 단계를 따르세요.

  1. Windows 제어판을 열고 프로그램 > 프로그램 제거를 클릭합니다.
  2. Google Cloud 디렉터리 동기화를 선택하고 제거/변경을 클릭하여 제거 마법사를 시작합니다. 그런 다음 마법사의 안내를 따릅니다.
  3. PowerShell 콘솔을 열고 다음 명령어를 실행하여 예약 된 태스크를 삭제합니다.

    $taskName = "Synchronize to Cloud Identity"
    Unregister-ScheduledTask -TaskName $taskName -Confirm:$False
    
  4. 다음 명령어를 실행하여 구성 및 로그 파일을 삭제합니다.

    Remove-Item -Recurse -Force "$Env:ProgramData\gcds"
    Remove-Item -Recurse -Path Registry::HKEY_USERS\S-1-5-19\SOFTWARE\JavaSoft\Prefs\com\google\usersyncapp
    

다음 단계