https://docs.aws.amazon.com/ja_jp/amazonglacier/latest/dev/vault-lock.html
https://qiita.com/miyuki_samitani/items/2896d28eb3378a20513b
Amazon S3 Glacier ボールトアクセスポリシーは、ボールトに対する権限を管理するのに使用できるリソースベースのポリシーです。
ボールトロックポリシーは、ロック可能なボールトアクセスポリシーです。
InProgress 状態では、ロック ID の有効期限が切れるまでの 24 時間にボールトロックポリシーを検証することができます。
-- 1. コマンド等のインストール
-- 1.1 aws cli version 2 インストール
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version
-- 1.2 jqインストール
sudo yum -y install jq
-- 2. ボールトを作成
aws glacier create-vault \
--account-id 999999999999 \
--vault-name vault01
aws glacier describe-vault \
--account-id 999999999999 \
--vault-name vault01
-- 3. ボールトロックを開始
aws glacier initiate-vault-lock \
--account-id 999999999999 \
--vault-name vault01 \
--policy '{"Policy":"{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"deny-based-on-archive-age\",\"Principal\":\"*\",\"Effect\":\"Deny\",\"Action\":\"glacier:DeleteArchive\",\"Resource\":[\"arn:aws:glacier:ap-northeast-1:999999999999:vaults/vault01\"],\"Condition\":{\"NumericLessThan\":{\"glacier:ArchiveAgeInDays\":\"1\"}}}]}"}'
ロック ID を記録
aws glacier get-vault-lock \
--account-id 999999999999 \
--vault-name vault01
-- 4. ボールトロックを中止
aws glacier get-vault-lock \
--account-id 999999999999 \
--vault-name vault01
aws glacier abort-vault-lock \
--account-id 999999999999 \
--vault-name vault01
-- 5. ボールトロックを完了
aws glacier get-vault-lock \
--account-id 999999999999 \
--vault-name vault01
aws glacier complete-vault-lock \
--account-id 999999999999 \
--vault-name vault01 \
--lock-id xxxxxxxxxxxxxxxxxxxxxxxx
-- 6. クリーンアップ
-- ボールトを削除
S3 Glacier では、最後にインベントリを計算した時点でボールト内にアーカイブがなく、
また、最後にインベントリを計算してからボールトへの書き込みがない場合にのみ、
ボールトを削除できます。
aws glacier delete-vault \
--account-id 999999999999 \
--vault-name vault01
aws glacier list-vaults \
--account-id 999999999999