AWS OrganizationsとSSOの管理

夫(S)の投稿

はじめに

これまで、主に家庭のことやガジェットについての記事が多かったのですが、少しテイストを変えてみたいと思います。

そもそも、情報を発信する目的で始めたこのサイトですが、キッカケは仕事において情報発信をする場面がなかなかなく、発信の練習(とWeb関連の知識習得)が動機でした。
また、ピンポイントで自分が求める技術情報にたどり着く確率は、色々なサービスを複合的に組み合わせて運用する環境においてはなかなかなく、自身の経験を発信することで情報の隙間を埋めることができることもあるのでは、と考えました。

具体的な情報を載せるのは難しい場合もありますが、自分の解釈としてこんな概念で構築しています、ということを、記録がてら発信していけたらいいなと思っています。

AWS Organizationsとは?

さてまず、AWS Organizationsとはなんでしょうか?
個人や小規模のプロジェクトでAWSを利用する場合には、このサービスを利用せずとも特に問題なくAWS環境を構築できるので、特に意識されない方や利用したことがない方も多くいると思います。

AWS Organizationsのとは、日本語に直訳すると「組織」となり、その名の通り複数のAWSアカウントを組織的に管理することができる機能です。

AWS Organizations(AWS アカウント全体の一元管理)| AWS
AWS Organizations は、AWS リソースの増加とスケールに合わせて、一元化されたクラウドアカウント管理を可能にします。

Organizationsでできること

Organizationsを利用することで、以下のようなことが簡単にできるようになります。
・複数のAWSアカウントの一元管理
・コストの一括管理
・セキュリティ設定の一括管理

またOrganizationsと、AWS SSOを組み合わせることで、
・複数のAWSアカウントへのログインユーザーと権限の一元管理
も可能となります。

Organizationsを利用するための料金は不要です。

Organizationsのメリット

私がOrganizationsの管理を始めて、AWSアカウント個別で管理するよりも優れていると感じる点です。全体的には、

複数のAWSアカウントの管理が楽になる

この一言に尽きるのですが、管理といっても様々な面での管理があり、特に便利と感じる部分を挙げていきます。

AWSアカウントの作成が簡単

複数のAWSアカウントを利用する場合、案件ごとや顧客ごとにアカウントを分けて管理する場合が多いと思いますが、Organizationsの中に直接AWSアカウントを作成することで、新規AWSアカウントの作成が容易に可能です。

特に、請求情報の登録時にカード情報の登録が必要ですが、支払いのための情報を社員に公開している会社はあまりないと思います。
そのような場合でも、支払い担当者の手を煩わせることなくAWSアカウントの作成が可能です。

その他AWSアカウント作成時の必須情報なども、アカウント固有で必要な情報を除いてOrganizationsの親アカウントの情報を自動で引き継げるので、組織外でアカウントを作るよりも簡単です。

ユーザーの管理が容易になる

特にAWS SSOを利用することで、各AWSアカウントにアクセスするユーザーの管理が容易になります。

個別でAWSアカウントを管理していた時は、各AWSアカウント毎にIAMユーザーを管理する必要がありました。
ユーザーがAWSアカウントにアクセスをする場合、AWSアカウント毎にIAMユーザーを発行してセキュリティ設定をする作業が必要でしたが、AWS SSOユーザーを利用することで、1つのSSOユーザーに組織内のAWSアカウントへのアクセス権を設定するだけでよいです。

特にメリットがあるのがメンバーの退職や異動などでAWSアカウントへのアクセスが不要になった際に、AWSアカウント毎にIAMユーザを削除したりする作業が不要になります。
SSOユーザーのアクセス情報を管理するだけでよいので、これだけでセキュリティリスクが大きく下がります。

私が管理するOrganizations環境では、さらに別のサービスをIdPとして利用し、ログインに必要なパスワード等を基本的にAWS側に持たないようにして、ユーザーをできるだけ効率的に管理できるようにしています。

アカウントを横断した管理が簡単になる

AWSのサービスによっては、Organizations内のアカウントに対して横断的に利用できます。

例えば、CloudTrailでOrganizations内のすべてのアカウントのログを一括して取得したり、GuradDutyやSecurityHubで組織全体のセキュリティレベルを合わせることも可能です。

アカウント毎に個別でセキュリティ設定等を行うのはかなりの手間なので、上手く使えば少ない手間でセキュリティレベルを効率的に保つことが可能です。

私が管理するOrganizationsではまだセキュリティ関連の全体設定は完全にはできていないので、こちらも活用方法などを徐々に記録がてら記事にできればと思っています。

OU単位、SSOユーザーグループ単位の一括設定が可能

Organizationsの中には、OUという組織の単位や、ユーザーのグル-プを作成することができます。

OUやユーザーグループの単位で、セキュリティ設定やユーザーのアクセス権の一括設定ができるので、同じアクセス権にしたいAWSアカウントやSSOユーザーをまとめて管理することが可能です。

請求情報を一括で処理できる

Organizationsで利用できるサービスの中に、CostExplorerというサービスも含まれています。

これを利用することで、Organizations全体のコストを一括で管理することができます。
請求書も同じ宛先に一括で送付されるので、請求を管理する部門にとっては運用が非常にシンプルになります。

不満・改善してほしい点など

基本的には便利に利用している一方で、もう少し改善してほしい点などもあります。

OU単位で管理者を設定したい

先ほど説明したOUによるアカウントの一括管理ですが、現状はポリシーやアクセス権を一括で設定・管理するための機能で、例えばOrganizationsそのものの管理をOU毎に移譲する、ということはできません。

SSOユーザーはOrganizationsと1対1で紐づくので、OUの下位のアカウントへのSSOユーザーのアクセス権の設定も、Organizationsの管理者で実施する必要があります。

完全に管理を移譲する場合は、管理したい組織の単位でOrganizationsを作成して運用する必要がありそうです。

アカウント単位で請求先を分けたい

請求先をまとめることで、全てのAWSアカウントの請求が一括で届き、支払い自体は便利になるのですが、逆に言うと1枚の請求を複数の支払いで精算することはできません。

また、あるアカウントの費用のみを別の請求先に振り分けたい、とい設定もできないようです。

現状私の管理するアカウントでは何とか運用できていますが、AWSコストをプロジェクトや顧客ごとに振り分けないといけない場合は、請求が届いた後に内容を分解してそれぞれの振り分け先に紐づける、という作業が必要となります。
利用する場面によってはかなりの労力を使う作業になってしまいます。

最後に

私は恥ずかしながら、Organizationsの管理をすることになるまでAWS環境はほとんど触ったことがない状態でした。
管理者を任されるにあたり、各サービスの概要等はなんとなく勉強した、という状態です。

現状利用しているAWSのリソースは多く、また私の管理する環境でも利用は増加傾向にあるため、当面は管理を続けることになると思います。
AWSに対する知識を深めるためにも、いろんなサービスの使い方などを記載していければと考えています。

コメント

タイトルとURLをコピーしました