IAP 사용 설정

IAP (Identity-Aware Proxy)를 사용하여 워크스테이션의 애플리케이션에 대한 액세스를 제어합니다. IAP는 중앙 승인 레이어를 설정하므로 네트워크 수준 방화벽을 사용하는 대신 애플리케이션 수준에서 액세스 권한을 관리할 수 있습니다.

사용자 ID, 그룹 멤버십, 기기 보안, 위치, IP 주소 및 기타 신호를 기반으로 액세스를 제어할 수 있습니다. 사용자는 웹브라우저와 HTTPS를 사용하여 애플리케이션에 액세스하고 IT팀은 한곳에서 액세스 정책을 중앙에서 정의하고 적용합니다.

이 문서에서는 클러스터의 워크스테이션에서 애플리케이션에 대해 IAP를 사용 설정하는 방법을 설명합니다. 다음 다이어그램은 IAP가 사용 설정된 클러스터를 보여줍니다.

그림 1. IAP가 사용 설정된 클러스터

시작하기 전에

워크스테이션에 IAP를 사용 설정하려면 클러스터에 다음이 필요합니다.

  • 커스텀 도메인: IAP는 커스텀 도메인을 사용하는 워크스테이션 클러스터에서만 지원됩니다.
  • 애플리케이션 부하 분산기: 이 부하 분산기는 Private Service Connect (PSC) 엔드포인트를 사용하여 모든 인그레스 HTTP 트래픽을 처리하며 IAP를 구성할 수 있습니다.

이러한 구성요소를 설정하려면 Cloud Workstations용 커스텀 도메인 설정을 참고하세요.

프록시 사용 설정

워크스테이션에 IAP를 사용 설정하려면 다음 단계를 따르세요.

  1. 다음 명령어를 실행하여 클러스터의 애플리케이션 부하 분산기에서 IAP를 사용 설정합니다.

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
        --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET \
        --global
    

    다음을 바꿉니다.

    • BACKEND_SERVICE_NAME: 클러스터의 커스텀 도메인을 설정할 때 생성한 백엔드 서비스의 이름입니다.
    • CLIENT_ID: OAuth 2.0 클라이언트 ID입니다.
    • CLIENT_SECRET: OAuth 2.0 클라이언트 보안 비밀번호입니다.

    IAP가 사용 설정된 애플리케이션 부하 분산기를 설정하는 방법에 대한 자세한 내용은 부하 분산기에서 IAP 사용 설정을 참고하세요.

  2. 도메인 사용자에게 액세스 권한 부여:

     gcloud iap web add-iam-policy-binding \
         --resource-type=backend-services \
         --service=BACKEND_SERVICE_NAME \
         --member='PRINCIPAL' \
         --role='roles/iap.httpsResourceAccessor' \
         --condition="expression=EXPRESSION,title=TITLE,description=DESCRIPTION"
    

    다음을 바꿉니다.

    • BACKEND_SERVICE_NAME: 백엔드 서비스의 이름입니다.
    • PRINCIPAL: 액세스 권한을 부여할 주 구성원입니다. 예를 들면 group:my-group@example.com, user:test-user@example.com, domain:example.com입니다.
    • EXPRESSION: Common Expression Language (CEL)로 작성된 조건 표현식입니다. 예를 들어 이 표현식을 사용하여 컨텍스트 인식 액세스를 구성하는 액세스 수준을 지정할 수 있습니다.
    • TITLE: 조건의 제목입니다.
    • DESCRIPTION: 조건에 대한 설명(선택사항)입니다. Cloud Workstations는 개별 워크스테이션 리소스에 구성된 IAM 정책을 기반으로 IAM 검사를 계속 실행합니다. 중복을 방지하려면 승인된 모든 워크스테이션 사용자 또는 전체 도메인을 포함하는 광범위한 그룹에 권한을 부여하도록 IAP 정책을 구성하는 것이 좋습니다. 이 정책을 주로 사용하여 액세스 수준을 지정하여 컨텍스트 인식 액세스를 구성할 수 있습니다.

    사용자에게 액세스 권한을 부여하는 방법에 대한 자세한 내용은 gcloud iap web add-iam-policy-binding을 참고하세요.