0
0

More than 3 years have passed since last update.

EC2 でアクセスキーを設定することなく、ロールによりコマンドを実現する方法

Last updated at Posted at 2020-01-25

EC2 から s3 バケットを操作したいです。
例えば、バケットを新規作成してみます。

$ aws s3 mb s3://<バケット名>
make_bucket failed: s3://<バケット名> Unable to locate credentials

ここで、aws configure コマンドを実行して credentials を設定するかと思います。
しかしながら、.aws/config に記録されてしまい、セキュリティ的によろしくないです。

以下を実行します。
要すれば、Access Key を設定しないことが大事です。

$ aws configure
AWS Access Key ID [None]: <そのまま Enter>
AWS Secret Access Key [None]: <そのまま Enter>
Default region name [None]: ap-northeast-1
Default output format [None]: <そのまま Enter>

ファイルの中身を確認します。

$ less ./aws/config
[default]
region = ap-northeast-1

アクセスキーの記述はありません。

ここで、ロールを作成して、EC2 にアタッチします。
「IAM」-「ロール」-「ロールの作成」-「このロールを使用するサービスを選択」-「EC2」-「次のステップ:アクセス権限」-「ポリシーのフィルタ」- 「検索窓に s3 と入力」-「AmazonS3FullAccess にレ点を入れる」-「ポリシーの作成」
(細部省略)
要すれば、S3FullAccess(一例)という名前でロールを作成します。

では、作成したロールを EC2 インスタンスにアタッチします。

EC2 でインスタンスを選択し、以下を確認します。
IAMロール (空白)

設定
「アクション」-「インスタンスの設定」-「IAMロールの割り当て/置換」-「IAMロール」ー「作成したロール(S3FullAccess)を選択し適用」

試しに、ロールをアタッチしたインスタンス で以下を実行して、バケットを作成してみます。

$ aws s3 mb s3://<バケット名>
make_bucket: <バケット名>

成功しました。

(参考)
https://aws.amazon.com/jp/blogs/news/easily-replace-or-attach-an-iam-role-to-an-existing-ec2-instance-by-using-the-ec2-console/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0