gcloud CLI로 Google Cloud Platform API 사용 인증 작업

gcloud CLI로 Google Cloud Platform API 사용 인증 작업

Dialogflow API

최근 Google Cloude Platform 이하 GCP 에서 Dialogflow를 이용해 챗봇을 개발하고 있다. 이를 웹페이지에서 실시간으로 API를 호출하도록 구성 중이다.

내가 과거 Dialogflow를 사용 했을 당시엔 API 버전을 V1 을 썼는데 사용법도 엄청 간단했다. JQuery를 사용해 Ajax로 url 에 패러미터를 채워 보내면 됬다.

이 때 Dialogflow 설정 화면에서 token을 받아 이를 키 값으로 사용하면 됬다. 이 방식은 현재 네이버 개발자 센터의 API를 사용해 봤다면 익숙한 방식일 것이다.

그런데 이제와서 다시 사용해 보니 Dialogflow의 API V1은 공식적으로 종료 된 모양 이였고 예시 API 에도 Java, Python, REST 등 방식들이 존재 했지만 단순 Javascript, Ajax, JQuery 는 없고 Node.js 방식이 추가 된 것이 보인다.

Dialogflow API 종료

공식문서의 릴리즈 노트를 보니 V1 API 는 2021년 6~7월 즈음 종료가 되어 다음 세대 버전을 사용 하도록 기록 되어 있다.

이에 한번도 사용해 보지 않은 Node.js 방식을 이용해 Dialogflow 방식을 통해 API 환경을 구성해 보았다.

Dialogflow API를 사용하기 위한 토큰 발급 방법은?

지금 해본 결과 더이상 쉽게 로그인 하고 버튼 몇번 눌러 토큰을 발급 하여 사용하지 못하였다.

API를 사용하기 위해선 gcloud CLI 를 설치해 PC 에 ADC 인증 파일을 발급, 적용 하는 과정을 통해 사용할 수 있었다.

ADC 인증이란?

공식문서를 요약하면 Google API 의 클라이언트 라이브러리, REST 및 RPC API 등을 사용하기 위해 사용자 인증 정보를 위에 언급한 토큰 등 API 에 따라 발급 받고 있었지만 사용 되는 PC, 서버 등 클라이언트 환경에서 ADC 에 사용자 인증 정보를 제공하여 설정하면 앞으로 인증 방법 변경 없이 관련 API를 사용할 수 있다는 것이다.

Dialogflow 사용 방법에 공식적으로 ADC 를 받고 사용하란 말은 못찾았지만 해당 API 가 REST, RPC API 라는 것에 힌트를 얻어 문서를 뒤져가며 이것저것 적용을 하다 해당 ADC 설정을 하게 되니 동작 하는 것을 알게 되었다.

반대로 아직 API Key 방식을 사용하는 API 를 사용 중이면 ADC 는 딱히 설정할 필요가 없다.

ADC 사용자 인증 정보 설정설정

방법은 다음과 같다.

1. gcloud CLI를 설치하고 초기화

2. 사용자 인증 정보 파일 생성 (명령어 수행)

gcloud auth application-default login

gcloud CLI란?

Google Cloud CLI 이하 gcloud CLI는 Google Cloud 리소스를 만들고 관리하기 위한 도구 모음이라고 설명 되어 있다. 설치해 보고나니 windows 기준 PowerShell 에서 GCP 관련 명령어를 이용 할 수 있게 된다.

해당 CLI는 다음 링크에서 설치 할 수 있다.

해당 공식 설치 링크에서 각자 PC 환경에 따라 설치를 진행한다.

지원 환경: Linux, Debian, Ubuntu, Red Hat, CentOS, macOS, Windows

설치 프로그램을 받고 해당 문서에 정리되어 있는 방법으로 gcloud init 명령어 까지 입력을 완료해 초기화를 한다.

그 다음 “ADC 사용자 인증 정보 설정설정” 에 있는 명령어를 입력해 사용자 인증 정보 파일을 만들어 로그인을 하게 되면 해당 계정과 연결 된 API 들을 사용 할 수 있게 된다.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
목차
위로 스크롤