AWS Identity and Access Managementに移行する。

以前より、アカウントのSecurity Credentialsにアクセスすると、「AWS Identity and Access Managementに移行せよ」とか、Secret Access Keyを見ようとすると「見られなくなるよ」とか出てくるのは分かってたんだけど、放っておいた。例えば、Security Credintialsにアクセスすると、以下のような画面がでる。

当初、認証系の統合ツールがなかったので追加されたのだろうか?
細かい設定ができそうだが、

  • 1つのアカウントで(権限の異なる)複数のユーザーが作成できる。
  • Access Key、Secret Access Key、X.509証明書などの管理をユーザーごとにできる(AWS Multi-Factor Authenticationというのも使えるらしい)。
  • Secret Access Keyは生成時に表示・ダウンロードできるが、無くした場合、サイドAccess Keyを作らなくてはならない。
  • 今後は、IAMを通してログインしなくてはならない。

というところが違う(ような雰囲気)。

認証を移行することが目的なので、どんどん進めて行く。
手順としては、

  • ユーザーの作成
  • グループの作成と権限の設定
  • ユーザーへのグループのアサイ

という感じ。


以下は、IAMにサインアップ後の画面。

まず。ユーザーを追加してしまう。左メニューペインにあるUsersをクリックする。

ここで「Create User」ボタンをクリックすると、以下の画面で「ユーザー名(IAMでのログインネーム)」を設定する。デフォルトで、Access Keyを同時に追加する、となっているので、特別必要がなければ、「Create」する。

すると、Userが追加できたことを知らせる画面に遷移する。
ここで、よーく見ると、「Security Credentialがダウンロードできるのは、これが最後だ」と書いてある。

ここで、Downloadすると、cvs形式でAccess KeyとSecret Access Keyが落ちてくる。もしくは、上の画面で「Show User Security Credential」をクリックすると、以下のようにkeyが表示される。

いずれにしても、Secret Access Keyを見られるはこれが最後なので、大切に保管しておく。無くしてしまうと、Access Keyから再作成しなければならず、かなり痛い(後述)。

ユーザーが登録できたら、パスワードを設定しておく。Userの一覧を表示して、パスワードを設定したいユーザーを設定する。ユーザーを作成して状態だと、PasswordがNoになっている。

Manage Passwordをクリックして、Passwordを設定する。自分でパスワードを決めたい場合には、「Assign a custom password」を選択すると設定するためのフィールドが表示される。

パスワードポリシーも設定できる。

このままだと、今登録したユーザーでは重要な機能を使う事ができない。なので、グループを作成し、Admin権限を付与し、ユーザーをそのグループに紐づける。

Groupsの画面で「Create New Group」をクリックする。最初にグループの名を入力する。

次に、Permissionを設定するが、テンプレートが用意されているので、そこから適当に選ぶことができる。

ここで設定したパーミッションは、次の画面でカスタマイズすることができる。設定はjson形式になっているようだ。

次に、(先に作成した)ユーザーを紐づける。

あとは、画面にしたがえばいい。

IAMを通して、AWSにログインするには、

  • (アカウントに与えられた)URLにアクセスする。
  • AWSのマネージメント・コンソールを開いて)サービスの一覧からIAMを選択する。

の方法がある。

前者は、IAMのダッシュボードの下に表記(IAM users sign-in link)されているので、ブックマークしておけばよい。

どちらの場合も、以下のログイン画面が出るので、登録したユーザーでログインする。

これで使える状態になるので、忘れないように、ローカルにあるAccess KeyとSecret Access Keyを含んだ設定ファイルを書き換える。
移行した感じでは、EC2やS3は新しいユーザーえログインしても環境が引き継がれていたが、EMRは新しいユーザーとして認識されてしまった。
いずれにしても、早めにIAMに移行してしまった方が良さそう。

最後に、Secret Access Keyを無くした、忘れた場合について、備忘を残しておく。
先にも書いたが、この場合、Access Key を作り直さなくてはいけない。下図は、AccessKeyを二つ持つユーザーの属性を表示したところ(Access Keyはユーザー当たり2つまで登録できる)。

ここで、Manage Access Keyをクリックする。

Secret Access Keyを無くしてしまったAccess Keyを削除し、その後、Create Access Keyをすれば、新しいAccess KeyとSecret Access Keyを取得できる。

最初、なくしたらどうするんだろう、と思いましたが、「Where's my secret access key?」に助けてもらいました。