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認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Amazon SESの受信ルールでSNSトピックを追加
SESの受信ルールにSNSトピックを設定してみました。 [View Active …
-
-
Amazon Linux 2023、T4Gインスタンス、PHP8にWordPressを移行しました
ブログをAmazon Linux 2からAmazon Linux 2023に移行 …
-
-
AWS Data Pipelineを使ってDynamoDBのアイテムを全件S3バケットに書き出した
ちょっと試してみたくてやってみました。 手順はこちらのチュートリアルを参考にすす …
-
-
Amzon Linux のApacheでRedmineとWordPressをバーチャルホストで共存する
EC2とRDSを節約しようと思いまして、Redmineを動かしてるとこに検証用W …
-
-
cfn-initでEC2インスタンスにPHPをインストールしWebサーバーを起動する
AWS CloudFormation による Amazon EC2 へのアプリケ …
-
-
Amazon Location Service入門ワークショップ-ジオコーディング
ジオコーディングにより住所を緯度経度に変換したり、逆に緯度経度から住所を求めたり …
-
-
PyCharmにAWS CloudFormationプラグインをインストールして入力補完してみる
JetBrainsのPython統合開発環境(IDE)のPyCharmを1年ちょ …
-
-
Amazon Glacierのプロビジョニングされた迅速取り出し容量をなぜか購入しました
過去1年ぐらいのAWSコストをCost Explorerで見てまして、10/10 …
-
-
Amazon Linux2のジャンボフレーム
ユーザーガイドのEC2 インスタンスのネットワークの最大送信単位 (MTU)を試 …
-
-
Systems Manager パブリックパラメータCLIでAWSのサービス数を出力してみました(2020/5/26)
先日のAWSのサービス数を数えてみました(2020/5/23)を見られて、お師匠 …


