見出し画像

AWS Identity Managerの移行

やあ、久しぶり 株式会社キャリタスのSRE課です。
今回のブログはSRE課の日々の取り組みを紹介していこうと思います!


悩み

SRE課設立までは我々が管理するAWSのアカウント数があまり多くありませんでした。
しかし社内システム全てを担当するようになってからAWSアカウント数が増え、IAMユーザの管理が面倒くさい!
新しい人が入ればAWSアカウントごとにユーザを作って、アクセス制限しているIPが変われば全環境ログインしてポリシー変更…。
もっと楽したい…。

お悩み解決!?

そんな誰でも悩みそうなことを解決するサービスがもちろんあるわけで、それがスイッチロールという仕組みになります!(ブログタイトルと違うのはあとあと…)

スイッチロール

やったぜログイン楽ちん♪

と思ったんですよ。その時は。
アカウントのIDとスイッチ先アカウントのロール名を入れないといけないんですね。はい。しんどいけどまあ入れるしかないですよね。はい。
しかもアカウントが増えるごとにスイッチ先アカウントにロールを作ったりするのがしんどいしんどい。

スイッチロール設定

お悩み解決その2!?

ところがどっこいそんなもの解決する手段があるわけです。
こんな感じでURLのパラメータに指定しちゃえばいいんです!

https://signin.aws.amazon.com/switchrole?account=your_account_ID_or_alias&roleName=optional_path/role_name

やったぜログイン楽ちん♪

と思ったんですよ。その時は。(パート2)
上のURLをブックマークしておけばいいだけではあるんですが、いろんな人にこのログイン方法を使ってもらっているうちに、毎度URLを連携したりアカウントが増えるとまたURLを作って台帳管理したり…。
これはどうすることも出来ないと思い、泣く泣く運用を続けることにしました。

お悩み解決!(真)

そこから数か月後IAM管理のセミナーを受けていたところ、あるじゃないですか。
AWS IAM Identity Centerなるものが。
震えました。私の勉強不足に。

AWS IAM Identity Center

こちらを使うとなんとアクセスポータルというサイトにアクセスした後に、各AWSアカウントが表示されるので、そこをクリックするだけ!
IdentityCenter側で権限を管理し、アクセスが出来るアカウントだけポータル画面に表示されるという感じです。

アクセスポータル

ユーザへのURL連絡はIdentity Centerへのユーザ登録時にメールが送信される為不要!
1つのURLへのアクセスだけで自分がアクセス許可されているアカウントだけアクセス可能!ブックマークは1つだけ!
MFAは必須設定になります。セキュリティ管理はしっかりしましょう。

IAM Identity Center詳細

IAM Identity Centerの権限管理について、説明していきたいと思います。
ユーザー、グループ、AWSアカウント、許可設定といった設定項目があります。

ユーザー:
アクセスポータルにログインするユーザーになります。
ユーザー名、氏名、メールアドレスを登録することになります。

グループ:
ユーザーを束ねるものです。
AWSアカウント :AWSアカウントと許可セットとグループ(もしくはユーザ)の紐づけが行えます。

許可セット:
IAMポリシーを設定する箇所になります。
詳しくは後述します。

上記設定を駆使して、どのAWSアカウントに誰(グループ)がどんな権限(許可セット)でアクセスするかを設定することになります。
AWSアカウントの項目で表示されるアカウントはOrganizationsで組織化されているアカウントです。
Organizationsを利用せずにIAM Identity Centerを使用することも可能ですが、ベストプラクテイスではないので割愛します。

IAM Identity Center権限確認

許可セット

許可セットにはAWSマネージドポリシー、カスタマーマネージドポリシー、インラインポリシーといった項目があります。

AWSマネージドポリシー:
AWS側で作成されたポリシーを指定する項目です。
AdministratorAccessやReadOnlyAccessといったAWS管理のポリシーを割り当てます。

カスタマーマネージドポリシー:
利用者側で作成したポリシーを指定する項目です。
ここで指定するポリシーは事前にIAMで作成しておく必要があります。
注意点として、ここで指定するポリシーはIAM Identity Centerを利用しているAWSアカウントではなく、接続先のAWSアカウントに存在しているポリシーです。

インラインポリシー:
JSON形式で細かく権限を指定したい場合に使用します。
弊社の場合IP制御等はこちらで実施しています。

おわりに

権限の設定や紐づけなど、ミスしやすそうな部分がたくさんあります。
テストユーザーを作成するなどしてしっかりテストしましょう!
まだまだ弊社も利用を開始したばかりで試行錯誤中です。
認識に誤りやこういった管理方法がオススメ!などありましたら是非教えて頂けるとありがたいです。

最後まで読んで頂きありがとうございます!
今後も定期的に投稿しますので是非また読んで頂ければうれしいです!

我々は新卒、中途採用を実施しています。ご興味のある方は下記リンクよりご応募お願いします!


この記事が気に入ったらサポートをしてみませんか?