본문 바로가기

클라우드/클라우드(Public Cloud)

클라우드 GCP App Engine 2 / IAP

IAP(Identity-Aware Proxy)

network  performance

https://cloud.google.com/appengine/docs/standard/python3/quickstart?hl=ko 

 

App Engine 표준 환경의 Python 3 빠른 시작  |  Python 3용 App Engine 표준 환경

리전 ID REGION_ID는 앱을 만들 때 선택한 리전을 기준으로 Google에서 할당하는 축약된 코드입니다. 일부 리전 ID는 일반적으로 사용되는 국가 및 주/도 코드와 비슷하게 표시될 수 있지만 코드는 국

cloud.google.com

APP Engine 어떤환경에 개발을 할거야라고 선택하면 환경이 만들어져서 개발만 하면 된다

 

사용자 인증: IAP(Identity-Aware Proxy)

https://cloud.google.com/iap/docs/concepts-overview?hl=ko

개발자 책임

https://cloud.google.com/iap/docs/concepts-overview?hl=ko#your_responsibilities

OAuth 2.0

https://datatracker.ietf.org/doc/html/rfc6749

 

# App Engine

python 샘플

https://cloud.google.com/appengine/docs/standard/python3/quickstart?hl=ko

소스다운받아서 어플리케이션 test

app.yaml 파일이 있는 디렉토리로 이동해야함.

$ dev_appservrepy app.yaml

 

 

 

 

 

# 사용자 인증: IAP(Identity-Aware Proxy)

IAP문서

https://cloud.google.com/iap/docs?_ga=2.262243595.-602123755.1629764672

https://cloud.google.com/iap/docs/concepts-overview?hl=ko

 

고객이 접근을 할 떄 계정이 맞는지 퍼미션이 맞는지 IAP가 확인하고 인증을 거쳐서 서비스를 사용할 수 있게 해준다.

한마디로, 사이트를 접근 하기전에 인증을 거친다.

 

로그인을 위해 브라우저 쿠키에 토큰을 저장하는 OAuth 2.0 Google 계정 로그인 과정으로 사용자가 리디렉션

요청 사용자 인증 정보가 유효하면, 인증 서버가 해당 사용자 인증 정보를 사용하여 사용자의 ID(이메일 주소 및 사용자 ID)를 가져옴.

 그런 다음 인증 서버가 ID를 사용하여 사용자의 IAM 역할을 확인하고 사용자에게 리소스에 액세스할 권한이 있는지 확인

 

# 소스를 이용한 IAP 실습하기

소스 : github   https://github.com/googlecodelabs/user-authentication-with-iap

1-Helloword

:  그냥 html 파일 

  1. 인증없이 deploy  페이지 확인
  2. IAP 활성화 -> 사용자 등록되어 있지 않으면 페이지 안보임.
  3. 사용자 계정 등록 -> 등록한 사람만 페이지가 보임.

2-Helloword

: 인증된 사용자의 ID, email 전송 -> 웹페이지에 보임.

 

3-Helloword

 : email, id정보를 확인하여 화면에 출력

 

 

# 1-Helloword

 

 

# IAP 구성 (인증 구성) 

IAP 구성

탐색 메뉴 > 보안 > Identity-Aware Proxy > 활성화(enable API)  > IAP로 이동

 

OAUTH 동의화면 (자동으로 전환 됨, 만약 안되면, API 및 서비스 > OAuth 동의화면)

 

사용자 유형 : 외부 (우리는 조직이 없어서 내부 안됨)

 

 

 

# IAP 활성화 

 

리소스가 만들어짐, IAP 활성화

 

 

# 웹 접속

권한부여를 해주지 않았기 떄문에 접근 불가

 

 

# 사용자 권한 할당

IAP 페이지 > https 리소스 > App engine 앱  체크박스 > 우측 화면 > add member 구성원 추가  ( 자신의 email, 짝꿍 email 추가)

  역할 : Cloud IAP  > IAP secured web app user 

 

 

# 접속

브라우저에서 URL 도메인 주소 끝에 /gcp_iap/clear_login_cookie 추가하면 재인증

접속 성공

 

 

 

# 2-Helloword

main.py

id와 email을 받아서 user_email, user_id를 넣어 변수값을 넘긴다.

 

 

# 배포

 

 

# 접속

 

 

# 3-Helloword

templates/index.html

 

# 배포

 

# 접속