리소스 관리

Certificate Authority Service를 통해 생성된 인증 기관(CA)은 두 가지 보조 리소스 유형을 사용합니다.

  • Cloud Key Management Service 키 버전: CA에서 발급한 인증서와 해지 인증서 목록(CRL)에 서명하는 데 사용됩니다. 키 버전에 대한 자세한 내용은 키 버전을 참조하세요.
  • Cloud Storage 버킷: CA 인증서 및 CA가 게시한 모든 CRL을 호스팅하는 데 사용됩니다(설정이 사용 설정된 경우). Cloud Storage 버킷에 대한 자세한 내용은 버킷을 참조하세요.

이러한 리소스는 각 CA에 있어야 하며 CA가 생성된 후에는 변경할 수 없습니다.

관리 모델

CA Service는 이러한 리소스에 대해 두 가지 수명 주기 관리 모델을 지원합니다.

  • Google 관리형
  • 고객 관리형

Cloud KMS 키와 Cloud Storage 버킷은 동일한 관리 모델을 사용할 필요가 없습니다. 예를 들어 Cloud KMS 키는 Google 관리형일 수 있고, Cloud Storage 버킷은 고객 관리형이거나 그 반대일 수 있습니다.

Google 관리형

CA Service는 CA 생성 시 이 모델에 따라 리소스를 자동으로 만들고 구성하며 CA 삭제 시 해당 리소스를 삭제합니다. 이러한 리소스에 대한 요금은 별도로 청구되지 않습니다.

기본적으로 새로운 CA에는 Google 관리형 Cloud KMS 키 및 Cloud Storage 버킷이 사용됩니다. CA를 만드는 동안 Google 관리형 Cloud KMS 키에 대한 특정 키 알고리즘을 선택할 수 있습니다. Google 관리형 Cloud KMS 키는 CA에서 재사용되지 않습니다.

루트 CA 만들기에 대한 자세한 내용은 루트 CA 만들기를 참조하세요. 하위 CA를 만드는 방법은 하위 CA 만들기를 참조하세요. 키 알고리즘 선택에 대한 안내는 키 알고리즘 선택을 참조하세요.

고객 관리

엔터프라이즈 등급의 CA에 대해서만 고객 관리형 리소스를 만들 수 있습니다. CA를 만들기 전에 고객 관리형 리소스를 만들고 구성해야 합니다. 또한 CA가 폐기된 후 적절한 시점에 이러한 리소스를 삭제해야 합니다. 이러한 리소스에 대한 요금은 사용자에게 직접 청구됩니다.

CA Service는 프로젝트를 고객 관리형 Cloud KMS 키의 보안 경계로 취급합니다. 예를 들어 앨리스라는 사용자가 고객 관리형 Cloud KMS 키를 사용하여 test 프로젝트에서 CA를 만든다고 가정해 보겠습니다. 그러면 밥이라는 다른 사용자가 동일한 Cloud KMS 키를 사용하여 동일한 프로젝트에 다른 CA를 만들 수 있습니다. 앨리스가 첫 번째 CA를 만들려면 키에 대한 관리자 액세스 권한이 있어야 하지만 앨리스는 이미 test 프로젝트에서 CA Service의 키 사용을 사용 설정했으므로 해당 키에 대한 액세스 권한은 필요하지 않습니다.

고객 관리형 리소스 생성의 이점

이 모델의 장점 중 하나는 호출자가 이러한 리소스를 직접 제어할 수 있다는 점입니다. 호출자는 조직 요구사항에 맞게 액세스 관리와 같은 속성을 직접 업데이트할 수 있습니다.

고객 관리형 리소스가 포함된 CA를 만들려면 호출자가 CA Service에 적절한 액세스 권한을 부여하기 위해 해당 리소스에 대한 관리 액세스 권한이 있어야 합니다. 자세한 내용은 CA Service 서비스 에이전트를 참조하세요.

Cloud KMS 키의 위치

고객 관리형 Cloud KMS 키를 CA Service 리소스와 동일한 위치에 만들어야 합니다. CA Service의 전체 위치 목록은 위치를 참조하세요. Cloud KMS 리소스를 만들 수 있는 위치 목록은 Cloud KMS 위치를 참조하세요.

Cloud Storage 버킷의 위치

CA Service 리소스와 거의 동일한 위치에 고객 관리형 Cloud Storage 버킷을 만들어야 합니다. CA Service 리소스를 만든 대륙 외부에 Cloud Storage 버킷을 만들 수 없습니다.

예를 들어 CA가 us-west1에 있는 경우 us-west1 또는 us-east1, 이중 리전 NAM4 및 멀티 리전 US 등 미국의 모든 단일 리전에서 Cloud Storage 버킷을 만들 수 있습니다.

Cloud Storage 리소스를 만들 수 있는 위치 목록은 Cloud Storage 위치를 참조하세요.

관리형 리소스에 대한 액세스

Cloud Storage 버킷에서 호스팅되는 CA 인증서 또는 CA에서 게시한 CRL의 URL을 가진 사용자는 기본적으로 이러한 리소스에 액세스할 수 있습니다. CA 인증서 및 CRL에 대한 공개 액세스를 방지하기 위해서는 CA 풀이 있는 프로젝트를 VPC 서비스 제어 경계에 추가합니다.

CA 풀이 포함된 프로젝트를 VPC 서비스 제어 경계에 추가하면 Google 관리형 Cloud Storage 버킷이 경계에 조인됩니다. VPC 서비스 제어 경계를 사용하면 승인된 네트워크 외부에서 Cloud Storage 버킷에 액세스할 수 없습니다.

네트워크 경계 내의 클라이언트는 인증 없이 CRL 및 CA 인증서에 계속 액세스할 수 있습니다. 승인된 네트워크 외부의 액세스 요청은 실패합니다.

CA 인증서 및 CRL을 위한 HTTP 기반 URL

다음과 같은 이유로 HTTP 기반 URL에서 CA 인증서 및 CRL을 사용할 수 있습니다.

  • Cloud Storage 버킷에 게시되는 CA 인증서는 클라이언트에서 있는 그대로 신뢰해서는 안 됩니다. CA 인증서는 루트 CA의 인증서로 시작하는 인증서 체인의 일부입니다. 인증서 체인의 각 인증서는 인증서의 무결성을 유지하기 위해 체인에서 상위인 CA 인증서로 서명됩니다. 따라서 HTTPS 프로토콜을 사용할 때의 추가적인 이점은 없습니다.

  • 일부 클라이언트는 인증서를 검증하는 동안 HTTPS 기반 URL을 거부합니다.

CA 풀의 CA에 CA 인증서 및 CRL 게시 사용 설정

CA Service는 새 CA 풀을 만들 때 기본적으로 Cloud Storage 버킷에 CA 인증서 및 CRL 게시를 사용 설정합니다. CA 풀을 만드는 동안 CA 인증서 및 CRL 게시를 사용 중지했었고 이제 사용 설정하려면 이 섹션의 안내를 따르세요.

CA 풀의 모든 CA에 CA 인증서 게시 및 CRL 게시를 사용 설정하려면 다음을 수행합니다.

콘솔

  1. Google Cloud 콘솔에서 Certificate Authority Service 페이지로 이동합니다.

    Certificate Authority Service로 이동

  2. CA 풀 관리자 탭에서 수정하려는 CA 풀의 이름을 클릭합니다.

  3. CA 풀 페이지에서 수정을 클릭합니다.

    Cloud 콘솔을 사용하여 기존 CA 풀을 수정합니다.

  4. 허용된 키 알고리즘 및 크기 구성에서 다음을 클릭합니다.

  5. 허용되는 인증서 요청 방법 구성에서 다음을 클릭합니다.

  6. 게시 옵션 구성에서 이 풀의 CA용 Cloud Storage 버킷에 CA 인증서 게시 전환 버튼을 클릭합니다.

  7. 이 풀의 CA용 Cloud Storage 버킷에 CRL 게시 전환 버튼을 클릭합니다.

gcloud

다음 명령어를 실행합니다.

gcloud privateca pools update POOL_ID --publish-crl --publish-ca-cert

POOL_ID를 CA 풀의 이름으로 바꿉니다.

--publish-ca-cert를 사용 설정하면 CA Service는 경로가 CA 리소스에 지정된 Cloud Storage 버킷에 각 CA의 CA 인증서를 씁니다. 발급된 모든 인증서의 AIA 확장 프로그램은 CA 인증서가 포함된 Cloud Storage 객체 URL을 가리킵니다. 발급된 모든 인증서의 CRL 배포 지점(CDP) 확장 프로그램은 CRL이 포함된 Cloud Storage 객체 URL을 가리킵니다.

인증서 취소를 위한 CRL 게시 사용 설정에 대한 자세한 내용은 인증서 취소를 참조하세요.

gcloud privateca pools update 명령어에 대한 자세한 내용은 gcloud privateca pools update를 참조하세요.

CA 풀의 CA에 CA 인증서 및 CRL 게시 사용 중지

CA 풀의 모든 CA에 대해 CA 인증서 게시 또는 CRL 게시를 사용 중지하려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 Certificate Authority Service 페이지로 이동합니다.

    Certificate Authority Service로 이동

  2. CA 풀 관리자 탭에서 수정하려는 CA 풀의 이름을 클릭합니다.

  3. CA 풀 페이지에서 수정을 클릭합니다.

  4. 허용된 키 알고리즘 및 크기 구성에서 다음을 클릭합니다.

  5. 허용되는 인증서 요청 방법 구성에서 다음을 클릭합니다.

  6. 게시 옵션 구성에서 이 풀의 CA용 Cloud Storage 버킷에 CA 인증서 게시 전환 버튼을 클릭합니다.

  7. 이 풀의 CA용 Cloud Storage 버킷에 CRL 게시 전환 버튼을 클릭합니다.

gcloud

다음 명령어를 실행합니다.

gcloud privateca pools update POOL_ID --no-publish-crl --no-publish-ca-cert

POOL_ID를 CA 풀의 이름으로 바꿉니다.

배포 지점을 사용 중지해도 Cloud Storage 버킷이나 해당 권한이 삭제되지 않으며 이미 호스팅된 CA 인증서 또는 CRL도 삭제되지 않습니다. 하지만 향후 CRL이 더 이상 Cloud Storage 버킷에 게시되지 않으며 향후 인증서에 AIA 및 CDP 확장 프로그램이 포함되지 않게 됩니다.

게시된 CA 인증서 및 CRL의 인코딩 형식 업데이트

게시된 CA 인증서 및 CRL의 인코딩 형식을 업데이트하려면 다음을 수행합니다.

콘솔

  1. Google Cloud 콘솔에서 Certificate Authority Service 페이지로 이동합니다.

    Certificate Authority Service로 이동

  2. CA 풀 관리자 탭에서 수정하려는 CA 풀의 이름을 클릭합니다.

  3. CA 풀 페이지에서 수정을 클릭합니다.

  4. 허용된 키 알고리즘 및 크기 구성에서 다음을 클릭합니다.

  5. 허용되는 인증서 요청 방법 구성에서 다음을 클릭합니다.

  6. 게시 옵션 구성에서 게시 인코딩 형식 드롭다운 메뉴를 클릭합니다.

  7. 게시 인코딩 형식을 선택합니다.

gcloud

다음 명령어를 실행합니다.

gcloud privateca pools update POOL_ID --publishing-encoding-format=PUBLISHING_ENCODING_FORMAT

다음을 바꿉니다.

  • POOL_ID: CA 풀의 이름입니다.
  • PUBLISHING_ENCODING_FORMAT: PEM 또는 DER

gcloud privateca pools update 명령어에 대한 자세한 내용은 gcloud privateca pools update를 참조하세요.

다음 단계