워크스테이션 내에서 API 액세스 인증 및 설정

이 문서에서는 Workstations UI를 사용하여 로그인하여 gcloud CLI를 인증하고 애플리케이션 기본 사용자 인증 정보(ADC)에 사용자 인증 정보를 제공하는 방법을 포함하여 워크스테이션 내에서 API 액세스를 인증하고 설정하는 방법을 설명합니다.

Google Cloud CLI를 사용하여 사용자로 인증

Cloud Workstations를 시작한 후에는 gcloud CLI를 통해 사용자 계정을 사용하여 Google Cloud 서비스 및 API에 액세스할 수 있습니다.

gcloud CLI를 인증하고 애플리케이션 기본 사용자 인증 정보(ADC)에 사용자 인증 정보를 제공하려면 다음 옵션 중 하나를 선택합니다.

Workstations UI를 사용한 사용자 로그인

Google Cloud 콘솔을 통해 로그인하면 gcloud CLI가 자동으로 인증되고 워크스테이션 환경의 애플리케이션 기본 사용자 인증 정보(ADC)에 사용자 인증 정보가 제공됩니다.

워크스테이션 리소스에서 UI 로그인 사용 설정

이 기능을 사용하려면 먼저 워크스테이션 구성과 클러스터가 모두 UI 로그인을 지원하도록 설정되어 있는지 확인하세요.

  1. Google Cloud 콘솔에서 워크스테이션 구성의 환경 설정 섹션으로 이동합니다. 인증에서 사용자 인증 정보 푸시 사용 설정 체크박스를 선택하거나 API에서 enable_pushing_credentials: true를 설정합니다.
  2. gcloud CLI를 사용하여 클러스터의 콘솔 기준 URL을 Google Cloud 콘솔 엔드포인트(예: https://console.cloud.google.com/)로 설정합니다.
    gcloud beta workstations clusters update CLUSTER_NAME \
        --region=REGION \
        --console-base-url="https://console.cloud.google.com/"

워크스테이션에서 로그인

로그인하여 워크스테이션을 인증하려면 다음 안내를 따르세요.

  1. Code OSS for Cloud Workstations 편집기에서 워크스테이션에 로그인을 클릭합니다. Google Cloud 콘솔 로그인 창이 열립니다.
  2. Google Cloud 콘솔에서 워크스테이션 세부정보(예: 워크스테이션 ID) 및 계정 세부정보를 확인한 후 계속을 클릭합니다.
  3. 확인을 클릭하여 로그인을 완료합니다.
  4. 확인 메시지가 표시되면 브라우저 창을 닫고 편집기로 돌아갑니다. 이제 워크스테이션 환경에서 gcloud CLI 및 애플리케이션 기본 사용자 인증 정보(ADC)에 사용자 인증 정보를 사용할 수 있습니다.

로그인 세션은 1시간 후에 만료됩니다. 세션이 만료될 때가 되면 Code OSS for Cloud Workstations 편집기의 로그인 버튼에 EMAIL(Google) - 곧 만료됨(여기서 EMAIL은 이메일 주소) 또는 워크스테이션 로그인 곧 만료됨이 표시됩니다. 사용자 인증 정보를 새로고침하려면 버튼을 클릭하고 Google Cloud 콘솔의 메시지를 따릅니다.

gcloud CLI로 로그인

구성 또는 클러스터에 UI 로그인이 사용 설정되지 않은 경우 워크스테이션 내의 터미널에서 gcloud CLI를 사용하여 수동으로 로그인할 수 있습니다.

  1. 워크스테이션에서 터미널을 엽니다. 터미널 창을 여는 방법은 사용 중인 IDE에 따라 다릅니다. 예를 들어 Cloud Workstations 기본 편집기를 사용하는 경우 터미널 > 새 터미널을 선택하거나 Control+Shift+`를 눌러서 터미널을 엽니다.
  2. 다음 명령어를 사용하여 인증합니다.
    gcloud auth login --no-launch-browser
  3. 명령어에 제공된 안내에 따라 Google Cloud에 인증합니다.
  4. 다음 명령어를 사용하여 Google Cloud 프로젝트 ID를 지정합니다.
    gcloud config set project PROJECT_ID
  5. 애플리케이션 기본 사용자 인증 정보를 사용 설정하여 Google Cloud 서비스를 호출할 수 있습니다.
    gcloud auth application-default login
  6. 이제 gcloud CLI 사용자 인증 정보가 저장되고 이후 세션에서 워크스테이션을 사용할 때 사용할 수 있습니다.

워크스테이션에 HTTP 요청 실행

워크스테이션에 HTTP 요청을 실행하려면 해당 워크스테이션에 Cloud Workstations 사용자 역할이 있는 계정의 액세스 토큰이 필요합니다.

  1. generateAccessToken API 메서드를 사용하여 액세스 토큰을 생성합니다.
  2. Bearer $TOKEN 값을 가진 Authorization이라는 HTTP 헤더를 추가합니다.

브라우저에서 워크스테이션에 연결

브라우저에서 워크스테이션 URL을 열면 워크스테이션 서버로 리디렉션을 통해 자동으로 인증되고 generateAccessToken API 메서드에서 생성한 액세스 토큰이 검색됩니다. 그러면 워크스테이션으로 다시 리디렉션되고 현재 워크스테이션 세션에 유효한 인증 쿠키가 설정됩니다.

이 리디렉션을 건너뛰려면 _workstationAccessToken URL 매개변수를 사용합니다.

  1. generateAccessToken API 메서드를 사용하여 액세스 토큰을 생성합니다.
  2. 브라우저에서 워크스테이션 URL을 열고 _workstationAccessToken=TOKEN 형식으로 URL 매개변수를 추가합니다.

이렇게 하면 브라우저에서 현재 워크스테이션 세션에 대한 액세스를 허용하는 인증 쿠키가 설정됩니다. 리디렉션을 건너뛰면 네트워크 정책에서 워크스테이션 서버에 대한 액세스를 차단하거나 iframe을 사용하여 다른 사이트에 워크스테이션을 표시할 때 도움이 될 수 있습니다.

서비스 계정 대리

조직의 보안 정책으로 인해 사용자 계정에 필요한 권한이 없는 경우 서비스 계정을 가장할 수도 있습니다. 워크스테이션 구성에 지정된 서비스 계정을 가장하려면 서비스 계정 범위 필드를 지정하면 됩니다.

        gcloud workstations configs create CONFIG \
            --cluster=CLUSTER \
            --region=REGION \
            --project=PROJECT \
            --service-account=SERVICE_ACCOUNT \
            --service-account-scopes=https://www.googleapis.com/auth/cloud-platform
      
이 구성을 지정하면 이 구성의 워크스테이션 사용자에게 서비스 계정에 대한 iam.serviceAccounts.actAs 권한이 있어야 합니다. 서비스 계정의 범위 지정에 대한 자세한 내용은 액세스 범위를 참조하세요.

다음 단계