Compute Engine을 위한 Cloud IAP 사용 설정

이 페이지에서는 Cloud IAP(Identity-Aware Proxy)를 사용하여 Compute Engine 인스턴스를 보호하는 방법을 설명합니다.

시작하기 전에

Compute Engine을 위해 Cloud IAP를 사용 설정하려면 다음이 필요합니다.

  • 결제가 사용 설정된 GCP Console 프로젝트
  • HTTPS 부하 분산기로 제공된 하나 이상의 Compute Engine 인스턴스 그룹
  • 부하 분산기 주소에 등록된 도메인 이름
  • 모든 요청에 ID가 포함되었는지 확인하기 위한 애플리케이션 코드

Compute Engine 인스턴스가 아직 설정되지 않은 경우, Compute Engine을 위한 Cloud IAP 설정에서 전체 연습 과정을 참조하세요.

GCP Console을 사용하여 Cloud IAP 사용 설정

OAuth 동의 화면 구성

프로젝트의 OAuth 동의 화면을 구성하지 않았으면, 이를 수행해야 합니다. OAuth 동의 화면에는 이메일 주소와 제품 이름이 필요합니다.
  1. OAuth 동의 화면으로 이동합니다.
    동의 화면 구성
  2. 이메일 주소 아래에서 공개 연락처로 표시하려는 이메일 주소를 선택합니다. 이 주소는 개발자의 이메일 주소 또는 개발자가 소유하는 Google 그룹이어야 합니다.
  3. 표시하려는 제품 이름을 입력합니다.
  4. 원하는 선택적인 세부정보를 추가합니다.
  5. 저장을 클릭합니다.

제품 이름 또는 이메일 주소와 같은 OAuth 동의 화면의 정보를 나중에 변경하려면, 위 단계를 반복하여 동의 화면을 구성합니다.

Cloud IAP 액세스 설정

  1. Identity-Aware Proxy 페이지로 이동합니다.
    Identity-Aware Proxy 페이지로 이동
  2. Cloud IAP로 보호하려는 프로젝트를 선택합니다.
  3. 구성원을 추가하려는 리소스 옆에 있는 체크박스를 선택합니다.
  4. 오른쪽 패널에서 구성원 추가를 클릭합니다.
  5. 표시된 구성원 추가 대화상자에서 프로젝트에 대해 IAP 보안 웹 앱 사용자 역할을 포함해야 하는 그룹 또는 개별 사용자의 이메일 주소를 입력합니다.

    다음 계정 종류가 구성원이 될 수 있습니다.

    • Google 계정: user@gmail.com
    • Google 그룹스: admins@googlegroups.com
    • 서비스 계정: server@example.gserviceaccount.com
    • G Suite 도메인: example.com

    액세스 권한이 있는 Google 계정을 추가해야 합니다.

  6. 역할 드롭다운 목록에서 Cloud IAP > IAP 보안 웹 앱 사용자를 선택합니다.
  7. 저장을 클릭합니다.

OAuth 사용자 인증 정보 만들기

  1. 사용자 인증 정보 페이지로 이동합니다.
    사용자 인증 정보 페이지로 이동
  2. 사용자 인증 정보 만들기 드롭다운 목록에서 OAuth 클라이언트 ID를 선택합니다.
  3. 애플리케이션 유형 아래에서 웹 애플리케이션을 선택합니다.
  4. 이름승인된 리디렉션 URLyour_domain/_gcp_gatekeeper/authenticate 형식으로 추가합니다. 여기서 your_domain은 Cloud IAP가 사용 설정된 백엔드 서비스에 액세스하려는 도메인입니다.
  5. 승인된 리디렉션 URL 추가를 마쳤으면 만들기를 클릭한 후, 표시된 OAuth 클라이언트 창에서 확인을 클릭합니다.
  6. OAuth 2.0 클라이언트 ID 아래의 개발자가 만든 사용자 인증 정보 옆에 있는 오른쪽 JSON 다운로드를 클릭합니다. 이러한 사용자 인증 정보는 이후 단계에서 사용됩니다.

승인된 도메인 추가

이후에 더 많은 도메인에서 앱에 액세스하려면 아래 절차를 따르세요.

  1. Identity-Aware Proxy 페이지로 이동합니다.
    Identity-Aware Proxy 페이지로 이동
  2. 도메인을 추가하려는 리소스 옆에 있는 더보기를 클릭한 후 OAuth 클라이언트 수정을 클릭합니다.
  3. 표시된 사용자 인증 정보 창의 승인된 리디렉션 URI 아래에서 도메인을 your_domain/_gcp_gatekeeper/authenticate 형식으로 추가합니다.
  4. 도메인 추가를 완료했으면 저장을 클릭합니다. 이제 Cloud IAP가 사용 설정된 도메인에서 앱에 액세스할 수 있습니다.

Cloud IAP 사용

  1. Identity-Aware Proxy 페이지의 리소스 아래에서 액세스를 제한하려는 인스턴스 그룹을 제공하는 부하 분산기를 찾습니다. 리소스에 대해 Cloud IAP를 사용하려면 IAP 열에서 끄기를 클릭합니다.
    • Cloud IAP를 사용 설정하려면, 부하 분산기 프런트엔드 구성에서 최소한 하나 이상의 프로토콜이 HTTPS여야 합니다. 부하 분산기 설정에 대해 자세히 알아보세요.
  2. 표시된 IAP 사용 창에서 리소스에 액세스하기 위해 사용되는 모든 도메인을 나열합니다. 부하 분산기의 주소에 등록된 도메인을 포함해야 합니다.
  3. 사용을 클릭하여 Cloud IAP에서 보호할 리소스를 확인합니다. Cloud IAP를 사용 설정한 후에는 부하 분산기에 대한 모든 연결에 로그인 사용자 인증 정보가 필요하고, 프로젝트에서 IAP 보안 웹 앱 사용자 역할이 있는 계정에만 액세스 권한이 부여됩니다.

이후에 더 많은 도메인에서 앱에 액세스하려면 아래 절차를 따르세요.

  1. Identity-Aware Proxy 페이지로 이동합니다.
    Identity-Aware Proxy 페이지로 이동
  2. 도메인을 추가하려는 리소스 옆에 있는 더보기를 클릭한 후 OAuth 클라이언트 수정을 클릭합니다.
  3. 표시된 사용자 인증 정보 창의 승인된 리디렉션 URI 아래에서 도메인을 your_domain/_gcp_gatekeeper/authenticate 형식으로 추가합니다.
  4. 도메인 추가를 완료했으면 저장을 클릭합니다. 이제 Cloud IAP가 사용 설정된 도메인에서 앱에 액세스할 수 있습니다.

Cloud SDK를 사용하여 Cloud IAP 사용 설정

이 섹션에서는 gcloud 명령줄 도구를 사용하여 Compute Engine 애플리케이션에 대해 Cloud IAP를 사용 설정하는 방법을 설명합니다. gcloud 명령줄 도구를 사용하여 App Engine에 대해 Cloud IAP를 사용 설정하는 기능은 아직 지원되지 않습니다. 대신 App Engine 빠른 시작을 사용하세요.

Cloud SDK 가져오기

프로젝트 및 Cloud IAP를 설정하려면 먼저 최신 버전의 Cloud SDK가 필요합니다. Cloud SDK를 가져오세요.

프로젝트 설정

Cloud IAP를 사용 설정하려는 프로젝트를 선택하고 이를 다음과 같이 설정합니다.

  1. 인스턴스 그룹 페이지로 이동하여 인스턴스가 인스턴스 그룹에 있는지 확인합니다.
  2. 백엔드 서비스를 정의합니다.
  3. 부하 분산을 설정합니다.
  4. OAuth 클라이언트를 설정합니다.
    1. API > 사용자 인증 정보로 이동하고 Cloud IAP를 사용 설정하려는 프로젝트를 선택합니다.
    2. OAuth 동의 화면을 설정합니다.
      1. OAuth 동의 화면으로 이동합니다.
        동의 화면 구성
      2. 이메일 주소 아래에서 공개 연락처로 표시하려는 이메일 주소를 선택합니다. 이 주소는 개발자의 이메일 주소 또는 개발자가 소유하는 Google 그룹이어야 합니다.
      3. 표시하려는 제품 이름을 입력합니다.
      4. 원하는 선택적인 세부정보를 추가합니다.
      5. 저장을 클릭합니다.

      제품 이름 또는 이메일 주소와 같은 OAuth 동의 화면의 정보를 나중에 변경하려면, 위 단계를 반복하여 동의 화면을 구성합니다.

    3. 사용자 인증 정보 아래에서 사용자 인증 정보 만들기 > OAuth 클라이언트 ID를 클릭합니다.
    4. 애플리케이션 유형 아래에서 웹 애플리케이션을 선택한 후 이름을 추가하고 승인된 리디렉션 URLyourURL/_gcp_gatekeeper/authenticate 형식으로 지정합니다.
    5. 세부정보 입력을 마쳤으면 만들기를 클릭합니다.
    6. 표시된 OAuth 클라이언트 창에서 클라이언트 ID클라이언트 보안 비밀을 기록해둡니다.

Cloud IAP 사용 설정

  1. gcloud 명령줄 도구를 사용하여 gcloud auth login을 실행합니다.
  2. 표시된 URL을 따라서 로그인합니다.
  3. 로그인한 후에는 표시된 확인 코드를 복사하고 이를 명령줄에 붙여넣습니다.
  4. Cloud IAP를 사용 설정하려는 프로젝트에 대해 gcloud config set project project_id를 실행합니다.
  5. Cloud IAP를 사용 설정하기 위해 위에서 만든 OAuth 클라이언트 ID 및 보안 비밀을 사용하고 gcloud compute backend-services update backend_service_name --global --iap=enabled,oauth2-client-id=client_id,oauth2-client-secret=client_secret을 실행합니다.

Cloud IAP를 사용 설정한 후에는 gcloud 명령줄 도구를 사용해서 Cloud IAM 역할 roles/iap.httpsResourceAccessor를 사용하여 Cloud IAP 액세스 정책을 조작합니다. 역할 및 권한 관리에 대해 자세히 알아보세요.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Identity-Aware Proxy 문서