AWS IAM -ユーザ作成-

#AWS#aws-cli#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