Amazon S3バケットでMFA Deleteを有効にする
2021/08/23
バージョニングが有効なバケットでバージョン削除でMFA Deleteを有効にして、整合性を守ろうという機能です。
目次
設定をIAMユーザーで実行してみる
バケットにバージョニングとMFA Deleteを有効にできるのは、ルートユーザーだけとのことです。
AWS管理ポリシー AmazonS3FullAccessをアタッチしたユーザーで試してみました。
|
1 2 3 4 5 6 7 |
aws s3api put-bucket-versioning \ --bucket mfa-delete-test-yamashita \ --versioning-configuration Status=Enabled,MFADelete=Enabled \ --mfa "arn:aws:iam::123456789012:mfa/mfa-test-user 581922" An error occurred (AccessDenied) when calling the PutBucketVersioning operation: This operation may only be performed by the bucket owner |
バケットのオーナーしかだめですよ。
というようなメッセージです。
ルートユーザーで実行する
おとなしくルートユーザーで実行しました。
いやですがアクセスキーIDとシークレットアクセスキーを発行しました。
そしてコマンドを実行しました。
|
1 2 3 4 5 |
aws s3api put-bucket-versioning \ --bucket mfa-delete-test-yamashita \ --versioning-configuration Status=Enabled,MFADelete=Enabled \ --mfa "arn:aws:iam::123456789012:mfa/root-account-mfa-device 678391" |
特にレスポンスはありませんでしたが、設定できました。
バージョンを削除してみる
はい。
もちろんマネジメントコンソールからは削除できませんでした。
|
1 2 3 4 5 6 7 |
aws s3api delete-object \ --bucket mfa-delete-test-yamashita \ --key mfa-delete-1.png \ --version-id H.zY2NUm0kQ0mIacJGFR5.K2EOHFE0q7 An error occurred (AccessDenied) when calling the DeleteObject operation: Mfa Authentication must be used for this request |
CLIでMFAなしで実行するとMFAが必要というメッセージでした。
|
1 2 3 4 5 6 7 8 9 10 |
aws s3api delete-object \ --bucket mfa-delete-test-yamashita \ --key mfa-delete-1.png \ --version-id H.zY2NUm0kQ0mIacJGFR5.K2EOHFE0q7 \ --mfa "arn:aws:iam::123456789012:mfa/root-account-mfa-device 678391" { "VersionId": "H.zY2NUm0kQ0mIacJGFR5.K2EOHFE0q7" } |
MFAありで実行したら削除が完了しました。
これ、削除もルートユーザーが実行しないといけないので、アクセスキーID、シークレットアクセスキーを持ち続けないといけないので辛いですね。
オブジェクトロックのほうがいいですね。
実際の運用では、削除メンテナンスするときだけアクセスキーを作成するか、普段無効化しておくかですかね。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
Amazon Route 53 Resolverを設定確認
Route 53 Resolverを設定しました。 東京リージョンのVPCをオン …
-
-
CloudTrailのログファイルの整合性検証をAWS CLIで実行しました
CloudTrailのログファイルの検証を「有効」にしました。 上記のようなCl …
-
-
AWS IAMのMFA「エンティティは既に存在しています」に対応しました
エンティティは既に存在しています MFA Device entity at th …
-
-
VPC新コンソールの日本語UIでルートテーブル編集時のエラー(2021/6/10)が発生したのでフィードバックを送った
VPCの新コンソールがリリースされていたので使って作業してましたところ、こんなエ …
-
-
「X-Tech JAWS 【第2回】~9割のX-Techと1割の優しさで切り拓く未来~」に行ってきました
「X-Tech JAWS 【第2回】~9割のX-Techと1割の優しさで切り拓く …
-
-
東京リージョンでAWS Control Towerランディングゾーンをセットアップする
AWS Control Towerの最初の画面で[ランディングゾーンの設定]を押 …
-
-
AWS認定ソリューションアーキテクトアソシエイトのサンプル問題
AWS認定ソリューションアーキテクトアソシエイトのサンプル問題の解説を会社のブロ …
-
-
Amazon EC2(Amazon Linux 2)にRedmine3.4をインストール
久しぶりに新しい環境でRedmineを構築したくなり、せっかくなのでAmazon …
-
-
CloudWatchアラームをAWS CLIでテスト
CloudWatchアラームをテストするコマンドです。 –state …
-
-
AWS CodPipelineの実行モードの動作確認しました
AWS CodePipelineの3つの実行モード(SUPERSEDED(優先済 …


