S3アップロード専用のAWSアクセスキーを作成する
先日S3にブラウザから直接アップロードする機能を作成しましたがAWSアクセスキーが
クライアントに見えてしまうのはセキュリティ的に望ましくないのでS3アップロード専用の
アカウントを作成します。ここではIAMを使用する
IAMポリシーを作成する
AWS Policy Generator
こちらのジェネレータでS3のアップロードのみ可能なポリシーを作成する
Select Type of Policy | IAM Policy |
---|---|
Effect | Allow |
AWS Service | Amazon S3 |
Actions | PutObject |
ARN | arn:aws:s3::: |
ARNではS3上のパスを指定する必要がある
特定のバケット配下にアップロードを許可する場合は以下のように指定する
arn:aws:s3:::【バケット名】/*
ここではS3アップロードのみを許可するため以下ポリシーとなる
{ "Statement": [ { "Sid": "Stmt1347416638923", "Action": [ "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::【バケット名】/*" } ] }
ManagementConsoleにも同様のジェネレータ機能があるのでそちらで作成してもよい。
IAMグループを作成する
ManagementConsoleの「IAM」->「Groups」->「Create New Group」から作成できる
前の手順で作成したIAMポリシーを設定します