4단계: IAP(Identity-Aware Proxy) 구성

이 단계에서는 다음을 수행하여 Cloud Run에 배포된 앱의 중앙 집중식 승인 레이어를 프로비저닝하도록 IAP(Identity-Aware Proxy)를 구성합니다.

  1. OAuth 동의 화면 구성: OAuth 동의 화면은 프로젝트, 정책, 요청된 액세스 승인 범위가 포함된 프롬프트입니다. 앱의 OAuth 동의 화면을 구성하면 사용자와 앱 검토자가 사용할 수 있는 항목을 정의하고 나중에 게시할 수 있도록 앱을 등록할 수 있습니다. OAuth 동의 화면에 대한 자세한 내용은 OAuth 동의 화면 구성 및 범위 선택을 참조하세요.

  2. OAuth 액세스 사용자 인증 정보 만들기: 앱에서 필요한 API를 호출할 수 있도록 앱 및 도메인의 OAuth 클라이언트 ID를 만들어야 합니다. OAuth 사용자 인증 정보에 대해 자세히 알아보려면 액세스 사용자 인증 정보 만들기를 참고하세요.

  3. 부하 분산기에서 IAP 사용 설정: OAuth 클라이언트 ID 및 보안 비밀번호를 사용하여 앱에 만든 부하 분산기에서 IAP를 사용 설정합니다.

  4. IAP 사용 설정: 앱에 액세스할 수 있는 주 구성원을 만든 다음 IAP를 사용 설정하여 앱을 보호합니다.

  1. Google Cloud 콘솔에서 OAuth 동의 화면으로 이동합니다.

    OAuth 동의 화면으로 이동

  2. 앱의 다음 사용자 유형 중 하나를 선택합니다.

    • 외부: Google 계정이 있는 모든 사용자가 승인 요청을 할 수 있습니다. 이 튜토리얼을 완료하려면 외부를 선택하는 것이 좋습니다.

    • 내부: Google Cloud 조직의 구성원만 앱에 승인 요청을 할 수 있습니다.

  3. 만들기를 클릭합니다.

  4. 승인된 도메인 섹션에서 도메인 추가를 클릭하고 인증서 생성 중에 사용된 도메인 이름을 지정합니다.

  5. 개발자 연락처 정보 섹션에 이메일 주소를 입력합니다.

  6. 저장 후 계속을 클릭합니다.

  7. 범위 페이지에서 저장 후 계속을 클릭합니다.

  8. 선택사항: 사용자 유형으로 외부를 선택한 경우 다음과 같이 테스트 사용자 페이지에서 테스트 사용자를 추가합니다.

    1. Add users를 클릭합니다.

    2. 이메일 주소와 기타 승인된 테스트 사용자를 입력한 다음 저장 후 계속을 클릭합니다.

  9. 앱 등록 요약을 검토합니다. 변경하려면 수정을 클릭합니다. 앱 등록이 정상적으로 표시되면 대시보드로 돌아가기를 클릭합니다.

OAuth 액세스 사용자 인증 정보 만들기

  1. Google Cloud 콘솔에서 사용자 인증 정보로 이동합니다.

    사용자 인증 정보로 이동

  2. 사용자 인증 정보 만들기를 클릭한 후 OAuth 클라이언트 ID를 클릭합니다.

  3. 애플리케이션 유형 목록에서 웹 애플리케이션을 클릭합니다.

  4. 이름 필드에 gemini-streamlit-app를 입력합니다.

  5. 승인된 JavaScript 출처 섹션에서 URI 추가를 클릭한 후 다음 URI를 입력합니다.

    https://DOMAIN_NAME
    

    DOMAIN_NAME을 인증서를 만들 때 사용된 도메인 이름으로 바꿉니다.

  6. 만들기를 클릭합니다.

    OAuth 클라이언트 생성됨 화면이 나타나고 클라이언트 ID클라이언트 보안 비밀번호가 표시됩니다.

  7. 클라이언트 ID클라이언트 보안 비밀번호를 복사합니다. 튜토리얼의 다음 단계에서 세부정보가 필요합니다.

부하 분산기에서 IAP 사용 설정

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Cloud Shell 터미널에서 다음 명령어를 실행합니다.
    
          gcloud compute backend-services update gemini-streamlit-app-backend \
          --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET \
          --global
          

    다음을 바꿉니다.

    • CLIENT_ID: 바로 전에 만든 OAuth 사용자 인증 정보의 OAuth 클라이언트 ID입니다.
    • CLIENT_SECRET: 바로 전에 만든 OAuth 사용자 인증 정보의 OAuth 클라이언트 보안 비밀번호입니다.

IAP 설정 및 사용

  1. IAP(Identity-Aware Proxy) 페이지로 이동

    Identity-Aware Proxy 페이지로 이동

  2. 프로젝트를 선택합니다.

  3. gemini-streamlit-app-backend 옆의 체크박스를 선택합니다.

  4. 주 구성원 추가를 클릭합니다.

  5. 다음 입력란에 세부정보를 입력합니다.

    • 새 주 구성원: 앱에 대한 액세스 권한을 부여할 그룹 또는 개인의 이메일 주소를 입력합니다. 다음 중 주 구성원이 될 수 있는 항목은 다음과 같습니다.

      • Google 계정

      • Google 그룹

      • 서비스 계정

      • Google Workspace 도메인

      액세스 권한이 있는 Google 계정이 포함되어 있는지 확인합니다.

  6. 역할 목록에서 Cloud IAP > IAP 보안 웹 앱 사용자를 선택합니다.

  7. 저장을 클릭합니다.

  8. IAP(Identity-Aware Proxy) 페이지의 애플리케이션에서 gemini-streamlit-app-backend 리소스에 해당하는 행의 IAP 전환 버튼을 클릭하여 사용 설정합니다.

  9. 표시된 IAP 사용 창에서 체크박스를 선택하여 구성 요구사항을 읽고 백엔드를 구성했음을 확인합니다.

  10. 사용을 클릭합니다. IAP를 사용하면 부하 분산기에 대한 모든 연결에 로그인 사용자 인증 정보가 필요합니다. 프로젝트에서 IAP 보안 웹 앱 사용자 역할이 있는 계정에만 액세스 권한이 부여됩니다.