これは
AzureADからAWS SSOへのSSO、プロビジョニング、プロビジョニング解除についての技術的な記事です。
プロジェクト全体の話はこちら
目次
- やりたいこと
- SSO設定
- プロビジョニング設定
- SSOテスト
- プロビジョニングテスト
- 参考
- 運用を考えてみる
1. やりたいこと
- AzureADからAWS SSOへSSO、プロビジョニング、プロビジョニング解除を行う
- AWSの権限設定はAWS SSOから行うことを想定
2. SSO設定
AzureADサイド
Azure ADで
エンタープライズアプリケーション登録
を作成する
ギャラリー以外のアプリケーションを選択するシングルサインオン
>SAML
を選択する
AWS SSOサイド
- AWS SSOを有効化する
-
設定
-IDソース
からIDソースをAADに変更する -
AWS SSO SAML メタデータ
をダウンロードしつつ、IdP SAML メタデータ
にAADでダウンロードしたメタデータXMLをアップロードする
AzureADサイド
-
シングルサインオン
>SAML
を選択する -
メタデータファイルをアップロードする
から、AWS SSOでダウンロードしたSAMLメタデータをアップロードする
-
テスト
をクリックして問題なければ終了
3. プロビジョニング設定
AWS SSOサイド
- 自動プロビジョニングを有効化して、
SCIMエンドポイント
とアクセストークン
を取得する
AzureADサイド
テスト接続
して問題ないことを確認するマッピング
>AADユーザプロビジョニング
を選択下記2つの属性は使用しないため、削除する
facsimileTelephoneNumber属性
mobile属性
4. SSOテスト
-
AWS SSOポータル
にアクセスして、Microsoftの認証画面にリダイレクトされることを確認する
~# 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でアカウント削除