증상
node 백엔드에서 구글 클라우드 스토리지 서비스를 사용하여 파일을 업로드하려고 했으나 자꾸 아래와 같이 접근 권한 오류 발생했다.
storage-service-account@******.iam.gserviceaccount.com does not have storage.objects.create access to the Google Cloud Storage object.
원인
구글 스토리지 서비스 계정에 권한을 부여하지 않아서 그렇다.
스토리지니까 대충 저거 부여하면 되는 줄 알았더니 아니다.
더 정확히 찾아봐야 한다.
아래 링크에서 본인이 사용하려고 하는 명령어는 어떤 권한이 필요한지 확인해보고 부여하도록 하자.
https://cloud.google.com/iam/docs/understanding-roles
해결방법
이렇게 3개의 관리자 권한을 주면 대체로 해결된다.
본인은 권한을 제대로 부여했는데 작동하지 않아서 구글 커맨드라인 콘솔에서 특정 계정에 부여된 권한 부여 및 조회하는 명령어도 찾아봤다.
구글 서비스 계정 양식
cloud-storage-service@******.iam.gserviceaccount.com
권한 부여
gcloud projects add-iam-policy-binding cloud-storage-service --member "serviceAccount:cloud-storage-service@******.iam.gserviceaccount.com" --role "roles/storage.objectViewer"
gcloud projects add-iam-policy-binding x-*** --member=serviceAccount:cloud-storage-service@******.iam.gserviceaccount.com --role=roles/storage.admin
gcloud projects add-iam-policy-binding x-*** --member=serviceAccount:cloud-storage-service@******.iam.gserviceaccount.com --role=roles/storage.objectCreator
권한 조회
gcloud projects get-iam-policy x-*** --flatten="bindings[].members" --format="table(bindings.role)" --filter="bindings.members:cloud-storage-service@******.iam.gserviceaccount.com"
권한을 조회하면 위와 같이 현재 계정에 부여된 권한이 나온다.
본인은 그냥 버킷 이름을 제대로 안 써서 계속 권한이 없다고 나온 것이었다.
'IT' 카테고리의 다른 글
근본있는 개발자를 향한 도전기 - 1 (1) | 2022.03.09 |
---|---|
윈도우11 느려짐 현상 해결방법 (0) | 2022.01.04 |
크롤링 http 302 요청 response 조회 (0) | 2021.10.08 |
일정 관리 방법 - 구글 캘린더 활용, 꿀팁, n잡러 필수 (0) | 2021.10.08 |
구글 캘린더 활용 팁 (0) | 2021.10.08 |