これは
AzureADからAWS SSOへのSSO、プロビジョニング、プロビジョニング解除についての技術的な記事です。
プロジェクト全体の話はこちら
目次
- やりたいこと
- SSO設定
- プロビジョニング設定
- SSOテスト
- プロビジョニングテスト
- 参考
- 運用を考えてみる
1. やりたいこと
- AzureADからAWS SSOへSSO、プロビジョニング、プロビジョニング解除を行う
- AWSの権限設定はAWS SSOから行うことを想定
2. SSO設定
AzureADサイド
-
Azure ADで
エンタープライズアプリケーション登録
を作成する
ギャラリー以外のアプリケーションを選択する -
シングルサインオン
>SAML
を選択する -
フェデレーション メタデータ XML
をダウンロードしておく

AWS SSOサイド
- AWS SSOを有効化する
-
設定
-IDソース
からIDソースをAADに変更する -
AWS SSO SAML メタデータ
をダウンロードしつつ、IdP SAML メタデータ
にAADでダウンロードしたメタデータXMLをアップロードする

AzureADサイド
-
シングルサインオン
>SAML
を選択する -
メタデータファイルをアップロードする
から、AWS SSOでダウンロードしたSAMLメタデータをアップロードする

-
テスト
をクリックして問題なければ終了
3. プロビジョニング設定
AWS SSOサイド
- 自動プロビジョニングを有効化して、
SCIMエンドポイント
とアクセストークン
を取得する
AzureADサイド
-
プロビジョニング
を選択して、前の手順で取得した情報をテナントURL
やシークレットトークン
に入力する

-
テスト接続
して問題ないことを確認する -
マッピング
>AADユーザプロビジョニング
を選択 -
下記2つの属性は使用しないため、削除する
facsimileTelephoneNumber属性
mobile属性 -
mailNickname属性
を編集して、ソースをObjectID
に変更

- ユーザ、もしくはグループを割り当てて同期を開始する

4. SSOテスト
-
AWS SSOポータル
にアクセスして、Microsoftの認証画面にリダイレクトされることを確認する

- 認証完了したらSSOポータルにログイン完了

- AWS CLI SSOの初期設定
~# aws configure sso
SSO start URL [None]: https://XXXXXXXX.awsapps.com/start
SSO Region [None]: ap-southeast-1
Attempting to automatically open the SSO authorization page in your default browser.
If the browser does not open or you wish to use a different device to authorize this request, open the following URL:
https://device.sso.ap-southeast-1.amazonaws.com/
Then enter the code:
GDRN-CPLB
The only AWS account available to you is: XXXXXXXX
Using the account ID XXXXXXXX
The only role available to you is: AdministratorAccess
Using the role name "AdministratorAccess"
CLI default client Region [ap-southeast-1]:
CLI default output format [text]:
CLI profile name [AdministratorAccess-XXXXXXXX]:
To use this profile, specify the profile name using --profile, as shown:
aws s3 ls --profile AdministratorAccess-XXXXXXXX
~#
例としてS3一覧を表示してみる & SSOプロファイルを確認(IAMユーザ13banを使用)
~# aws2 s3 ls --profile AdministratorAccess-XXXXXXXX
2020-05-25 14:13:25 cf-templates-85l05w5jl33g-ap-southeast-1
~#
~# aws2 sts get-caller-identity
XXXXXXXX arn:aws:iam::XXXXXXXX:user/13ban AIDA53625ATMJMVMYDQJW
~#
5. プロビジョニングテスト
- グループ参加させたらプロビジョニングできた
- グループから削除したらAWS SSOユーザは無効化された
6. 参考
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-sso.html
https://aws.amazon.com/jp/blogs/developer/aws-cli-v2-now-supports-aws-single-sign-on/
7. 運用を考えてみる
新規
- 入社時にAzureADでエンジニアグループに入れる
- アカウントの属性値を設定するとこで、自動でグループ参加させる
- 自動でAWS SSOユーザが作成される
- 現在、AWSユーザ持っていない人も作成されるが権限設定しなければ問題なし
- AWS SSOサイドで権限を設定
利用
- AWS SSOポータル使用
- AWS CLIから使用
変更
- 権限の変更
- AWS SSOから権限を変更
- ID棚卸し
- AzureAD
- SSOユーザ
停止
- AzureADでグループからメンバー削除
廃止
- AzureADでアカウント削除