AWS SSOのIDストアをAzure ADにしている場合に権限を割り当てたい対象と既存グループが一致しない場合の対応方法
AWS SSO の ID ストアを Azure AD とし、SCIM による自動プロビジョニングを実施している環境において、Azure AD の既存のセキュリティグループと AWS SSO でアクセス権限セットを割り当てたいユーザの集合が一致しない場合があります。
その解決策の一つとして、Azure AD 側で AWS 権限を割り当てるための新しいセキュリティグループを作成する方法があるため試してみました。
想定シナリオ
前提として、Azure AD と AWS SSO を SAML で連携させ、SCIM を用いた自動プロビジョニングを設定している環境を想定しています。なお、本ブログにおいて Azure AD のグループとはセキュリティグループのことを示します。
Azure AD 側は部門単位でグループを作成している状況において、AWS SSO 側でユーザ「Azure AD User 1r」と「Azure AD User 2r」に ReadOnlyAccess 権限を与えるシナリオを実現したいとします。
既存のグループとユーザの構成のまま同期した場合は、AWS SSO 側において、グループに対して権限を与えた場合に意図しないユーザにも権限を与えることになります。また、ユーザを個別に指定して権限を与えることもできますが、ユーザが増える度に権限の割り当てを行う必要が出てきてしまい、管理の手間が増えることになります。
そこで、AWS の権限付与を目的とした新しいグループ「azure-ad-group-aws-readonly」を作成します。
そして、作成したグループ「azure-ad-group-aws-readonly」のみを AWS SSO 側にプロビジョニングすることで、AWS SSO 側では「azure-ad-group-aws-readonly」に所属するユーザのみが同期されます。
後は AWS SSO でアクセス権限セットを割り当てる作業となります。
動作確認
既存のグループとユーザの確認
まずは、Azure AD のグループ「azure-ad-group-department1」の所属ユーザ一覧です。
続いて、Azure AD のグループ「azure-ad-group-department2」の所属ユーザ一覧です
AWS 権限設定用のグループ作成
新規にグループ「azure-ad-group-aws-readonly」を作成して、ユーザ「Azure AD User 1r」と「Azure AD User 2r」を所属させます。
作成したグループをプロビジョニング対象とするため、AWS SSO 用のエンタープライズアプリケーションの「ユーザーとグループ」に追加します(自動プロビジョニングの範囲は「割り当てられたユーザーとグループのみを同期する」を設定しています)
グループ「azure-ad-group-aws-readonly」を選んだ後に「選択」します。
「割り当て」を行います。
以上で設定は完了です。
一覧に追加されていることを確認できます。
後は自動プロビジョニングを待つだけとなります。Azure AD は 40 分間隔で同期します。
AWS SSO への同期確認
AWS SSO 側でもグループとユーザがプロビジョニングされていることを確認できました。
後はアクセス権を設定する際にグループ「azure-ad-group-aws-readonly」を選択することで所属ユーザに権限を付与できます。また、自動プロビジョニングの設定をしておくことで Azure AD 側でグループ「azure-ad-group-aws-readonly」にユーザを追加した際には AWS SSO にも同期されます。
さいごに
Azure AD の既存グループが AWS の権限を与える対象と一致しない場合の対応策として、AWS への権限付与用のセキュリティグループを作成する対応策を紹介しました。
はじめは、ユーザが復数のグループに所属してい場合に、所属するすべてのグループをプロビジョニング対象としないと AWS SSO 側にユーザが同期されないかもしれないと思っていましたが、すべてのグループをプロビジョニング対象としない場合でもユーザの同期ができることが分かり、疑問が解消しました。