Google Cloud CLI를 사용하여 인증서 발급

이 페이지에서는 Google Cloud CLI를 사용하여 인증 기관(CA) 풀을 만들고 인증서를 발급하는 방법을 설명합니다.

CA Service를 사용하면 인프라를 관리하지 않고도 비공개 CA를 배포하고 관리할 수 있습니다.

시작하기 전에

  • Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

  • Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  • Enable the Certificate Authority Service API:

    gcloud services enable privateca.googleapis.com

  • Make sure that billing is enabled for your Google Cloud project.

  • 이 빠른 시작의 gcloud 명령어에 사용할 기본 위치를 구성합니다.

    gcloud config set privateca/location LOCATION
    

    CA 풀 및 CA와 같은 CA Service 리소스는 해당 리소스를 만든 후 변경할 수 없는 단일 Google Cloud 위치에 있습니다.

CA 풀 만들기

인증 기관(CA) 풀은 여러 CA의 모음입니다. CA 풀은 워크로드의 중단 또는 다운타임 없이 신뢰 체인을 순환하는 기능을 제공합니다.

Enterprise 등급에서 CA 풀을 만들려면 다음 명령어를 실행합니다.

gcloud privateca pools create POOL_ID --tier "enterprise"

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

모든 CA Service 리소스 이름은 허용되는 문자(문자, 숫자, 하이픈, 밑줄)만 포함해야 합니다. 이름의 최대 허용 길이는 63자입니다.

루트 CA 만들기

CA 풀은 빈 상태로 생성됩니다. CA 풀에서 인증서를 요청하려면 CA를 추가해야 합니다.

루트 CA를 만들고 생성된 CA 풀에 추가하려면 다음 명령어를 실행합니다.

gcloud privateca roots create CA_ID --pool POOL_ID --subject "CN=Example Prod Root CA, O=Google"

다음을 바꿉니다.

  • CA_ID: 루트 CA 이름입니다.
  • POOL_ID: CA 풀 이름입니다.

CA Service는 루트 CA를 만들 때 다음 명령어를 반환합니다.

Created Certificate Authority [projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificateAuthorities/CA_ID]

gcloud CLI에서 메시지가 표시되면 y를 입력하여 루트 CA를 사용 설정합니다.

이제 루트 CA가 있는 CA 풀이 준비되었으므로 인증서를 만들 수 있습니다.

인증서 만들기

새로 만든 CA를 사용하여 인증서를 만들려면 다음을 수행합니다.

  1. pip 명령어를 사용하여 Pyca 암호화 라이브러리를 설치합니다.

      pip install --user "cryptography>=2.2.0"
    

    CA Service는 Pyca 암호화 라이브러리를 사용하여 새 비대칭 키 쌍을 생성하고 로컬 머신에 저장합니다. 이 키는 CA Service로 전송되지 않습니다.

  2. Google Cloud SDK가 Pyca 암호화 라이브러리를 사용하도록 허용하려면 사이트 패키지를 사용 설정해야 합니다.

    macOS 또는 Linux

    export CLOUDSDK_PYTHON_SITEPACKAGES=1
    

    Windows

    set CLOUDSDK_PYTHON_SITEPACKAGES=1
    
  3. 인증서를 만듭니다.

      gcloud privateca certificates create \
          --issuer-pool POOL_ID \
          --subject "CN=Example Prod,O=Google" \
          --generate-key \
          --key-output-file=./key \
          --cert-output-file=./cert.pem
    

    POOL_ID를 생성한 CA 풀의 리소스 ID로 바꿉니다.

    CA Service는 다음 응답을 반환합니다.

      Created Certificate [projects/PROJECT_ID/locations/LOCATION/caPools/POOL_ID/certificates/CERTIFICATE_ID]
    

삭제

이 빠른 시작에서 만든 CA 풀, CA, 프로젝트를 삭제하여 정리합니다.

  1. 인증서를 취소합니다.

      인증서를 취소하려면 다음 명령어를 실행합니다.

        gcloud privateca certificates revoke --certificate CERT_NAME --issuer-pool POOL_ID
        

      다음을 바꿉니다.

      • CERT_NAME: 취소할 인증서의 이름입니다.
      • POOL_ID: 인증서를 발급한 CA 풀의 이름입니다.
  2. CA를 삭제합니다.

    CA가 발급한 모든 인증서를 취소해야 CA를 삭제할 수 있습니다.

    1. CA를 사용 중지합니다.

      gcloud privateca roots disable CA_ID --pool=POOL_ID
      

      다음을 바꿉니다.

      • CA_ID: CA의 리소스 ID
      • POOL_ID: CA 풀의 리소스 ID
    2. CA를 삭제합니다.

      gcloud privateca roots delete CA_ID --pool=POOL_ID
      

    CA 상태가 Deleted로 변경됩니다. CA Service는 삭제를 시작하고 30일 후에 CA를 영구적으로 삭제합니다.

  3. CA 풀을 삭제합니다.

    포함된 CA가 영구적으로 삭제되어야 CA 풀을 삭제할 수 있습니다.

    gcloud privateca pools delete POOL_ID
    
  4. 프로젝트를 삭제합니다.

      Delete a Google Cloud project:

      gcloud projects delete PROJECT_ID

다음 단계