엔드포인트 확인 인증서로 인증서 기반 액세스 사용 설정

이 페이지에서는 엔드포인트 확인 프로비저닝된 인증서를 사용하여 인증서 기반 액세스(CBA)를 사용 설정하는 방법을 설명합니다.

엔드포인트 확인을 사용하여 기기에 대한 자체 서명된 인증서를 자동으로 프로비저닝할 수 있습니다. 엔드포인트 확인 프로비저닝된 인증서를 사용하면 PKI 인프라 없이 CBA를 사용할 수 있습니다. 이러한 인증서는 macOS의 키체인, Windows의 인증서 저장소 및 Linux의 파일 시스템에 저장됩니다.

PKI 인프라가 있는 경우 CBA를 사용 설정하려면 엔터프라이즈 인증서로 인증서 기반 액세스 사용 설정을 참조하세요.

다음 운영체제에서 엔드포인트 확인 프로비저닝된 인증서를 사용 설정할 수 있습니다.

  • Chrome 브라우저를 사용하는 macOS 및 Windows
  • Google Cloud CLI를 사용하는 macOS, Windows, Linux

사용 중인 운영체제가 목록에 없는 경우 완전히 지원되지 않는 운영체제 사용을 참조하세요.

시작하기 전에

계속하기 전에 다음 요구사항을 충족하는지 확인하세요.

엔드포인트 확인 설정

안내에 따라 조직의 모든 사용자 기기에 Chrome 엔드포인트 확인 확장 프로그램을 설치합니다. 확장 프로그램은 자체 서명된 인증서를 기기에 프로비저닝하고 인증서 메타데이터를 Google Cloud에 동기화합니다.

엔드포인트 확인 도우미 앱을 설치합니다. 이 앱은 CBA에서 엔드포인트 확인을 사용하는 데 필요합니다.

사용자의 Chrome 브라우저 구성

엔드포인트 확인 프로비저닝된 인증서를 사용하도록 사용자의 Chrome 브라우저를 구성하려면, 엔드포인트 확인이 기기 인증을 검색하고 Chrome을 통해 수집하도록 허용하도록 AutoSelectCertificateForURLs Chrome 정책을 구성해야 합니다.

  1. 사용자의 Chrome 브라우저가 Chrome 브라우저 클라우드 관리로 관리되는지 확인합니다.
  2. Google 관리 콘솔에서 AutoSelectCertificateForUrls 정책을 추가합니다.

    1. 기기 > Chrome > 설정 > 사용자 및 브라우저 설정 > 클라이언트 인증서로 이동합니다.
    2. 적절한 조직 단위를 선택합니다.
    3. 정책 추가 다음 예에서는 AutoSelectCertificateForUrls 정책을 추가합니다.

      {"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{"CN":"Google Endpoint Verification"}}}
      {"pattern":"https://console-secure.cloud.google.com","filter":{"ISSUER":{"CN":"Google Endpoint Verification"}}}
      {"pattern":"https://storage.mtls.cloud.google.com","filter":{"ISSUER":{"CN":"Google Endpoint Verification"}}}
      

구성을 완료하면 Chrome 브라우저에서 console-secure.cloud.google.com으로 보호된 Google Cloud 리소스에 액세스할 수 있습니다.

(선택사항) 정책 구성 확인하기

  1. Chrome 브라우저에 chrome://policy를 입력합니다.
  2. Chrome 정책에 AutoSelectCertificateForUrls가 나열되어 있는지 확인합니다.
  3. 적용 대상 값이 머신인지 확인합니다. ChromeOS에서는 적용 대상 값은 현재 사용자입니다.
  4. 정책 상태에 충돌이 없는지 확인합니다. 상태에 충돌이 있는 경우 자세한 내용은 Chrome 정책 관리 이해하기를 참고하세요.

명령줄 도구 구성

엔드포인트 확인 프로비저닝된 인증서를 사용하도록 다음 도구를 구성할 수 있습니다.

  • Google Cloud CLI
  • Terraform CLI(도우미 구성요소를 설치하고 구성하려면 gcloud CLI가 필요합니다.)

기기 인증서는 macOS 및 Windows 키 저장소에 저장되므로 gcloud CLI는 키 관리 API와 상호 작용할 수 있도록 엔터프라이즈 인증서 프록시(ECP) 오픈소스 구성 요소와 함께 번들로 제공됩니다.

Windows 시스템을 사용하는 경우 Visual Studio C++ 런타임이 라이브러리가 설치되어 있어야 합니다.

  1. gcloud CLI를 설치합니다. 번들 Python 옵션이 사용 설정된 상태로 설치합니다.
  2. CBA를 사용 설정합니다.
  3. macOS 및 Linux의 경우 install.sh 스크립트를 다운로드한 다음 실행합니다.

    ./google-cloud-sdk/install.sh
    
  4. Linux 사용자는 CBA 및 엔드포인트 확인 프로비저닝된 인증서 사용 설정 단계로 이동합니다. macOS 및 Windows 사용자는 다음 단계를 완료합니다.

    1. gcloud CLI로 ECP 도우미 구성요소를 설치합니다.

      
      gcloud components install enterprise-certificate-proxy
      
    2. gcloud CLI로 ECP 인증서 구성을 초기화합니다.

      macOS

      
      gcloud auth enterprise-certificate-config create macos \
      --issuer="Google Endpoint Verification"
      

      Windows

      
      gcloud auth enterprise-certificate-config create windows \
      --issuer="Google Endpoint Verification" \
      --provider=current_user \
      --store=MY
      

      (선택사항) 다음을 명령어를 실행하여 ECP 인증서를 수동으로 구성합니다.

      macOS

      ECP 구성은 ~/.config/gcloud/certificate_config.json에 있는 JSON 파일에 저장됩니다.

      {
        "cert_configs": {
            "macos_keychain": {
              "issuer": "Google Endpoint Verification"
            }
        },
        "libs": {
          "ecp": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/bin/ecp",
          "ecp_client": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/platform/enterprise_cert/libecp.dylib",
          "tls_offload": "<YOUR_GCLOUD_INSTALL_PATH>/google-cloud-sdk/platform/enterprise_cert/libtls_offload.dylib"
        }
      }
      

      Windows

      ECP 구성은 %APPDATA%\gcloud\certificate_config.json에 있는 JSON 파일에 저장됩니다.

      {
        "cert_configs": {
          "windows_store": {
            "store": "MY",
            "provider": "current_user",
            "issuer":"Google Endpoint Verification"
          }
        },
        "libs": {
          "ecp": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/bin/ecp.exe",
          "ecp_client": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/platform/enterprise_cert/libecp.dll",
          "tls_offload": "C:/Users/<USERNAME>/AppData/Local/Google/Cloud SDK/google-cloud-sdk/platform/enterprise_cert/libtls_offload.dll"
        }
      }
      
  5. CBA 및 엔드포인트 확인 프로비저닝된 인증서를 사용 설정합니다.

    • gcloud CLI의 경우 다음 명령어를 실행합니다.

      gcloud config set context_aware/use_client_certificate true
      
    • Terraform을 포함한 다른 모든 명령줄 도구의 경우 환경 변수를 설정합니다.

      export GOOGLE_API_USE_CLIENT_CERTIFICATE=1
      

완전히 지원되지 않는 운영체제 사용

운영체제가 지원되는 운영체제 목록에 없고 엔드포인트 확인 프로비저닝된 인증서를 사용하려는 경우 인증서 기반 적용을 제외하고 대신 다른 유형의 적용을 사용하여 환경을 보호할 수 있습니다. 예를 들어 회사 소유 기기 정책을 사용합니다.

인증서 기반 적용은 mTLS 핸드셰이크를 통해 기기에서 오는 모든 요청을 적용하므로 다른 유형의 적용보다 더 강력한 보호 기능을 제공합니다.

다음은 인증서 기반 적용을 제외하고 다른 유형의 적용을 사용하여 환경을 보호하는 방법의 예시입니다.

이 예시에서는 조직에서 macOS, Windows, ChromeOS 기기를 사용합니다. 조직은 Google Cloud 콘솔에서 시작되는 액세스를 보호하고자 합니다.

  1. 회사 소유 기기 정책이 필요한 ChromeOS 기기를 제외한 모든 기기에 대해 인증서 기반 액세스를 적용하는 액세스 수준을 만듭니다. YAML 파일을 다음 커스텀 표현식으로 바꿉니다:

    certificateBindingState(origin, device) == CertificateBindingState.CERT_MATCHES_EXISTING_DEVICE
     || (device.os_type == OsType.DESKTOP_CHROME_OS && device.is_corp_owned_device)
    
  2. 이전 절차의 단계를 완료합니다.

    1. 컨텍스트 인식 정책 만들기
    2. 엔드포인트 확인 설정
    3. 엔드포인트 확인 프로비저닝된 인증서를 사용하도록 사용자의 Chrome 브라우저 구성