2022/07/05

,

구글 클라우드 API 정책 위반 이후

구글 클라우드 API 정책 위반 이후

After violating Google Cloud API policy
<구글 클라우드 API 제한에 대한 항소 결과>

서비스 계정 및 API 사용 제한 해제

Google Cloud Platform으로부터 AutoRclone에 사용된 서비스 계정(SA)에 대한 Google 클라우드/API 정책 위반 메일을 처음 받았을 때가 2021년 10월 7일이었고, 즉시 항소를 제출했는데 그에 대한 답변을 어제 메일로 받았다. 메일 전문 중 일부를 발췌하면 다음과 같다.

We have detected your Google Cloud/APIs Projects have been circumventing our quota restrictions via multiple service accounts/ projects acting as one and appears to be violating Google APIs Terms of Service (2.d).

To fix the problem please delete all the service accounts/ projects using Drive API except for one you wish to keep active, and then reply back to this message with the project ID that you would like to keep active. To delete Google Cloud/API projects, please follow the instructions on this page.

귀하의 Google Cloud/API 프로젝트가 하나의 역할을 하는 여러 서비스 계정/프로젝트를 통해 할당량 제한을 우회하고 있으며 Google API 서비스 약관(2.d)을 위반하는 것으로 보입니다.

문제를 해결하려면 활성 상태로 유지하려는 계정을 제외하고 Drive API를 사용하여 모든 서비스 계정/프로젝트를 삭제한 다음 활성 상태로 유지하려는 프로젝트 ID를 사용하여 이 메시지에 회신하세요. Google Cloud/API 프로젝트를 삭제하려면 이 페이지의 안내를 따르세요.

그래서 이때만큼은 착한 학생이 될 수밖에 없는 난 시키는 대로 AutoRclone에서 사용하던 프로젝트와 서비스 계정을 모두 삭제했다. 그리고 당돌하게 앞으로 정책을 준수하겠다고 회신한 다음 바로 마음을 돌려먹었다기보다는 호기심에 프로젝트를 만들고 테스트 삼아 서비스 계정 3개만 만들어 AutoRclone을 돌려보니 문제없이 작동했다.

결과적으로 이번 사태는 구두 경고 정도 수준에서 끝나서 다행이지만, 경고받은 계정은 서비스 계정 사용에 있어 특별히 유의해야 할 것이다. 유튜브의 저작권 위반 삼진 아웃 제도처럼 경고가 누적되면 좋을 것은 없을 것이다.

참고로 AutoRclone을 사용하려면 최소 3개 이상의 서비스 계정이 필요하다.

After violating Google Cloud API policy
<여러 계정의 여러 SA를 혼용한 결과 대략 8TB 정도의 자료 복사 성공>

AutoRclone에서 사용할 서비스 계정은 5개가 2개가 안전???

구글 드라이브 API SA(서비스 계정) 제한과 우회 방법」은 여전히 유효하다. 하지만, 남용은 금물이다. 참고로 위 테스트는 「오라클 VPS를 구글 공유 드라이브 자동 동기화 기계로 활용」에서 제시한 방법을 사용했다.

이번엔 구글 계정 하나에 서비스 계정 7개를 만들어 테스트했는데, 6번째 서비스 계정 끝 무렵에, 구글 드라이브 API 오류를 내보내기 시작했다(2022/08/05: 5개, 4개, 3개 사용한 프로젝트도 경고를 먹었다). 고로 구글 계정 하나당 서비스 계정 5개 2개 정도가 안전선(혹은 구글에서 허용한 한계선?)이라고 볼 수 있다. 그렇다면 구글 계정 하나를 사용해 AutoRclone으로 복사할 수 있는 하루 최대치는 1.5TB(750GB x 2) 정도 되는 셈이다. 물론 다른 변수도 있을 수 있으므로 오늘 이 테스트 한 가지만을 두고 확답하기는 어렵다는 것도 염두에 두자.

재밌는 것은 이번엔 정책 위반 메일은 받지 않았다는 것이다. 아마도 정책 위반 메일을 보낼 필요가 없는 선에서 일일 할당량 기준으로 어느 정도 할당량을 사용하면 자동으로 서비스 계정 사용을 차단하는 조치가 새롭게 시행된 듯하다. 진즉에 이런 조치가 시행됐더라면 정책 위반 메일 같은 받지 않았을 것이다. 왠지 모르게 본보기가 된 으쓱한 기분이다.

하지만, 구글이 AutoRclone 등을 사용한 할당량 제한을 우회하는 편법 행위를 감시하고 있다는 것은 확실한 만큼 알아서 적당히 사용하자. 다음번 본보기 대상자는 경고 메일에서 끝나는 것이 아니라 계정 자체에 철퇴가 내려질지도 모르는 일이니까.

After violating Google Cloud API policy
<다섯 번째 서비스 계정까지는 잘 작동했다고 볼 수 있다>

경고 이후 작업에 대해

2022/07/05: 어제 오랜만에 Google Cloud Platform Google Cloud/API 프로젝트 서비스 위반에 대한 경고를 받았다. 실험 삼아 서비스 계정 7개를 돌린 계정인데, 역시 욕심이었나보다.

처음 받았을 땐 유튜브 저작권 스트라이크를 맞은 것처럼 조금 겁먹기도 했는데, 누구나 한 번쯤은 실수할 수도 있고, 프로젝트 약관 위반 경고는 병가지상사 정도로 여겨도 무방할 정도로 대단히 심각한 것은 아니다. 하지만, 계속 누적되면 계정에 불이익이 생길 수도 있으니 Rclone에 사용할 구글 계정은 별도로 관리하자.

아무튼, 이 추가 글은 프로젝트 경고받은 계정에서 이후 다시 Rclone에 사용할 서비스 계정을 생성하는 간단한 작업에 대한 요약이다. 이미 Rclone(또는 AutoRclone)에 사용하는 주 계정, 그리고 공유 드라이브에 접근 권한을 가진 구글 그룹스가 별도로 존재한다는 전제하에서 설명할 것이다.

1. 경고받은 프로젝트는 종료([IAM 및 관리자] > [설정]에서 프로젝트 삭제 가능)
2. 새 프로젝트 생성
3. [API 및 서비스] > [라이브러리]에서 [Google Drive API]를 [사용]으로 설정
4. [IAM 및 관리자] > [서비스 계정]에서 서비스 계정 생성(2~3개 추천)
5. 새로 생성한 서비스 계정 각각의 [키 관리]에서 새로운 [키 추가], 그리고 json 파일 다운로드
6. json 파일의 "project_id" 값 수정(생략해도 되는 것 같음)
7. 새로 생성한 서비스 계정의 이메일 주소를 구글 공유 드라이브에 접근 권한이 있는 구글 그룹스에 추가( 「구글 공유 드라이브 무료 동기화 유틸 | AutoRclone」 문서의 9번 작업에서 만든 그룹스 같은 것)
8. 모든 서비스 계정 선택하고 [액세스 관리]에서 6번의 그룹스를 [편집자] 권한으로 추가

비록 보잘 것 없지만 광고 수익(Ad revenue)은 블로거의 콘텐츠 창작 의욕을 북돋우는 강장제이자 때론 하루하루를 이어주는 즐거움입니다

Share:

0 comments:

댓글 쓰기

댓글은 검토 후 게재됩니다.
본문이나 댓글을 정독하신 후 신중히 작성해주세요