7
6

More than 3 years have passed since last update.

AzureAD→AWS SSOへのSSO、プロビジョニング、プロビジョニング解除

Last updated at Posted at 2020-08-05

これは

AzureADからAWS SSOへのSSO、プロビジョニング、プロビジョニング解除についての技術的な記事です。
プロジェクト全体の話はこちら

目次

  1. やりたいこと
  2. SSO設定
  3. プロビジョニング設定
  4. SSOテスト
  5. プロビジョニングテスト
  6. 参考
  7. 運用を考えてみる

1. やりたいこと

  • AzureADからAWS SSOへSSO、プロビジョニング、プロビジョニング解除を行う
  • AWSの権限設定はAWS SSOから行うことを想定

2. SSO設定

AzureADサイド

  1. Azure ADでエンタープライズアプリケーション登録を作成する
    ギャラリー以外のアプリケーションを選択する

  2. シングルサインオン > SAMLを選択する

  3. フェデレーション メタデータ XMLをダウンロードしておく
    スクリーンショット 2020-07-14 14.35.26.png

AWS SSOサイド

  1. AWS SSOを有効化する
  2. 設定-IDソースからIDソースをAADに変更する
  3. AWS SSO SAML メタデータをダウンロードしつつ、IdP SAML メタデータにAADでダウンロードしたメタデータXMLをアップロードする スクリーンショット 2020-07-14 14.37.31.png

AzureADサイド

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

スクリーンショット 2020-07-14 14.41.51.png

  1. テストをクリックして問題なければ終了

3. プロビジョニング設定

AWS SSOサイド

  1. 自動プロビジョニングを有効化して、SCIMエンドポイントアクセストークンを取得する

AzureADサイド

  1. プロビジョニングを選択して、前の手順で取得した情報をテナントURLシークレットトークンに入力する
    スクリーンショット 2020-07-14 14.48.11.png

  2. テスト接続して問題ないことを確認する

  3. マッピング > AADユーザプロビジョニングを選択

  4. 下記2つの属性は使用しないため、削除する
    facsimileTelephoneNumber属性
    mobile属性

  5. mailNickname属性を編集して、ソースをObjectIDに変更
    スクリーンショット 2020-07-14 14.54.01.png

  6. ユーザ、もしくはグループを割り当てて同期を開始する
    スクリーンショット 2020-07-14 16.41.42.png

4. SSOテスト

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

スクリーンショット 2020-07-15 11.54.17.png

  1. 認証完了したらSSOポータルにログイン完了
    スクリーンショット 2020-07-15 11.56.49.png

  2. 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. プロビジョニングテスト

  1. グループ参加させたらプロビジョニングできた
  2. グループから削除したら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でアカウント削除
7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6