aws_s3_バケットにポリシーを作成して、暗号化したファイル(オブジェクト)のみアップロード
1.s3上で、バケットを作成
2.作成したバケット名をクリック
→[アクセス権限]タブをクリック
→「バケットポリシー」をクリック
3.画面下部「ポリシージェネレーター」をクリック
4.別画面が表示。以下設定する
select Type of Policy -> S3 Bucket Policy
Effect -> Deny
Princpal -> *
Actions -> PutObject
Amazon Resource Name ->パケットポリシーエディター ARN:から右側の文字列をコピーアンドペースト
Add Conditions
Condition ->StringNotEquals
Key -> s3:x-amz-server-side-encryption
Value -> aws:kms
4.[Add Statement]をクリック
->[Generate Policy]をクリック
5.[Policy JSON Document]が表示
表示されるコードをコピー→[Close]をクリック
6.5でコピーしたコードをパケットポリシーエディター ARN:の文字列の下側のコード記載する箇所
(グレーっぽい色)にペースト
7."Resource":の行右端から
/*
を追記->保存
完成したのがこちら
------
{
"Version": "2012-10-17",
"Id": "Policyxxxxxxxxxxxxx",
"Statement": [
{
"Sid": "Stmtxxxxxxxxxxxxx",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::encrypted-backet/*",
"Condition": {
"StringNotEquals": {
"s3:x-amz-server-side-encryption": "aws:kms"
}
}
}
]
}
------
8.Amazon S3に戻り作成したバケット名をクリック
[概要]タブから[アップロード]をクリック
9.アップロード
①ファイルの選択→任意のファイルを選択し[次へ]をクリック
②アクセス許可を設定する→そのまま[次へ]をクリック
③アクセス許可を設定する→暗号化セクション「AWS KMSマスターキー」を選択し[次へ]をクリック
(他選択ではファイルのアップロード失敗)
④確認→[アップロード]をクリック
ファイルがアップロードされることを確認
補足
③アクセス許可を設定する→暗号化セクション
で
なし
もしくは
Amazon S3マスターキー
を選択した場合はファイルアップロードは失敗する