2019年03月07日
コーディルテクノロジー株式会社

特定のAWS S3バケットへの書き込み権限を持ったIAMユーザーの作成と認証情報(アクセスキーID/シークレットキー)の取得方法

Codyl Findで、位置情報の記録をお客様のAWS S3へ定期保存するためにはAWSの認証情報が必要になります。下記の手順に従って、IAMユーザーを作成し認証情報を取得してください。

参考:AWSルートユーザーの認証情報ではなく、本手順でIAMユーザーを作成しその認証情報を使用することによって、指定されたS3への書き込み以外のアクセス権限をCodyl Findに与える必要がなくなり、セキュリティリスクを最小限にすることができます。

また、保存先とするS3のバケットを事前に作成しておいてください。S3バケットはこちらのリンクを参考に作成してください。設定内容は全てデフォルトで問題ありませんが、バケット名はわかりやすさのため次のような名前にすることをお勧めします。

    バケット名例:cflocationlog.yourdomain.name

    ※ yourdomain.name の部分は他のユーザーのAWSバケット名と衝突しないよう自社のドメイン名を使用することをお勧めします。

IAMユーザー作成手順

  1. AWSマネージメントコンソールにサインインし、IAMコンソールを開きます。
  2. ナビゲーションペインで [ユーザー]、[ユーザーを追加] の順に選択します。
  3. ユーザー追加画面で、[ユーザー名]を入力します。
    ※ このユーザー名を使ってコンソールにサインインする必要はありません。他のユーザー名とぶつからないわかりやすい名前を設定してください。(例:codylfind)
  4. [アクセスの種類]として「プログラムによるアクセス」をチェックします。
  5. [次のステップ: アクセス権限]を押して次に進みます。
  6. アクセス許可の設定画面で、「既存のポリシーを直接アタッチ」を選択し、[ポリシーの作成]ボタンを押します。
  7. ポリシーの作成画面のビジュアルエディタで、次のようなポリシーを作成します。
  8. サービス S3
    アクション アクセスレベル: PutObject
    ※ 書き込みのサブメニューの中にあります。
    リソース 指定
    object: (ARNの追加で次のARNを追加)
    Bucket name: cflocationlog.yourdomain.name
    Object name: *

    参考:ビジュアルエディタではなくJSONで次のようなポリシーを直接記述することもできます。

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "VisualEditor0",
                "Effect": "Allow",
                "Action": "s3:PutObject",
                "Resource": "arn:aws:s3:::cflocationlog.yourdomain.name/*"
            }
        ]
    }
  9. [ポリシーの確認]ボタンを押して次に進みます。
  10. [名前]にわかりやすい名前を入力し、[ポリシーの作成]ボタンを押してポリシーを作成します。(例:writable-cflocationlog.yourdomain.name)
  11. ポリシー作成画面を閉じ、手順6のアクセス許可の設定画面に戻ります。
  12. リロードボタンを押して、上記手順で作成したポリシーを選択肢の中に読み込みます。
  13. [ポリシーのフィルタ]に、手順9で入力したポリシー名を入力し、表示されたポリシーの左側のチェックボックスをチェックして、[次のステップ: タグ]を押します。
  14. タグの追加画面では、特別な設定は不要です。[次のステップ: 確認]ボタンを押します。
  15. 作成するユーザーの確認を行い[ユーザーの作成]ボタンを押してユーザーを作成します。
  16. ユーザー作成に成功すると、作成したユーザーの権限でAPIを実行するための認証情報(アクセスキーIDとシークレットアクセスキー)が表示されますので、メモするか、csvファイルをダウンロードしてください。
  17. 重要:ここでの表示が、この認証情報を確認できる最後の機会です。ここでメモし忘れた場合は、このユーザー用の別のアクセスキーを作成しなおす必要があります。