서버 암호화 키 설정
암호화 키를 설정하여 서버 비밀번호를 암호화할 수 있습니다. 이러한 키는 Cloud Key Management Service(Cloud KMS)를 사용하여 관리할 수 있는 고객 관리 암호화 키(CMEK)입니다. 이는 새 서버를 프로비저닝하거나 기존 서버를 프로비저닝하는 동안 설정할 수 있습니다. 암호화 키를 여러 서버에서 사용할 수 있습니다.
암호화 키 사용은 선택사항입니다. 그러나 암호화 키를 설정하면 사용해야 합니다. 이 설정은 변경할 수 없습니다. 그러나 키 또는 버전을 변경할 수는 있습니다.
이 기능은 베어메탈 솔루션에서 지원하는 Linux OS에서만 사용할 수 있습니다.
시작하기 전에
Cloud KMS를 사용하여 암호화 키를 만듭니다.
암호화 키를 만들려면 다음 단계를 따르세요.
키를 만들 프로젝트에서 Cloud KMS API를 사용 설정합니다.
프로젝트당 한 번만 이 작업을 수행하세요.
베어메탈 솔루션 서비스 계정에 다음 역할을 할당합니다. 프로젝트당 한 번만 이 작업을 수행하세요.
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: 베어메탈 솔루션 서버가 포함된 프로젝트
-
필요한 만큼 키와 버전을 만들 수 있습니다.
서버를 프로비저닝하는 동안 암호화 키 설정
Google Cloud 콘솔 접수 양식을 통해 프로비저닝하는 동안 새 베어메탈 솔루션 서버에 암호화 키를 설정할 수 있습니다.
서버를 프로비저닝하는 동안 암호화 키를 설정하려면 Google Cloud 콘솔 접수 양식을 사용하여 선택 항목 입력을 참조하세요.
서버 이미지를 재설치하는 동안 암호화 키 설정
서버 이미지를 재설치하는 동안 암호화 키를 설정하려면 서버 OS 변경을 참고하세요.
서버의 암호화 키 및 비밀번호 보기
서버의 암호화 키와 비밀번호를 보려면 다음 단계를 따르세요.
콘솔
서버 페이지로 이동합니다.
서버 이름을 클릭합니다.
서버 세부정보 페이지의 비밀번호 암호화 키 필드에서 암호화 키를 확인합니다.
사용자 계정과 해당 암호화된 비밀번호를 보려면 사용자 계정 섹션으로 이동합니다.
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: 베어메탈 솔루션 서버의 리전
비밀번호 복호화
원시 비밀번호를 가져오려면 다음 단계를 따르세요.
암호문을 가져옵니다.
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
비밀번호를 복호화합니다. 데이터 복호화의 단계를 따릅니다.