G.frege를 너무 사랑하는 holy가...

[cloud] GCP(Google Cloud Platform)

[ document summary ]
    Title: [cloud] GCP(Google Cloud Platform)
    date: 2023 10.17
    content: GCP에 대해서

Google Cloud Platform이란

google에서 제공하는 cloud storage와 api를 제공하는 platform이다. Amazon처럼 가상 머신을 만들수 있다. 가상머신에 webserver를 만들어서 서비스 할수도 있고, GCP에서 제공하는 api들이 있다. 이것을 이용해서 서비스를 만들 수도 있다. 예를 들어서 GCP에서는 machine learning과 Deep Learning관련 api를 제공한다. GCP외부에서 모바일앱이나 server가 gcp의 api를 이용한 program을 만들수 있게 해준다.

인증에 관해서-oauth(Open Authorization)

일반적 인증

GCP의 resource를 사용하려면 인증이 필요하다. GCP의 resource는 vm과 같은 storage 서비스와 api 서비스다. vm에서 webserver를 만들었다면 ssh연결을 통해서 gcp의 resource를 사용한다. 여기선 ssh인증이다. 내가 app을 만들었다고 하자. app에서 GCP의 machine learning api를 사용하려고 한다. 그러면 rest api에서 token을 사용해서 인증을 거친후 api를 사용한다. 이런 인증 서비스는 다른곳에서도 사용하는 보편적인 인증방법이다. 그런데, 내가 운동앱을 만들었다고 생각하자. 매일 운동을 기록하는 앱이다. 앱에서 calendar를 만들수도 있지만, 사용자별로 google calendar를 내가 만든 app에서 사용할 수 있다면 좋지 않은가? 사용자들은 google calendar에서 운동기록도 볼수 있고, app에서도 날짜별로 운동기록을 확인할 수 있으니 좋아보인다. 아이디어는 좋지만, 여기서 인증이 문제다. 왜냐면 app에서 개개인의 google calendar를 사용하려면 인증을 해야한다. 즉, 개개인이 app에 google id/pw를 주던가 해야, app에서 사용자의 calendar기록을 가져올 수 있으니 말이다. 이런것을 해결한 인증방식이 oauth다.

oauth 인증

oauth의 동작에 대한 설명은 다른곳에서 하고 여기에선 이해만 하려 한다. 위에서 말했듯이 앱에서 직접 resource를 사용하는게 아니라, 앱에 가입된 사용자들이 resource를 사용하고자 할때 쓰는 방법이다. 라고만 이해하자.