Google CLI를 사용하여 개인 키 만들기

GCP에 대한 VSB 계획을 만들려면 UDP 콘솔에 개인 키가 필요합니다.

새 키를 만들려면 먼저 gcloud CLI를 설치하고 초기화해야 합니다. 아래 링크에 언급된 단계에 따라 관리자 권한으로 CLI 도구를 설치하고 초기화합니다.

동일한 환경에서 gcloud를 설치하고 초기화한 후, 다음 단계에 따라 키를 수동으로 만들거나 Windows powershell 스크립트 gcp_auth_key_create.ps1을 실행합니다.

  1. gcloud 도구를 설치하고 초기화한 후, 다음을 수행합니다.
    1. "gcloud --version" 명령으로 버전을 확인하여 gcloud 도구가 설치되었는지 테스트하고 확인합니다.
    2. 초기화하는 동안, 조직을 완전히 제어할 수 있는 관리자 계정을 사용하여 gcloud에서 인증하여 특정 프로젝트에 연결합니다.
    3. "gcloud config set project PROJECT_ID" 명령을 사용하여 VSB 인스턴스를 만들어야 하는 프로젝트를 설정합니다. 여기서 PROJECT_ID는 조직에서 사용할 수 있는 유효한 프로젝트입니다.
  2. gcloud를 사용하여 VSB 관련 태스크를 허용하는 프로젝트의 사용자 지정 역할을 만들어 사용자의 프로젝트에 대한 액세스를 구성합니다.
  3. 서비스 계정을 만들려면 다음 값을 대체하고 아래에 제공된 명령을 실행합니다.
  4. gcloud iam service-accounts create SA_NAME --display-name="DISPLAY_NAME"

  5. 서비스 계정 전자 메일 주소를 가져오고 다음 명령을 실행합니다.
  6. gcloud iam service-accounts list --filter "displayName=DISPLAY_NAME"

  7. 다음을 대체합니다.
  8. DISPLAY_NAME: 3단계에서 제공한 표시 이름.
  9. 위 명령의 출력에서 서비스 계정 전자 메일 주소를 기록해 둡니다. 이 주소는 다음과 같은 형식이며 나머지 단계에서 SA_EMAIL로 표시됩니다.
  10. SA_NAME@PROJECT_ID.iam.gserviceaccount.com
  11. JSON 키 파일을 만들고 다운로드하려면 다음 값을 대체하고 아래에 제공된 명령을 실행합니다.
  12. gcloud iam service-accounts keys create KEY_FILE --iam-account=SA_EMAIL

  13. JSON 키 파일에는 나중에 UDP 콘솔 내에서 필요한 개인 키가 포함되어 있습니다.
  14. VSB 태스크에 필요한 아래 69개 권한을 포함하는 사용자 지정 역할을 만들려면 다음 값을 대체하고 명령을 실행합니다.
  15. gcloud iam roles create ROLE_NAME --project PROJECT_ID –permissions=
    compute.addresses.list,compute.addresses.use,compute.disks.create,compute.disks.createSnapshot,
    compute.disks.delete,compute.disks.get,compute.disks.use,compute.firewallPolicies.create,compute.firewallPolicies.delete,
    compute.firewallPolicies.get,compute.firewallPolicies.list,compute.firewallPolicies.update,compute.firewallPolicies.use,
    compute.firewalls.create,compute.firewalls.delete,compute.firewalls.get,compute.firewalls.list,compute.firewalls.update,
    compute.globalOperations.get,compute.images.useReadOnly,compute.instances.addAccessConfig,
    compute.instances.attachDisk,compute.instances.create,compute.instances.delete,compute.instances.deleteAccessConfig,
    compute.instances.detachDisk,compute.instances.list,compute.instances.setMetadata,compute.instances.setServiceAccount,
    compute.instances.start,compute.instances.stop,compute.instances.update,compute.instances.updateDisplayDevice,compute.machineTypes.list,compute.networks.access,
    compute.networks.create,compute.networks.delete,compute.networks.get,compute.networks.getEffectiveFirewalls,compute.networks.list,compute.networks.update,
    compute.networks.use,compute.networks.useExternalIp,compute.regionOperations.get,compute.snapshots.create,compute.snapshots.delete,compute.snapshots.get,
    compute.snapshots.useReadOnly,compute.subnetworks.create,compute.subnetworks.delete,compute.subnetworks.get,compute.subnetworks.list,compute.subnetworks.update,
    compute.subnetworks.use,compute.subnetworks.useExternalIp,compute.zoneOperations.get,compute.zones.list,iam.serviceAccounts.actAs,iam.serviceAccounts.get,iam.serviceAccounts.list,
    resourcemanager.projects.get,serviceusage.services.use,storage.buckets.create,storage.buckets.enableObjectRetention,storage.buckets.list,storage.objects.create,storage.objects.delete,
    storage.objects.get,storage.objects.list

  16. 이 명령은 프로젝트 내에 ROLE_NAME이라는 사용자 지정 역할을 만듭니다. 역할의 전체 이름은 위 명령의 출력으로 나열되며, 역할 이름 형식은 projects/PROJECT_ID/roles/ROLE_NAME입니다.
  17. 참고: 역할은 권한의 모음입니다. 사용자에게 직접 권한을 할당할 수 없으며, 대신 역할을 부여합니다. 사용자에게 역할을 부여하면 해당 역할에 포함된 모든 권한이 부여됩니다.

  18. 사용자 지정 역할 ROLE_NAME을 서비스 계정 SA_NAME에 결합하려면 다음 값을 대체하고 아래에 제공된 명령을 실행합니다.
  19. gcloud projects add-iam-policy-binding PROJECT_ID --member serviceAccount:SA_EMAIL --role=ROLE_FULL_NAME

  20. UDP 콘솔에서, 5단계에서 다운로드한 이 서비스 계정 JSON 키 파일을 사용하여 GCP에 대한 VSB계획을 만듭니다.