S3オブジェクトの軽量化とアクセス許可
LightFileボット🤖は、S3バケット内の画像オブジェクト(ファイル)を巡回して軽量化することも可能です。S3バケットへのアクセスを許可する方法には次のふたつがあります。
- 弊社のIAMユーザーにクロスアカウントアクセス許可を設定いただく(推奨)
- IAMユーザーの認証を提供いただく
弊社のIAMユーザーにクロスアカウントアクセス許可を設定いただく方法
弊社がすでに用意したIAMユーザー(arn:aws:iam::270961102979:user/lightfile-bot
)にアクセス許可を設定いただく方法です。
手間が少なく、認証情報の受け渡しも必要ないため安全です。こちらの方法を推奨します。
対象のバケットのバケットポリシーに次のJSONを設定してください。YOUR-BUCKET-NAME
の部分は実際のバケット名に置き換えてください。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::270961102979:user/lightfile-bot"
},
"Action": [
"s3:PutObject",
"s3:GetObjectAcl",
"s3:GetObject",
"s3:ListBucket",
"s3:GetObjectTagging",
"s3:PutObjectTagging",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::YOUR-BUCKET-NAME/*",
"arn:aws:s3:::YOUR-BUCKET-NAME"
]
}
]
}
バケットポリシーをすでに設定済みの場合は、Statement
の部分を既存のStatement
に追加してください。
IAMユーザーの認証を提供いただく方法
御社のAWSアカウント内に、LightFileボット🤖用に必要最低限の権限を付与したIAMユーザーを作成し、そのアクセスキーID
とシークレットアクセスキー
を共有ください。
必要最低限の権限としては、次のポリシーStatement
を参考にしてください。YOUR-BUCKET-NAME
は対象のS3バケット名に置き換えてください。
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObjectAcl",
"s3:GetObject",
"s3:ListBucket",
"s3:GetObjectTagging",
"s3:PutObjectTagging",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::YOUR-BUCKET-NAME/*",
"arn:aws:s3:::YOUR-BUCKET-NAME"
]
}