gcloud CLI를 사용하면 개발자는 비공개 키를 사용하여 로봇 계정이라고도 하는 서비스 계정을 인증할 수 있습니다. 이 페이지에서는 Google Cloud의 서비스 계정에 대한 p12 키를 만들고 사용하는 방법을 설명합니다.
pyca/cryptography 설치
pyca/cryptography 라이브러리(버전 >= 2.5
)를 사용하면 gcloud CLI에서 서비스 계정을 식별하는 p12 형식 키 파일을 디코딩할 수 있습니다. 여기에는 암호화 루틴이 포함되어 있으므로 pyca/cryptography는 gcloud CLI와 함께 배포되지 않습니다.
시스템에 Python Package Index에 대한 명령줄 인터페이스인 pip
가 설치되어 있으면 다음 명령어를 실행하여 pyca/cryptography
를 설치합니다.
자세한 내용은 설치 안내를 참조하세요.
python -m pip install cryptography
CLOUDSDK_PYTHON_SITEPACKAGES=1
pyca/cryptographic이 설치되면 CLOUDSDK_PYTHON_SITEPACKAGES
환경 변수를 1
로 설정해야 합니다. 이 환경 변수 설정은 gcloud CLI가 자체 google-cloud-sdk/lib
디렉터리 외부에서 포함할 라이브러리를 검색하도록 지시합니다. 일반적으로 CLOUDSDK_PYTHON_SITEPACKAGES=1
을 설정하면 안전하지만 정상적으로 작동하지 않으면 실행을 취소해야 할 수도 있습니다.
서비스 계정 만들기
새 서비스 계정을 만들고 p12 키 파일을 다운로드하려면 서비스 계정 키 만들기의 단계를 수행합니다.
이 키 파일은 기밀로 취급되어야 하며, 신뢰할 수 없는 사람이 키 파일에 액세스하지 못하도록 주의해야 합니다. Unix 계열 시스템에서는 다음 명령어를 사용하여 원격으로 연결된 다른 사용자(루트 사용자 이외)가 파일을 볼 수 없도록 할 수 있습니다.
chmod 0600 YOUR_KEY_FILE.p12
gcloud CLI를 통해 서비스 계정 사용
gcloud auth activate-service-account
를 사용하여 서비스 계정 사용자 인증 정보를 사용할 수 있습니다.
gcloud CLI를 통해 서비스 계정을 사용하려면 gcloud auth activate-service-account
를 실행하고 필요한 --key-file
플래그와 함께 키 파일 경로로 전달한 후 위치 인수로 계정을 부여하세요.
사용하는 계정은 Google Cloud 콘솔에 등록된 서비스 계정의 이메일이어야 하지만 확인되지는 않습니다. 단지 사용 중인 계정을 기억하는 데 유용합니다.
gcloud auth activate-service-account --key-file ~/mykeys/my_key_file.p12 my_service_account@developer.gserviceaccount.com Activated service account credentials for my_service_account@developer.gserviceaccount.com.
경고: gcloud auth activate-service-account
는 비공개 키의 사본을 만들어 $HOME/.config/gcloud/legacy_credentials/my_service_account@developer.gserviceaccount.com/private_key.p12
및 $HOME/.config/gcloud/credentials.db
에 저장합니다.
이 사본은 0600
권한으로 생성되며(사용자 개인 용도로 읽기/쓰기), $HOME/.config/gcloud
에 저장된 모든 내용은 기밀로 취급되어야 합니다. gcloud CLI에서 저장된 인증 데이터를 안전하고 확실하게 삭제하려면 $HOME/.config/gcloud
만 삭제해야 합니다. Console에서 다운로드한 키 파일의 안전한 관리 책임은 사용자에게 있습니다. Google Cloud 의심스러운 경우 Google Cloud 콘솔에서 키를 취소하세요.
서비스 계정이 활성화되었으므로 새용자 정보 인증 목록에서 계정이 표시됩니다.
gcloud auth list Credentialed Accounts ACTIVE ACCOUNT * my_service_account@developer.gserviceaccount.com To set the active account, run: $ gcloud config set account my_service_account@developer.gserviceaccount.com