ablog

不器用で落着きのない技術者のメモ

文鎮化した S3 バケットを元に戻す

誤ったバケットポリシーを設定したり、バケットポリシーで特定のVPCエンドポイントからのみのアクセスを許可していてそのVPCエンドポイントを消してしまったりしてS3バケットに一切アクセスできず文鎮化してしまった場合の対処法。root アカウントのシークレットアクセスキーを作成して AWS CLI からバケットポリシーを削除して復旧することができる*1

手順

rootアカウントのシークレットアクセスキー作成
  • AWSマネジメントコンソールにrootアカウントでログインする
  • ナビゲーションバー右上のアカウント名を選択し、[セキュリティ認証情報]を選択する。

  • [アクセスキー (アクセスキー ID とシークレットアクセスキー)]-[新しいアクセスキーの作成]をクリックし、[キーファイルのダウンロード]をクリックしてダウンロードする。
文鎮化したS3バケットバケットポリシーを削除
  • ダウンロードしたキーファイルを開いて、AWS CLI に設定する。
$ export AWS_DEFAULT_REGION=ap-northeast-1
$ export AWS_ACCESS_KEY_ID="ROOT_KEY_ID" ★アクセスキーを指定
$ export AWS_SECRET_ACCESS_KEY="ROOT_SECRET_KEY" ★シークレットキーを指定
$ aws s3api delete-bucket-policy --bucket az-private
rootアカウントのシークレットアクセスキー削除
  • ナビゲーションバー右上のアカウント名を選択し、[セキュリティ認証情報]を選択する。
  • [アクセスキー (アクセスキー ID とシークレットアクセスキー)]で[削除]をクリックし、シークレットアクセスキーを削除する。

*1:AWSマネジメントコンソールからはできない