AWS IAM -ユーザ作成-
AWSをプログラムから利用する場合、アプリケーションごとにIAMユーザを作成、ユーザをグループに追加、グループにポリシーをアタッチするのが好ましいとされます。
何でもかんでもrootでアクセスすることはセキュリティ的に問題ありです。
ここではアプリケーション開発の始めに行う、IAMユーザの作成からaws-cliへのprofileの追加をまとめます。
IAMユーザを作成する
これはコンソールでやった方が楽です。
AWSのコンソールを開き、サービスからIAMを検索します。
IAMのユーザから「ユーザを追加」を選択します。
適当なユーザ名で作成します。ここではrekognitionとしましょう。
アクセスの種類は「プログラムによるアクセス」だけを許可しましょう。
こうすることでこのユーザはウェブブラウザからコンソールを開く権限を持ちません。
次にグループにユーザを追加します。
グループを作っていなかったら「グループ作成」から新しく作りましょう。
管理者アクセス権限を持つグループ(AdministratorAccess)を作成します。
ちなみに、ElasticBeanstalkのように他のサービスの利用を前提としているものはそれらのサービスのフルアクセスも自動で付与されます。
順当に進めていくとユーザが作成でき、アクセスキーIDとシークレットアクセスキーが取得できます。
後で使うのでメモしておきましょう。
AWS-CLIをインストールする
boto3などのSDKを使ってAWSを使うならAWS-CLIをインストールしておきましょう。
pip install awscli --upgrade --user
これで~/.local/bin
にaws-cliがインストールされます。
バージョンチェック。
$ aws --version aws-cli/1.12.1 Python/3.4.1 Darwin/16.7.0 botocore/1.8.1
PATHが通ってなければ適宜通します。
エラーなどは公式を参考に。
設定を保存します。
profile
オプションに適当な名前をつけましょう(オプションをつけないとdefaultを上書きしてしまいます)。
先ほど取得したアクセスIDとシークレットアクセスキーを入力します。
続いてリージョン、フォーマットを選択します。
$ aws configure --profile YOUR_PROFILE_NAME AWS Access Key ID [None]: YOUR_ACCESS_KEY_ID AWS Secret Access Key [None]: YOUR_SECRET_ACCESS_KEY Default region name [None]: YOUR_REGION Default output format [None]: json