엔터프라이즈 인증서 조건 구성

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

BeyondCorp Enterprise의 핵심 원칙은 'Google에서 사용자와 사용자 기기에 대해 알고 있는 정보를 기반으로 서비스에 대한 액세스 권한 부여'입니다. 단일 사용자 또는 단일 기기에 부여된 액세스 수준은 여러 데이터 소스 조사를 통해 동적으로 추론됩니다. BeyondCorp Enterprise는 이러한 신뢰 수준을 결정 프로세스의 일부로 사용합니다.

Access Context Manager는 BeyondCorp Enterprise의 제로 트러스트 정책 엔진입니다. 관리자는 Access Context Manager를 사용하여 애플리케이션 및 Google Cloud 리소스의 세분화된 속성 기반 액세스 제어를 정의할 수 있습니다.

액세스 수준을 사용하여 요청에 대한 컨텍스트 정보를 기반으로 리소스에 대한 액세스를 허용합니다. 액세스 수준을 사용하여 트러스트 계층을 구성할 수 있습니다. 예를 들어 권한이 높은 소규모 개인 그룹의 요청을 허용하는 High_Level 액세스 수준을 만들 수 있습니다. 또한 요청을 허용할 IP 범위와 같이 신뢰할 수 있는 보다 일반적인 그룹을 식별할 수도 있습니다. 이 경우 Medium_Level이라는 액세스 수준을 만들어 이러한 요청을 허용할 수 있습니다.

제로 트러스트 액세스를 위한 주요 요구사항 중 하나는 기기를 회사에서 관리하거나 소유하고 있는 경우에만 액세스를 허용하는 것입니다. 기기가 회사 소유인지 여부를 확인하는 방법에는 여러 가지가 있으며 한 가지 방법은 회사에서 발급한 유효한 인증서가 기기에 있는지 확인하는 것입니다. 기기에 엔터프라이즈 인증서가 있으면 이 기기를 회사 소유로 나타낼 수 있습니다.

컨텍스트 인식 액세스를 위한 엔터프라이즈 인증서는 전체 BeyondCorp Enterprise 인증서 기반 액세스 솔루션의 기능입니다. 이 기능은 기기 인증서를 대체 컨텍스트 인식 신호로 활용하여 기기가 기업 소유 애셋인지 확인합니다.

기기에는 인증서가 두 개 이상 있을 수 있으므로 매크로 .exist(e,p)를 통해 커스텀 액세스 수준에서 엔터프라이즈 인증서에 액세스할 수 있습니다.

device.certificates.exists(cert, predicate)

이 예시에서 cert는 기기 인증서에 바인딩되는 predicator에서 사용되는 간단한 식별자입니다. exist() 매크로는 요소별 조건자 결과를 'or'(||) 연산자와 결합하므로 적어도 하나 이상의 인증서가 predicate 표현식을 충족하면 매크로에서 true를 반환합니다.

인증서에는 다음과 같이 함께 확인할 수 있는 속성이 있습니다. 이 문자열 비교에서는 대소문자가 구분됩니다.

속성 설명 조건자 표현식 예(여기서 cert는 매크로의 식별자)
is_valid 인증서가 유효하고 만료되지 않았다면 true(부울)cert.is_valid
cert_fingerprint 인증서의 지문 (base64 패딩되지 않은 SHA256) cert.cert_fingerprint == origin.clientCertFingerprint()
root_ca_fingerprint 인증서에 서명하는 데 사용된 루트 CA 인증서의 디지털 지문(base64가 패딩되지 않은 SHA256) cert.root_ca_fingerprint == "the_fingerprint"
issuer 발급기관 이름(완전히 확장된 이름)

발급기관 이름을 찾으려면 다음 방법을 사용할 수 있습니다.

인증서에서 다음 명령어를 실행합니다.

$ openssl x509 -in ca_1.crt -issuer issuer= /C=IN/ST=UP/L=NCR/O=BCEDemo/OU=BCEDemo_1/CN=inter_1/emailAddress=test_inter1@beyondcorp.in

액세스 수준에서 사용되는 발급기관 문자열은 출력의 역순이며 '/'를 쉼표로 대체합니다. 예:

EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN

cert.issuer == "EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN"
subject 인증서의 주체 이름(완전히 확장된 이름) cert.subject == "CA_SUB"
serial_number 인증서의 일련번호(문자열) cert.serial_number = "123456789"
template_id 인증서에 대한 X.509 확장 인증서 템플릿의 템플릿 ID(문자열) cert.template_id = "1.3.6.1.4.1.311.21.8.15608621.11768144.5720724.16068415.6889630.81.2472537.7784047"

다음 표에는 설정할 수 있는 정책의 예시가 나와 있습니다.

정책 예시 표현식
기기에 회사 루트 인증서로 서명된 유효한 인증서가 있습니다. device.certificates.exists(cert, cert.is_valid && cert.root_ca_fingerprint == "ROOT_CA_FINGERPRINT")
기기에 CA_ABC. 발급자가 발급한 유효한 인증서가 있습니다. device.certificates.exists(cert, cert.is_valid && cert.issuer == "EMAILADDRESS=test_inter1@beyondcorp.in, CN=inter_1, OU=BCEDemo_1, O=BCEDemo, L=NCR, ST=UP, C=IN")

엔터프라이즈 인증서 구성

엔터프라이즈 인증서를 구성하기 전에 커스텀 액세스 수준인 커스텀 액세스 수준 만들기를 구성했는지 확인합니다.

Access Context Manager 커스텀 액세스 수준 정의를 사용하여 적절한 정책을 설정할 수 있습니다. 커스텀 액세스 수준은 Common Expression Language(CEL)의 하위 집합으로 작성된 부울 표현식을 사용하여 요청하는 클라이언트의 속성을 테스트합니다.

관리 콘솔에서 트러스트 앵커 업로드

BeyondCorp Enterprise에서 기기 엔터프라이즈 인증서를 수집하고 검증하려면 기기 인증서를 발급하는 데 사용되는 트러스트 앵커를 업로드해야 합니다. 여기에서 트러스트 앵커는 자체 서명 루트 CA(인증 기관) 인증서와 관련 중간 및 종속 인증서를 의미합니다. 트러스트 앵커를 업로드하려면 다음 단계를 완료하세요.

  1. 관리 콘솔로 이동하여 기기 > 네트워크 > 인증서로 이동합니다.
  2. 적절한 조직 단위를 선택합니다.
  3. 인증서 추가를 선택합니다.
  4. 인증서 이름을 입력합니다.
  5. 인증서를 업로드합니다.
  6. 엔드포인트 확인 체크박스를 사용 설정합니다.
  7. Add(추가)를 클릭합니다.
  8. 사용자가 트러스트 앵커가 업로드되는 조직 단위에 속해 있는지 확인합니다.

AutoSelectCertificateForUrls 정책 구성

엔드포인트 확인에서 기기 인증서를 검색하고 Chrome을 통해 수집하려면 다음 단계를 완료하여 AutoSelectCertificateForURLs Chrome 정책을 구성해야 합니다.

  1. Chrome 브라우저가 Chrome 브라우저 클라우드 관리 또는 Windows 그룹 정책으로 관리되는지 확인합니다.
  2. 관리 콘솔에서 AutoSelectCertificateForUrls 정책을 추가합니다.

    1. 관리 콘솔로 이동하고 기기 > Chrome > 설정 > 사용자 및 브라우저 설정 > 클라이언트 인증서로 이동합니다.
    2. 적절한 조직 단위를 선택합니다.
    3. 다음 예시와 같이 정책(AutoSelectCertificateForUrls)을 추가합니다.
    {"pattern":"https://[*.]clients6.google.com","filter":{"ISSUER":{<issuerDNs>}}}
    

    참고: 필터는 이전 단계에서 업로드된 발급기관 인증서를 참조해야 합니다.

정책 구성을 확인하려면 다음 단계를 완료하세요.

  1. 브라우저에서 chrome://policy로 이동합니다.
  2. AutoSelectCertificateForUrls에 구성된 값을 확인합니다.
  3. 정책 적용 대상 값이 머신으로 설정되어 있는지 확인합니다. Chrome 운영체제에서는 이 값이 현재 사용자*에게 적용됩니다.
  4. 정책의 상태충돌이 없는지 확인합니다.

구성 문제 해결

기기 세부정보 페이지에서 인증서 속성을 검토하여 인증서 속성이 올바르게 나열되어 있는지 확인합니다.

엔드포인트 확인 로그를 사용하여 문제를 해결할 수 있습니다. 엔드포인트 확인 로그를 다운로드하려면 다음 단계를 완료하세요.

  1. 엔드포인트 확인 확장 프로그램을 마우스 오른쪽 버튼으로 클릭한 다음 옵션으로 이동합니다.
  2. 로그 수준 > 모두 > 로그 다운로드를 선택합니다.
  3. Cloud Customer Care에서 지원 케이스를 열고 추가 디버깅을 위해 로그를 공유합니다.