背景
SAML連携をするアプリケーションの開発が必要になり、ローカル環境でどうやってログインすりゃええんやとなった。
(流石に本番のIdPに繋げるわけにはいかず)
そうやって調べるとPHPでできた SimpleSAMLphp に行き当たる。
とはいえPHP詳しくない私からするとどうやって立ち上げるんじゃ(パラメータ多い、、、)状態。(読めばわかるがめんどい、、、)
そうしたところ素敵なDocker imageを公開してくださっている方を発見。(ありがてぇ)
とはいえ開発のたびに毎回立ち上げたり、他メンバーにこれを共有するのも面倒。。
(事情としてエンジニア外の方にこのシステム触って簡単な修正を体験してもらおうという勉強会をしようと思っており、エンジニア外の方にここら辺のセットアップしてもらうのもなぁという印象がありました、、)
やったこと
- 上のDockerimageをcopilotの最小構成でECS Fargate上で動かす(spotでお金もなるべくケチケチ)
- 安さとメンテしたくないを優先
AWS_PROFILE={your profile} copilot deploy
してもらえれば良きになると思う(copilot init
が必要かも知れない、、?)
ここら辺の環境変数は適宜変更して使ってください。(使う場合)
結果
ALBのドメインにアクセスすると管理画面が表示される。
認証ユーザー
管理画面ユーザー(SimpleSAMLphpの管理画面用)
Username | Password |
---|---|
admin | secret |
SAML認証の時のユーザー
Username | Password |
---|---|
user1 | password |
user2 | password |
SAML連携で必要な情報は「連携」タブから確認できました。(メタ情報は心の目で読んでなんとかしましたが、SAMLとしてそれが正解なのか分からないのでrubyでやる場合これでできましたは別記事で上げようかなと思います)