[GCP] Cloud Shell & GCP SDK: GCP SDK 인증 방식

서경·2024년 9월 22일
post-thumbnail

GCP SDK 인증 방식

  • Google Cloud SDK 인증 프로세스는 주로 승인을 위한 개방형 표준인 OAuth 2.0을 사용한다.

  • GCP 리소스에 액세스하기 위해 사용자, 서비스 계정 또는 애플리케이션을 인증하고 승인할 수 있다.



1. GCP SDK 인증 프로세스

1.1. Google Cloud SDK 설치

-시작하려면 로컬 머신에 Google Cloud SDK를 다운로드하고 설치해야 한다.

  • gcloud CLI를 포함하여 필요한 도구와 라이브러리를 제공한다.



1.2. SDK 초기화

  • 명령줄 인터페이스에서 gcloud init를 실행하여 SDK를 초기화한다.

  • 이 명령어는 Google 계정에 로그인하고 SDK가 작동할 기본 GCP 프로젝트, 리전, 영역을 선택하라는 메시지를 표시한다.



1.3. OAuth 2.0 인증

  • 초기화 과정에서 로그인하면 SDK가 Google 인증 페이지로 리디렉션한다.

  • 권한을 부여하면 명령줄 인터페이스에 다시 붙여넣을 수 있는 인증 코드를 받게 된다.

  • SDK는 OAuth 2.0을 사용하여 계정에 대한 액세스 토큰 및 갱신 토큰을 얻는다.

  • 액세스 토큰은 API 호출에 사용되는 단기 토큰인 반면 새로 고침 토큰은 만료 시 새 액세스 토큰을 생성할 수 있다.



1.4. 자격 증명 저장

  • Google Cloud SDK는 일반적으로 홈 폴더 아래의 .config/gcloud 디렉터리에 있는 로컬 구성 파일에 획득한 자격 증명(액세스 및 갱신 토큰)을 저장한다.

  • 이러한 자격 증명을 통해 SDK는 매번 로그인하지 않고도 향후 API 요청을 인증할 수 있다.



1.5. 서비스 계정 인증 (선택)

  • 사용자 인증 대신 JSON 형식의 키를 생성하고 gcloud auth activate-service-account 명령을 사용하여 서비스 계정으로 인증할 수 있다.

  • 이 방법은 서버 간 통신 또는 애플리케이션이 GCP 리소스에 액세스해야 하는 경우에 적합하다.



1.6. 인증 프로세스 완료 후

  • 마지막으로 인증 프로세스를 완료하면 SDK에서 제공하는 gcloud CLI 및 기타 도구를 사용하여 GCP 서비스와 상호작용하고, 리소스를 관리하고, 애플리케이션을 배포할 수 있다.

  • SDK는 저장된 자격 증명을 사용하여 GCP에 대한 API 요청을 인증한다.






2. gcloud init & gcloud auth login 차이

  • gcloud init 및 gcloud auth login 명령은 모두 Google Cloud SDK에서 인증에 사용되지만 서로 다른 용도로 사용되며 고유한 기능이 있다.



2.1. gcloud init

gcloud init
  • 이 명령어는 로컬 머신에서 Google Cloud SDK를 초기화하고 구성하는 데 사용된다.
  1. OAuth 2.0을 사용하여 Google 계정을 인증한다.

  2. 작업할 기본 GCP 프로젝트를 선택할 수 있다.

  3. Compute Engine 리소스의 기본 지역 및 영역을 설정한다.

  4. 선택적으로 신규 또는 기존 구성 프로필을 구성한다.


  • gcloud init 명령은 일반적으로 SDK를 처음 설치하거나 새 구성 프로필을 설정해야 할 때 실행된다.



2.2. gcloud auth login

gcloud auth login
  • 이 명령은 SDK로 Google 계정을 인증하는 데에만 사용 된다.

  • gcloud init과 같은 프로젝트, 리전 또는 영역을 구성하지 않는다.

  • gcloud auth login을 실행하면 브라우저 창이 열리고 Google 계정에 로그인하고 필요한 권한을 부여하라는 메시지가 표시된다.

  • 인증에 성공한 후 SDK는 향후 API 요청에 대한 자격 증명을 저장한다.

  • gcloud auth login 명령은 새 사용자를 인증하거나 계정을 전환하거나 다른 구성을 변경하지 않고 인증을 새로 고쳐야 할 때 유용하다.

  • gcloud init초기 설정 및 인증을 위한 올인원 명령인 반면 gcloud auth login은 사용자 인증에만 중점을 둔다.

0개의 댓글