서버 암호화 키 설정

암호화 키를 설정하여 서버 비밀번호를 암호화할 수 있습니다. 이러한 키는 Cloud Key Management Service(Cloud KMS)를 사용하여 관리할 수 있는 고객 관리 암호화 키(CMEK)입니다. 이는 새 서버를 프로비저닝하거나 기존 서버를 프로비저닝하는 동안 설정할 수 있습니다. 암호화 키를 여러 서버에서 사용할 수 있습니다.

암호화 키 사용은 선택사항입니다. 그러나 암호화 키를 설정하면 사용해야 합니다. 이 설정은 변경할 수 없습니다. 그러나 키 또는 버전을 변경할 수는 있습니다.

이 기능은 베어메탈 솔루션에서 지원하는 Linux OS에서만 사용할 수 있습니다.

시작하기 전에

  1. Cloud KMS를 사용하여 암호화 키를 만듭니다.

    암호화 키를 만들려면 다음 단계를 따르세요.

    1. 키를 만들 프로젝트에서 Cloud KMS API를 사용 설정합니다.

      프로젝트당 한 번만 이 작업을 수행하세요.

    2. 베어메탈 솔루션 서비스 계정에 다음 역할을 할당합니다. 프로젝트당 한 번만 이 작업을 수행하세요.

      • roles/cloudkms.viewer: CryptoKeyVersion을 사용할 수 있는지 확인합니다.
      • roles/cloudkms.publicKeyViewer: 공개 키를 가져옵니다.

      역할 부여 방법을 알아보려면 리소스에 역할 부여를 참고하세요.

      이러한 역할을 할당하려면 gcloud projects add-iam-policy-binding 명령어를 사용합니다.

      gcloud projects add-iam-policy-binding KMS_PROJECT_ID \
      --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-bms.iam.gserviceaccount.com \
      --role roles/cloudkms.publicKeyViewer
      
      gcloud projects add-iam-policy-binding KMS_PROJECT_ID \
      --member serviceAccount:service-PROJECT_NUMBER@gcp-sa-bms.iam.gserviceaccount.com \
      --role roles/cloudkms.viewer
      

      다음을 바꿉니다.

      • KMS_PROJECT_ID: Cloud KMS 키가 포함된 프로젝트
      • PROJECT_NUMBER: 베어메탈 솔루션 서버가 포함된 프로젝트
    3. 비대칭 복호화 키를 만듭니다.

      필요한 만큼 키와 버전을 만들 수 있습니다.

서버를 프로비저닝하는 동안 암호화 키 설정

Google Cloud 콘솔 접수 양식을 통해 프로비저닝하는 동안 새 베어메탈 솔루션 서버에 암호화 키를 설정할 수 있습니다.

서버를 프로비저닝하는 동안 암호화 키를 설정하려면 Google Cloud 콘솔 접수 양식을 사용하여 선택 항목 입력을 참조하세요.

서버 이미지를 재설치하는 동안 암호화 키 설정

서버 이미지를 재설치하는 동안 암호화 키를 설정하려면 서버 OS 변경을 참고하세요.

서버의 암호화 키 및 비밀번호 보기

서버의 암호화 키와 비밀번호를 보려면 다음 단계를 따르세요.

콘솔

  1. 서버 페이지로 이동합니다.

    서버로 이동

  2. 서버 이름을 클릭합니다.

    서버 세부정보 페이지의 비밀번호 암호화 키 필드에서 암호화 키를 확인합니다.

  3. 사용자 계정과 해당 암호화된 비밀번호를 보려면 사용자 계정 섹션으로 이동합니다.

gcloud

gcloud alpha bms instances auth-info 명령어를 사용합니다.

gcloud alpha bms instances auth-info SERVER_NAME --project=PROJECT_ID --region=REGION

다음을 바꿉니다.

  • SERVER_NAME: 베어메탈 솔루션 서버의 이름
  • PROJECT_ID: 프로젝트의 ID
  • REGION: 베어메탈 솔루션 서버의 리전

비밀번호 복호화

원시 비밀번호를 가져오려면 다음 단계를 따르세요.

  1. 암호문을 가져옵니다. gcloud alpha bms instances auth-info 명령어를 사용하세요.

    gcloud alpha bms instances auth-info SERVER_NAME \
    --project=PROJECT_ID \
    --region=REGION \
    --format='value(userAccounts.USERNAME.ENCRYPTED_PASSWORD_FILE)' | tr -d ' \n' | base64 -d > CIPHERTEXT_FILE
    

    다음을 바꿉니다.

    • SERVER_NAME: 베어메탈 솔루션 서버의 이름
    • PROJECT_ID: 베어메탈 솔루션 프로젝트의 ID
    • REGION: 베어메탈 솔루션 서버의 위치
    • USERNAME: 복호화하려는 비밀번호와 연결된 계정의 사용자 이름. 값은 root 또는 customeradmin입니다.
    • ENCRYPTED_PASSWORD_FILE: 암호화된 비밀번호를 저장한 파일. 복사 후 비밀번호 형식 문제를 방지하려면 공백과 줄바꿈('\n') 문자를 삭제합니다.
    • CIPHERTEXT_FILE: 암호문 파일의 이름

    예:

    gcloud alpha bms instances auth-info my-instance \
    --region=europe-west3 \
    --project=project-testing \
    --format='value(userAccounts.customeradmin.encryptedPassword)' | tr -d ' \n' | base64 -d > ciphertext
    

    Google Cloud 콘솔에서 복사한 비밀번호에서 암호문을 가져오려면 다음 명령어를 사용합니다.

    cat ENCRYPTED_PASSWORD_FILE | tr -d ' \n' | base64 -d > CIPHERTEXT_FILE
    

    다음을 바꿉니다.

    • ENCRYPTED_PASSWORD_FILE: 암호화된 비밀번호를 저장한 파일. 복사 후 비밀번호 형식 문제를 방지하려면 공백과 줄바꿈('\n') 문자를 삭제합니다.
    • CIPHERTEXT_FILE: 암호문 파일의 이름

    예:

    cat encrypted_password | tr -d ' \n' | base64 -d > ciphertext
    
  2. 비밀번호를 복호화합니다. 데이터 복호화의 단계를 따릅니다.

다음 단계