データ分析関連メモ(メモです)

仲秋の候、涼やかな秋風の下、ご一同様にはその後お健やかにお過ごしのことと存じます。

GCPのユーザーを削除したら、AWSに置いてたshellスクリプトがAccess denied.

AWSに立てているサーバからGCPのCloudStorageにshellスクリプトでデータを飛ばしていた。shellスクリプトは他の方が書いたものなので、中身はあまりわかっていない。
ある日、

An error occurred (AccessDenied) when calling the PutObject operation: Access denied.

と言ってデータが飛んでこなくなった。ちょうどGCPアカウントの整理をして一部ユーザーを削除した直後だったので、それ関連っぽいと検討。


どうやら.awsのcredentialsに書き込むaws_access_key_idとaws_secret_access_keyが元凶らしい。
WS EC2からGCP Cloud storage、GCP GCEからAWS S3へのアップロード - 2&>1


これらはCloudStorageの「設定 > 相互運用性 > 相互運用ストレージアクセスキー」から作成するが、どうやら作成者のユーザーアカウントに紐付いているらしく、そのユーザーアカウントが消えると同時に消滅する模様。
アクセスキー、シークレットキーの発行方法を教えてください。 | クラウドストレージ


別のユーザーで作成し直して、credentialsを上書きして修正は終わり。
でもこれ、作り直したユーザーアカウントが消えるとまた消えてしまう。永続化できないんだろうか。




【2022年4月17日追記】
普通にサービスアカウントで作成できるらしい。

サービス アカウントを使用すれば、ユーザー アカウントへの依存に伴うサービス停止(たとえば、ユーザーがプロジェクトから抜けたり退社したりして、そのユーザー アカウントが無効になった場合)のリスクを軽減します。
HMAC キー  |  Cloud Storage  |  Google Cloud