プログラムからファイルをアップロードする用のユーザー登録を駆け足で。
1. IAMダッシュボードを開く
AWSマネジメントコンソールへログイン後、Identity and Access Managementへアクセスします。
2. ユーザーの登録
1. 画面左の[ユーザー]をクリックします。
2. 画面上部の[ユーザーを追加]をクリックします。
![](https://i1.wp.com/oc-technote.com/wp-content/uploads/2020/06/FireShot-Capture-1209-IAM-Management-Console-console.aws_.amazon.com_.png?w=525&ssl=1)
3. 作成の流れ
![](https://i2.wp.com/oc-technote.com/wp-content/uploads/2020/06/FireShot-Capture-1201-IAM-Management-Console-console.aws_.amazon.com_.png?w=525&ssl=1)
今回はプログラムからのアクセス用IAMを作ります。
![](https://i2.wp.com/oc-technote.com/wp-content/uploads/2020/06/FireShot-Capture-1203-IAM-Management-Console-console.aws_.amazon.com_.png?w=525&ssl=1)
![](https://i2.wp.com/oc-technote.com/wp-content/uploads/2020/06/FireShot-Capture-1204-IAM-Management-Console-console.aws_.amazon.com_-1.png?w=525&ssl=1)
![](https://i1.wp.com/oc-technote.com/wp-content/uploads/2020/06/FireShot-Capture-1205-IAM-Management-Console-console.aws_.amazon.com_.png?w=525&ssl=1)
![](https://i2.wp.com/oc-technote.com/wp-content/uploads/2020/06/FireShot-Capture-1206-IAM-Management-Console-console.aws_.amazon.com_.png?w=525&ssl=1)
シークレットアクセスキーの[表示]をクリック。
![](https://i1.wp.com/oc-technote.com/wp-content/uploads/2020/06/FireShot-Capture-1207-IAM-Management-Console-console.aws_.amazon.com_.png?w=525&ssl=1)
後から確認はできないっぽいので、csvダウンロードしておくのも良いかも。
![](https://i1.wp.com/oc-technote.com/wp-content/uploads/2020/06/FireShot-Capture-1208-IAM-Management-Console-console.aws_.amazon.com_-1.png?w=525&ssl=1)
![](https://i0.wp.com/oc-technote.com/wp-content/uploads/2020/06/FireShot-Capture-1210-IAM-Management-Console-console.aws_.amazon.com_.png?w=525&ssl=1)
アクセスキーを再生成してしまうのも手。
以上。
あとはプログラムでS3にアクセスするときの値に入れるだけです。
s3にファイルをアップロードする処理内で、例えば下記のように設定します。
AWS_ACCESS_KEY = 'XXXXXXXXXXXXXXXXXXXX';
AWS_SECRET_ACCESS_KEY = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
AWS_S3_BUCKET_NAME = 'test_bucket';
function upload_to_s3($upload_file) {
// S3clientのインスタンス生成
$s3client = new Aws\S3\S3Client([
'credentials' => [
'key' => AWS_ACCESS_KEY,
'secret' => AWS_SECRET_ACCESS_KEY
],
'region' => 'ap-northeast-1',
'version' => 'latest'
]);
// 画像のアップロード
$s3client_image_upload = $s3client->putObject([
'ACL' => 'public-read',
'Bucket' => AWS_S3_BUCKET_NAME,
'Key' => $upload_file['file_name'],
'SourceFile' => $upload_file['file_path'],
'ContentType' => mime_content_type($upload_file['file_path'])
]);
// アップロードファイルのURL取得
return $s3client_image_upload['ObjectURL'];;
}