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?」に助けてもらいました。