[BUCKET_NAME_1]을 클릭합니다. setup2.html 파일과 setup3.html 파일 모두 고객이 제공한 키로 암호화되어 있다고 표시됩니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
고객 제공 암호화 키(CSEK)
로컬 파일 삭제, 새 파일 복사, 암호화 확인
Cloud Shell에서 다음 명령어를 실행하여 로컬 파일을 삭제합니다.
rm setup*
다음 명령어를 실행하여 버킷에서 파일을 다시 복사합니다.
gsutil cp gs://$BUCKET_NAME_1/setup* ./
다음 명령어를 실행하여 암호화된 파일을 화면에 출력하고 파일이 다시 돌아왔는지 확인합니다.
cat setup.html
cat setup2.html
cat setup3.html
작업 4: CSEK 키 순환
현재 CSEK 암호화 키를 복호화 키로 이동
다음 명령어를 실행하여 .boto 파일을 엽니다.
nano .boto
현재 encryption_key 줄의 맨 앞에 # 문자를 추가하여 주석 처리합니다.
nano 편집기 하단의 단축키로 파일을 빠르게 탐색할 수 있습니다. Where Is 단축키를 사용하여 #encryption_key=이 있는 줄을 빠르게 찾을 수 있습니다.
# 문자를 삭제하여 decryption_key1의 주석 처리를 삭제하고 encryption_key 줄의 현재 키를 decryption_key1 줄에 복사합니다.
결과(출력 예시이므로 복사하지 마세요):
변경 전:
encryption_key=2dFWQGnKhjOcz4h0CudPdVHLG2g+OoxP8FQOIKKTzsg=
# decryption_key1=
변경 후:
# encryption_key=2dFWQGnKhjOcz4h0CudPdVHLG2g+OoxP8FQOIKKTzsg=
decryption_key1=2dFWQGnKhjOcz4h0CudPdVHLG2g+OoxP8FQOIKKTzsg=
Ctrl+O와 ENTER 키를 눌러 boto 파일을 저장한 다음 Ctrl+X를 눌러 nano 편집기를 종료합니다.
파일을 [BUCKET_NAME_2]에 업로드합니다. 작은 예시 파일이나 텍스트 파일이면 됩니다.
파일 이름을 기록해 둡니다. 이후 [FILE_NAME]에 사용됩니다.
IAM 서비스 계정 만들기
Cloud Console의 탐색 메뉴()에서 IAM 및 관리자 > 서비스 계정을 클릭합니다.
서비스 계정 만들기를 클릭합니다.
서비스 계정 세부정보 페이지에서 서비스 계정 이름을 cross-project-storage로 지정합니다.
만들고 계속하기를 클릭합니다.
서비스 계정 권한 페이지에서 역할을 Cloud Storage > 스토리지 객체 뷰어로 지정합니다.
계속을 클릭한 다음 완료를 클릭합니다.
cross-project-storage 서비스 계정을 클릭하여 JSON 키를 추가합니다.
키 탭에서 키 추가 드롭다운을 클릭하고 새 키 만들기를 선택합니다.
키 유형으로 JSON을 선택하고 만들기를 클릭합니다. JSON 키 파일이 다운로드됩니다. 이후 단계에서 이 키 파일을 찾아 VM에 업로드해야 합니다.
닫기를 클릭합니다.
하드 드라이브에서 JSON 키 파일의 이름을 credentials.json으로 변경합니다.
상단 창에서 [PROJECT_ID_1]로 다시 전환합니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
두 번째 프로젝트에 리소스 만들기
VM 만들기
탐색 메뉴()에서 Compute Engine > VM 인스턴스를 클릭합니다.
인스턴스 만들기를 클릭합니다.
다음을 지정하고 나머지 설정은 기본값으로 둡니다.
속성
값(값 입력 또는 지정된 옵션 선택)
이름
crossproject
리전
europe-west1
영역
europe-west1-d
시리즈
N1
머신 유형
n1-standard-1
부팅 디스크
Debian GNU/Linux 11 (bullseye)
만들기를 클릭합니다.
SSH를 통해 VM 연결
crossproject에서 SSH를 클릭하여 터미널을 실행하고 연결합니다.
환경 변수에 [BUCKET_NAME_2]를 저장합니다.
export BUCKET_NAME_2=<여기에 버킷 이름 2 입력>
echo를 사용하여 값을 확인합니다.
echo $BUCKET_NAME_2
환경 변수에 [FILE_NAME]을 저장합니다.
export FILE_NAME=<여기에 FILE_NAME 입력>
echo를 사용하여 값을 확인합니다.
echo $FILE_NAME
[PROJECT_ID_2]의 파일을 나열합니다.
gsutil ls gs://$BUCKET_NAME_2/
결과(출력 예시이므로 복사하지 마세요):
AccessDeniedException: 403 404513585876-compute@developer.gserviceaccount.com does not have storage.objects.list access to the Google Cloud Storage bucket.
VM 승인
SSH VM 터미널을 통해 credentials.json을 업로드하려면 오른쪽 상단의 톱니바퀴 아이콘()을 클릭한 다음 파일 업로드를 클릭합니다.
credentials.json을 선택하여 업로드합니다.
파일 전송 창에서 닫기를 클릭합니다.
JSON 파일이 VM에 업로드되었는지 확인합니다.
ls
결과(출력 예시이므로 복사하지 마세요):
credentials.json
터미널에 다음 명령어를 입력하여 VM이 Google Cloud API를 사용하도록 승인합니다.
Copying file://credentials.json [Content-Type=application/json]...
AccessDeniedException: 403 cross-project-storage@qwiklabs-gcp-02-c638e3daa975.iam.gserviceaccount.com does not have storage.objects.create access to the Google Cloud Storage object.
역할 수정
상단 창에서 [PROJECT_ID_2]로 다시 전환합니다.
Cloud Console의 탐색 메뉴()에서 IAM 및 관리자 > IAM을 클릭합니다.
cross-project-storage 서비스 계정의 연필 아이콘을 클릭합니다. 오른쪽으로 스크롤해야 이 아이콘이 표시될 수도 있습니다.
스토리지 객체 뷰어 역할을 클릭한 다음 Cloud Storage > 스토리지 객체 관리자를 클릭합니다.
저장을 클릭합니다.
저장을 클릭하지 않으면 변경사항이 적용되지 않습니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
첫 번째 프로젝트에서 리소스 만들기 및 확인
Labs create a Google Cloud project and resources for a fixed time
Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
On the top left of your screen, click Start lab to begin
Use private browsing
Copy the provided Username and Password for the lab
Click Open console in private mode
Sign in to the Console
Sign in using your lab credentials. Using other credentials might cause errors or incur charges.
Accept the terms, and skip the recovery resource page
Don't click End lab unless you've finished the lab or want to restart it, as it will clear your work and remove the project
현재 이 콘텐츠를 이용할 수 없습니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
감사합니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
One lab at a time
Confirm to end all existing labs and start this one
Use private browsing to run the lab
Use an Incognito or private browser window to run this lab. This
prevents any conflicts between your personal account and the Student
account, which may cause extra charges incurred to your personal account.
이 실습에서는 Cloud Storage 버킷을 만들어 사용해 보고 액세스 목록을 통한 액세스 제한, 버전 제어 구현, 자체 암호화 키 로드 및 관리, 디렉터리 동기화 등의 다양한 고급 기능을 연습합니다.