- Authors
-
- Name
- yeh35
로컬에서 Storage SignUrl을 생성하면 잘 되는데, GCP Cloud Run에서 하는 경우 권한 문제가 생겼다.
에러 로그는 아래와 같다.
com.google.auth.ServiceAccountSigner$SigningException: Failed to sign the provided bytes
at com.google.auth.oauth2.IamUtils.sign(IamUtils.java:87) ~[google-auth-library-oauth2-http-1.6.0.jar:na]
at com.google.auth.oauth2.ComputeEngineCredentials.sign(ComputeEngineCredentials.java:425) ~[google-auth-library-oauth2-http-1.6.0.jar:na]
at com.google.cloud.storage.StorageImpl.signUrl(StorageImpl.java:650) ~[google-cloud-storage-2.6.0.jar:2.6.0]
검색에서 가장 많이 나오는 해결책
403 trying to sign provided bytes: The caller does not have permission
서비스 계정에 서비스 계정 토큰 생성자
권한을 추가해주면 된다.!
설정하는 방법이 궁금하면 빙이 알려준다. ㅋㅋㅋ
위에 방법으로 해결안되는 경우..
나의 경우 위의 방법으로 안되었다. 하하…. (한 6시간 삽질했나?)
https://console.developers.google.com/apis/api/iamcredentials.googleapis.com/overview?project=<project-id>
IAM Service Account Credentials API 가 사용중인지 확인하면 된다.
이걸 허용해야지 Cloud Run에서 우리가 줬던 권한을 확인할 수 있는거 같다. (추정)