joppot

コピペで絶対動く。説明を妥協しない

サーバ

awsのs3を操作する為のaccess keyとsecret keyを取得する(IAM)

投稿日:


fawe

概要

皆さんこんにちはcandleです。今回はrailsやphpからS3にファイルをアップロードしたりする権限を取得する方法を紹介します。一般にS3にファイルをアップロードしたり削除するにはアクセスキーとシークレットキーをIAMから取得する必要があります。

興味深いのはS3に限らないのですが、aws環境ではそれぞれのサービスに例えばS3やRDSに外部からアクセスする権限を管理するのがそれぞれのサービスではなくてIAMというサービスになります。

故にS3を操作する場合でも権限関連はIAMで作成します。
逆に言えば、このアクセスキーとシークレットキーがあればどこからでもS3にアクセスしてファイルを編集したり、削除できたりできます。別の記事にあるように、自宅のMacPCからもS3にアクセスできるようになります。

図にすると、下の様になります。
aws

前提

awsのアカウントを持っていて割と自由に使える


S3へアクセスるためのaccess_keyとsecret_keyを取得する

S3へファイルをアップロードしたり、消したりするのにはもちろん権限が必要です。誰も彼もS3にファイルをアップロードできては危険だからです。

railsやphpでS3にファイル上げる場合もaccess_keyとsecret_keyは必要不可欠です。それぞれのキーを取得しましょう。

awsのメニューの自分のアカウント名が書かれているプルダウンメニューから「Security Credentials」を選びます。

gosecurity

左のメニューから「Users」を選択します。

chooseUsers

「Create New Users」を選択します。

createnewiamuser

そしたら、名前は何でも良いのですが、例えば、「s3upload」というユーザー名にします。別にs3uploadという名前である必要性はありません。書いたら、Createを押します。

inputusername

access_keyとsecret_keyが表示されるので、コピペで保存するかダウンロードしましょう。ちなみにこれは後で確認ができなかったと思います。必ず保存しましょう。

saveaccesskey

今度はこのs3uploadユーザーに権限をもたせます。
ユーザーを選択して「Attach User Policy」を選択します。

attachuserpolicy

「Select Policy Template」から「Amazon S3 Full Access」を選択して「Select」を押します。

chooseuserpolicy

次の画面に移動するので、なにも変えずに「Apply Policy」を選択します。

okmakepolicy

これで、先ほど入手したaccess_keyとsecret_keyを使ってs3にファイルをアップロードできる権限を持つことができました。

まとめ

入手したアクセスキーとシークレットキーをrailsなりphpで使用して、S3上でファイルの管理を行える用になりました。他の記事で、ファイルのアップロード仕方などを紹介しているのでそちらもどうぞ。

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-サーバ
-

執筆者:


comment

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

関連記事

apacheのmod_rewriteでphpのGETパラメータのurlを書き換える

概要 みなさんこんにちはcandleです。今回はphpでgetでパラメータを受け取る際のurlの書き換えです。 例えば、phpよくあるのがこのようなurlではないでしょうか。 http://local …

wordpressのカテゴリーを削除する

概要 みなさんこんにちはcandleです。今回はwordpressのカテゴリー削除に関してです。実は私、タグとカテゴリーを間違えていて、初期の頃はカテゴリーで全て分類していました。後に、タグで管理する …

let’s encryptのssl証明書をvagrantのubuntuを使用して取得する

概要 みなさんこんにちはcandleです。2014年の後期にmozillaあたりが主導して、無料のssl証明書作ろうという動きがありました。ついに去年の12月にβ版がでたので、早速試してみました。 ち …

centos6.5にdaemon toolsをインストールする

概要 みなさんこんにちはcandleです。今回はdaemon toolsというcent osのソフトウェアを入れてみましょう。 daemon toolsというのは簡単に言えば、サーバの電源をオンにした …

railsのaws-sdk gemを使ってs3のファイルを削除する

by martinak15 概要 みなさんこんにちはcandleです。今回はs3にアップロードされている画像ファイルをrailsのaws-sdk gemを使用して削除してみたいと思います。 記事中で開 …

  • English
  • 日本語

ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー