AWS S3アップロード用のIAMユーザーを作成する

プログラムからファイルをアップロードする用のユーザー登録を駆け足で。

1. IAMダッシュボードを開く

AWSマネジメントコンソールへログイン後、Identity and Access Managementへアクセスします。

2. ユーザーの登録

1. 画面左の[ユーザー]をクリックします。

2. 画面上部の[ユーザーを追加]をクリックします。

青い[ユーザーを追加]をクリックする。

3. 作成の流れ

1. 名称とか適当に入れます。
今回はプログラムからのアクセス用IAMを作ります。
2. S3FullAccessの権限を与えます。
3. タグはお好きに。
4. 設定内容を確認。
5. 作成すると、アクセスキー等が表示されます。
シークレットアクセスキーの[表示]をクリック。
6. シークレットアクセスキーが表示されるのでコピーしてコードに貼っ付けるなりします。
後から確認はできないっぽいので、csvダウンロードしておくのも良いかも。
7. hogeが作成されてる。
8. シークレットアクセスキーがわからなくなった等あれば、
アクセスキーを再生成してしまうのも手。

以上。

あとはプログラムで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'];;
}
カテゴリーAWS

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です