hiro08gh

ソフトウェアに関すること

AWS S3にアクセス可能なIAMユーザーを作成する

AWS S3を使った際にIAMでユーザーロールを設定したので、その時のメモです。

AWS IAMとは何か?

AWS IAMの目的は管理者がユーザーIDとそのAWSリソースへのアクセスレベルを管理することを支援することです。AWSユーザーには、個別のセキュリティ資格情報を作成して割り当てることができて、AWSにアクセスする際の権限が与えられたり、いつでもユーザーを削除することができます。

それでは早速S3にアクセス可能なIAMユーザーを作成してみましょう。AWSの公式サイトでログインして下さい。そしてIAMと検索します。

f:id:kamimura-dev:20181109103208p:plain

IAMを追加するためのダッシュボードへと移動しました。次に、左側の「ユーザー」メニューから「ユーザーの追加」をクリックします。

f:id:kamimura-dev:20181109103233p:plain

追加するユーザー名を入力して、プログラムによるアクセスにチェックをします。ユーザー名は必ずロールの分かりやすい名前にして下さい。そして青いボタンのアクセス権限をクリック。

f:id:kamimura-dev:20181109103252p:plain

既存のポリシーを直接アタッチをクリックします。その後、ポリシーフィルターからaws s3を入力。そしてAmazonS3FullAccessをチェックします。チェックができましたら、青いボタンの確認をクリックします。

f:id:kamimura-dev:20181109103318p:plain

確認の画面に移動しました、ユーザー名とAWS アクセスの種類、管理ポリシーを確認後、ユーザーの作成をクリックしてください。

f:id:kamimura-dev:20181109103336p:plain

ユーザーの作成が成功しました。ここで重要なのはアクセスキーIDとシークレットアクセスキーです。こちらは後でAWS cliで認証するときに使用します。なので、必ずメモを取っておいてください。

f:id:kamimura-dev:20181109103403p:plain

AWS cliのインストール

AWSコマンドラインインターフェースを利用して、cli上からReactアプリをデプロイすることができます。まずはAWS cliをローカルにインストールしていきます。その際にpythonの開発環境が必要になります。
今回自分が使っているpythonのバージョンは3.6.1です。

$ python --version
Python 3.6.1

awsをインストールするためのパッケージファイルをダウンロード

$curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"

ダウンロードしたファイルを解凍

$ unzip awscli-bundle.zip

解凍したファイルを実行

$sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

awsバージョンの確認

$ aws --version
aws-cli/1.16.11 Python/3.6.1 Darwin/17.7.0 botocore/1.12.1

クイックコンフィギュレーション

一般的な使用のために、aws configureコマンドはAWS CLIインストールを設定する最も速い方法です。先ほどユーザーを作成したときのアクセスキーとシークレットキーを使います。

$ aws configure
AWS Access Key ID:

AWS Secret Access Key

Default region name: ap-northeast-1

Default outpu format:json

リージョンの確認はこちらのドキュメントからできます。今回はap-northeast-1の東京リージョンを選択します。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using-regions-availability-zones.html

CLIからバケットを作成してみる

コマンドラインからs3のバケットを作成してみます。コマンドの概要は下記のAWSドキュメントを参照してください。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/using-s3-commands.htmldocs.aws.amazon.com

$ aws s3 mb s3://bucket-name-test22
make_bucket: bucket-name-tes22

aws s3 lsをすると、cliからバケットが作成されたことがみることができます。

$ aws s3 ls
2018-09-11 12:25:17 buncket-name-test22