사용자 인증 정보 액세스 권한이 있는 인스턴스 만들기

이 페이지에서는 사용자 사용자 인증 정보를 통해 Google Cloud 서비스 및 API에 액세스하는 Vertex AI Workbench 인스턴스를 만드는 방법을 설명합니다.

사용자 인증 정보는 Google 계정과 연결된 사용자 인증 정보입니다. 사용자 인증 정보에 따라 Google 계정에서 액세스할 수 있는 Google Cloud 서비스 및 API가 결정됩니다.

기본적으로 Vertex AI Workbench 인스턴스에서 코드를 실행하면 인스턴스는 인스턴스의 서비스 계정과 연결된 사용자 인증 정보를 사용하여 Google Cloud 서비스 및 API에 액세스할 수 있습니다. 즉, 인스턴스는 서비스 계정과 동일한 Google Cloud 액세스 권한을 갖습니다.

이 페이지에서는 인스턴스가 사용자 사용자 인증 정보와 동일한 Google Cloud 액세스 권한을 갖도록 인스턴스를 만들고 구성하는 방법을 설명합니다.

개요

Vertex AI Workbench는 사용자 인증 정보 액세스를 직접 지원하지 않지만, Google Cloud 서비스 및 API에 대한 사용자 인증 정보 기반 액세스 권한이 있는 인스턴스를 구성할 수는 있습니다.

이 페이지에서는 다음 단계에 따라 사용자 사용자 인증 정보 기반 인스턴스를 구성하고 인증하는 방법을 설명합니다.

  1. 제한된 권한으로 서비스 계정을 준비합니다. 이 서비스 계정은 인스턴스가 작동하는 데 필요한 특정 액세스를 제외하고 Google Cloud에 액세스할 수 없습니다.

  2. 다음 사양으로 인스턴스를 만듭니다.

    • 단일 사용자 액세스. 이렇게 하면 지정한 사용자만 JupyterLab에 액세스할 수 있습니다.

    • SSH 액세스가 사용 중지됨. 인스턴스에 대한 SSH 액세스는 기본적으로 OS 로그인을 통해 관리됩니다. SSH 액세스를 사용 중지하면 기본 Compute Engine VM에 SSH 액세스 권한이 있는 사용자의 액세스가 차단됩니다.

    • 제한된 권한을 가진 서비스 계정이 소유함 기본적으로 새 인스턴스는 서비스 계정이 소유하며 서비스 계정이 액세스할 수 있는 모든 Google Cloud 서비스 및 API에 액세스할 수 있습니다. 제한된 권한으로 서비스 계정을 지정하면 Google Cloud 서비스 및 API에 대한 예기치 않은 액세스가 방지되므로 사용자 인증 정보로 제어되는 액세스를 설정할 수 있습니다.

  3. 사용자 인증 정보로 인스턴스를 인증합니다. 인스턴스가 실행된 후 애플리케이션 기본 사용자 인증 정보(ADC)에 사용자 인증 정보를 제공합니다. ADC는 Google Cloud 서비스 및 API에 사용자 인증 정보를 인증합니다. 이렇게 하면 Vertex AI Workbench 인스턴스에 사용자 사용자 인증 정보와 동일한 Google Cloud 액세스 권한이 부여됩니다.

시작하기 전에

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Enable the API

필요한 역할

사용자 계정에 Vertex AI Workbench 인스턴스를 만드는 데 필요한 권한이 있는지 확인하려면 관리자에게 프로젝트에 대한 Notebooks 실행자 (roles/notebooks.runner) IAM 역할을 사용자 계정에 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

관리자는 커스텀 역할이나 다른 사전 정의된 역할을 통해 사용자 계정에 필요한 권한을 부여할 수도 있습니다.

서비스 계정 준비

Vertex AI Workbench 인스턴스에는 JupyterLab 서버를 호스팅하는 Compute Engine VM 인스턴스를 만드는 데 필요한 서비스 계정이 필요합니다. 이 서비스 계정은 필수 로깅 활동도 관리합니다.

다음 권한만 있는 서비스 계정을 준비해야 합니다.

  • logging.logEntries.create
  • logging.logEntries.route
  • monitoring.metricDescriptors.create
  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.monitoredResourceDescriptors.get
  • monitoring.monitoredResourceDescriptors.list
  • monitoring.timeSeries.create

서비스 계정을 만들려면 서비스 계정 만들기를 참고하세요.

기존 서비스 계정을 수정하려면 서비스 계정 표시 및 수정을 참고하세요.

단일 사용자 인스턴스 만들기

Google Cloud 콘솔 또는 Google Cloud CLI를 사용하여 Vertex AI Workbench 인스턴스를 만들 수 있습니다.

콘솔

Vertex AI Workbench 인스턴스를 만들려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 인스턴스 페이지로 이동합니다.

    인스턴스로 이동

  2. 새로 만들기를 클릭합니다.

  3. 새 인스턴스 대화상자에서 고급 옵션을 클릭합니다.

  4. 인스턴스 만들기 대화상자의 세부정보 섹션에서 새 인스턴스에 대해 다음 정보를 제공합니다.

    • 이름: 새 인스턴스 이름을 입력합니다. 이름은 문자로 시작해야 합니다. 이어서 최대 62자의 소문자, 숫자 또는 하이픈(-)이 와야 하며 하이픈으로 끝나서는 안 됩니다
    • 리전영역: 새 인스턴스의 리전 및 영역을 선택합니다. 최상의 네트워크 성능을 위해 지리적으로 가장 가까운 리전을 선택합니다. 사용 가능한 Vertex AI Workbench 위치를 참고하세요.
  5. SSH 액세스를 사용 중지하려면 다음 단계를 따르세요.

    1. 환경 섹션의 메타데이터에서  메타데이터 추가를 클릭합니다.

    2. Key 1disable-ssh을 입력합니다.

    3. Value 1true를 입력합니다.

  6. IAM 및 보안 섹션에서 단일 사용자를 선택한 후 사용자 이메일 필드에 액세스 권한을 부여하려는 사용자 계정을 입력합니다. 지정된 사용자가 인스턴스의 생성자가 아닌 경우 지정된 사용자에게 인스턴스의 서비스 계정에 대한 서비스 계정 사용자 역할(roles/iam.serviceAccountUser)을 부여해야 합니다.

  7. 기본 Compute Engine 서비스 계정 사용을 선택 해제한 후 이 가이드에서 앞서 준비한 서비스 계정의 이메일 주소를 입력합니다. 아직 서비스 계정을 준비하지 않았다면 서비스 계정 준비하기를 참고하세요.

  8. 인스턴스 만들기 대화상자의 나머지 부분을 완료한 후 만들기를 클릭합니다.

    Vertex AI Workbench에서 인스턴스를 만들고 자동으로 시작합니다. 인스턴스를 사용할 수 있으면 Vertex AI Workbench에서 JupyterLab 열기 링크를 활성화합니다.

gcloud

아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.

  • INSTANCE_NAME: Vertex AI Workbench 인스턴스의 이름입니다. 문자로 시작해야 하고 이어서 최대 62자의 소문자, 숫자 또는 하이픈(-)이 와야 하며 하이픈으로 끝나서는 안 됩니다.
  • PROJECT_ID: 프로젝트 ID입니다.
  • LOCATION: 인스턴스를 배치할 영역
  • VM_IMAGE_PROJECT: VM 이미지가 속한 Google Cloud 프로젝트의 ID(형식: projects/IMAGE_PROJECT_ID)
  • VM_IMAGE_NAME: 전체 이미지 이름입니다. 특정 버전의 이미지 이름을 찾으려면 특정 버전 찾기를 참조하세요.
  • MACHINE_TYPE: 인스턴스 VM의 머신 유형
  • METADATA: 이 인스턴스에 적용할 커스텀 메타데이터. 예를 들어 SSH를 사용 중지하려면 disable-ssh 메타데이터 태그를 다음 형식으로 사용할 수 있습니다. "--metadata=disable-ssh=true"
  • SERVICE_ACCOUNT: 인스턴스에 사용할 서비스 계정의 이메일 주소
  • OWNER: 인스턴스에 액세스할 수 있는 단일 사용자의 계정 이메일 주소입니다. 한 명의 사용자만 지원됩니다.

다음 명령어를 실행합니다.

Linux, macOS 또는 Cloud Shell

gcloud workbench instances create INSTANCE_NAME \
    --project=PROJECT_ID \
    --location=LOCATION \
    --vm-image-project=VM_IMAGE_PROJECT \
    --vm-image-name=VM_IMAGE_NAME \
    --machine-type=MACHINE_TYPE \
    --metadata=METADATA \
    --service-account-email=SERVICE_ACCOUNT
    --instance-owners=OWNER

Windows(PowerShell)

gcloud workbench instances create INSTANCE_NAME `
    --project=PROJECT_ID `
    --location=LOCATION `
    --vm-image-project=VM_IMAGE_PROJECT `
    --vm-image-name=VM_IMAGE_NAME `
    --machine-type=MACHINE_TYPE `
    --metadata=METADATA `
    --service-account-email=SERVICE_ACCOUNT
    --instance-owners=OWNER

Windows(cmd.exe)

gcloud workbench instances create INSTANCE_NAME ^
    --project=PROJECT_ID ^
    --location=LOCATION ^
    --vm-image-project=VM_IMAGE_PROJECT ^
    --vm-image-name=VM_IMAGE_NAME ^
    --machine-type=MACHINE_TYPE ^
    --metadata=METADATA ^
    --service-account-email=SERVICE_ACCOUNT
    --instance-owners=OWNER

명령줄에서 인스턴스를 만드는 명령어에 대한 자세한 내용은 gcloud CLI 문서를 참조하세요.

Vertex AI Workbench에서 인스턴스를 만들고 자동으로 시작합니다. 인스턴스를 사용할 수 있으면 Vertex AI Workbench에서 Google Cloud 콘솔에 JupyterLab 열기 링크를 활성화합니다.

사용자 인증 정보로 인스턴스 인증

Vertex AI Workbench는 애플리케이션 기본 사용자 인증 정보 (ADC)를 사용하여 Google Cloud 서비스 및 API에 사용자 사용자 인증 정보를 인증할 수 있습니다. 이 섹션에서는 ADC에 사용자 인증 정보를 제공하는 방법을 설명합니다.

인증 단계는 Google 계정 또는 서드 파티 사용자 인증 정보를 사용하는지에 따라 다릅니다.

Google 계정

인스턴스에서 JupyterLab에 액세스할 수 있게 되면 다음을 실행합니다.

  1. Google Cloud 콘솔에서 인스턴스 페이지로 이동합니다.

    인스턴스로 이동

  2. 인스턴스 이름 옆에 있는 JupyterLab 열기를 클릭합니다.

  3. JupyterLab에서 파일 > 새로 만들기 > 터미널을 선택합니다.

  4. 터미널 창에서 다음을 실행합니다.

    gcloud auth login
  5. Y를 입력합니다.

  6. 안내에 따라 인증 코드를 복사하여 터미널에 입력합니다.

서드 파티 사용자 인증 정보

서드 파티 사용자 인증 정보로 인스턴스를 만든 경우 JupyterLab 프록시를 사용할 수 있게 되면 다음을 실행합니다.

  1. 제휴 JupyterLab 프록시를 사용하여 JupyterLab을 엽니다.

  2. JupyterLab에서 파일 > 새로 만들기 > 터미널을 선택합니다.

  3. 헤드리스 로그인을 사용하여 Workforce Identity Federation 사용자 인증 정보 파일을 만듭니다.

  4. 터미널 창에서 다음을 실행합니다.

    gcloud auth login --cred-file="CREDENTIAL_FILE"

    CREDENTIAL_FILE을 만든 사용자 인증 정보 파일의 경로 및 이름으로 바꿉니다.

  5. 안내에 따라 서드 파티 인증 포털을 통해 인증합니다.

  6. 다음 명령어를 사용하여 인스턴스를 통해 사용자 인증 정보에 액세스할 수 있는지 확인합니다.

    gcloud auth list

제한사항

  • 관리형 노트북 인스턴스를 Vertex AI Workbench 인스턴스로 마이그레이션해도 원래 인스턴스의 사용자 사용자 인증 정보 기반 액세스 권한은 유지되지 않습니다. 이 가이드에 설명된 대로 이전된 인스턴스를 구성하고 사용자 인증 정보를 인증해야 합니다.