IAP로 Compute Engine 앱 및 리소스 보안

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

Google Cloud에 없는 리소스를 보호하려면 온프레미스 앱 및 리소스 보호를 참조하세요.

시작하기 전에

Compute Engine에 IAP를 사용 설정하려면 다음이 필요합니다.

Compute Engine 인스턴스를 아직 설정하지 않은 경우 전체적으로 둘러보려면 Compute Engine을 위한 IAP 설정을 참조하세요.

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

OAuth 동의 화면 구성

프로젝트의 OAuth 동의 화면을 구성하지 않은 경우 구성해야 합니다. OAuth 동의 화면에는 이메일 주소와 제품 이름이 필요합니다.

  1. Go to the OAuth consent screen.
    Configure consent screen
  2. Under Support email, select the email address you want to display as a public contact. This email address must be your email address, or a Google Group you own.
  3. Enter the Application name you want to display.
  4. Add any optional details you'd like.
  5. Click Save.

To change information on the OAuth consent screen later, such as the product name or email address, repeat the preceding steps to configure the consent screen.

OAuth 사용자 인증 정보 만들기

  1. 사용자 인증 정보 페이지로 이동합니다.
    사용자 인증 정보 페이지로 이동
  2. 사용자 인증 정보 만들기 드롭다운 목록에서 OAuth 클라이언트 ID를 선택합니다.
  3. 애플리케이션 유형 아래에서 웹 애플리케이션을 선택합니다.
  4. OAuth 클라이언트 ID에 이름을 추가합니다.
  5. 만들기를 클릭합니다. OAuth 클라이언트 ID 및 클라이언트 보안 비밀번호가 생성되어 OAuth 클라이언트 창에 표시됩니다.
  6. 확인을 클릭합니다.
  7. 만든 클라이언트를 선택합니다.
  8. 클라이언트 ID를 클립보드에 복사합니다.
  9. 승인된 리디렉션 URI 필드에 다음 형식으로 범용 리디렉션 URL을 추가합니다.
    https://iap.googleapis.com/v1/oauth/clientIds/CLIENT_ID:handleRedirect

    여기서 CLIENT_ID는 OAuth 클라이언트 ID입니다.

  10. 페이지 상단에서 JSON 다운로드를 클릭합니다. 이러한 사용자 인증 정보는 이후 단계에서 사용됩니다.

IAP 액세스 설정

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

    다음과 같은 종류의 주 구성원이 이 역할을 가질 수 있습니다.

    • Google 계정: user@gmail.com
    • Google Groups: admins@googlegroups.com
    • 서비스 계정: server@example.gserviceaccount.com
    • Google Workspace 도메인: example.com

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

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

IAP 사용 설정 중

  1. IAP(Identity-Aware Proxy) 페이지의 HTTPS 리소스에서 액세스를 제한하려는 instance group을 제공하는 부하 분산기를 찾습니다. 리소스에 IAP를 사용하려면
    IAP를 사용 설정하려면 다음 안내를 따르세요.
    • 부하 분산기 프런트엔드 구성에서 하나 이상의 프로토콜이 HTTPS여야 합니다. 부하 분산기 설정에 대해 자세히 알아보세요.
    • compute.backendServices.update, clientauthconfig.clients.create, clientauthconfig.clients.getWithSecret 권한이 필요합니다. 이러한 권한은 프로젝트 편집자 역할과 같은 역할에서 부여합니다. 자세한 내용은 IAP 보안 리소스에 대한 액세스 관리를 참조하세요.
  2. 표시되는 IAP 사용 창에서 사용을 클릭하여 IAP가 리소스를 보호할 것임을 확인합니다. IAP를 사용하면 부하 분산기에 대한 모든 연결에 로그인 사용자 인증 정보가 필요합니다. 프로젝트에서 IAP 보안 웹 앱 사용자 역할이 있는 계정만 액세스할 수 있습니다.

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

This section describes how to use the gcloud command-line tool to turn on IAP for Compute Engine applications. Using the gcloud command-line tool to turn on IAP for App Engine is not yet supported. Use the App Engine quickstart instead.

Getting Cloud SDK

Before you set up your project and IAP, you need an up-to-date version of Cloud SDK. Get Cloud SDK.

Setting up your project

Select the project for which you want to enable IAP and set it up as follows:

  1. Go to the Instance groups page to make sure your instances are in an instance group.
  2. Define backend services.
  3. Set up external or internal load balancing.
  4. Set up an OAuth client:
    1. Go to API > Credentials and select the project for which you want to enable IAP.
    2. Set up your OAuth consent screen:
      1. Go to the OAuth consent screen.
        Configure consent screen
      2. Under Support email, select the email address you want to display as a public contact. This email address must be your email address, or a Google Group you own.
      3. Enter the Application name you want to display.
      4. Add any optional details you'd like.
      5. Click Save.

      To change information on the OAuth consent screen later, such as the product name or email address, repeat the preceding steps to configure the consent screen.

    3. Under Credentials, click Create credentials > OAuth client ID.
    4. Under Application type select Web application, then add a Name.
    5. When you're finished entering details, click Create.
    6. In the OAuth client window that appears, make note of the client ID and client secret.
    7. Select the client again. Add the universal redirect URL to the authorized redirect URIs field in the format of https://iap.googleapis.com/v1/oauth/clientIds/CLIENT_ID:handleRedirect, where CLIENT_ID is the OAuth client ID.

Enabling IAP

  1. Use the gcloud command-line tool to run gcloud auth login.
  2. Follow the URL that appears to sign in.
  3. After you sign in, copy the verification code that appears and paste it in the command line.
  4. Run gcloud config set project PROJECT_ID for the project for which you want to enable IAP.
  5. To enable IAP, use the OAuth client ID and secret you created previously and run either the globally or regionally scoped command.
    • Global scope: gcloud compute backend-services update BACKEND_SERVICE_NAME --global --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET.
    • Regional scope: gcloud compute backend-services update BACKEND_SERVICE_NAME --region REGION_NAME --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET.

After you enable IAP, you can use the gcloud command-line tool to manipulate IAP access policy using the IAM role roles/iap.httpsResourceAccessor. Learn more about managing roles and permissions.

다음 단계