adtech studio

AWS Management ConsoleへのSSO ー PingFederateの設定編

hajime By hajime

Linux セキュリティ


こんにちは。アドテクスタジオでセキュリティエンジニアをしている岡崎です。

前回は、「AWS Management ConsoleへのSSO ー PingFederateのインストール」について、説明させていただきました。
今回は、IDプロバイダー(PingFederate)として利用すべく、サービスプロバイダー(AWS)とのSAML連携設定を紹介させていただきます。
*SAMLについての説明は省略させていただきます。


今回の設定の流れとしましては、
1 サービスプロバイダー(AWS)側で確認事項
2 IDプロバイダー(PingFederate)側の設定
3 サービスプロバイダー(AWS)側の設定
4 接続確認
となります。

 

1 サービスプロバイダー(AWS)側で確認事項

今回は、SAML連携のため、AWS側でいくつか準備するものがあります。

SAML連携の概要図

図のようにSAML連携には「メタデータ」交換の他にAWS側では、ロールとそれに紐づくポリシーが必要です。
今回は、SAML用ロール名とそのロールに付与するポリシーを用意しておきます。
*ロールには複数のポリシーを適用できます。
また、AWSのアカウント番号も必要になるので、メモしておきます。

 

2 IDプロバイダー(PingFederate)側の設定

今回は、データストアの設定とアダプタの設定は省略します。
IDプロバイダー(PingFederate)にサービスプロバイダー(AWS)の設定をするところを説明します。

今回は、サービスプロバイダー(AWS)のメタデータを参考に以下の4つの属性を設定しました。

・SAML_SUBJECT: mail (メールアドレス)
・https://aws.amazon.com/SAML/Attributes/Role: arn:aws:iam::AWSアカウント番号:role/AWS側に作成したロール名,arn:aws:iam::AWSアカウント番号:saml-provider/AWS側に作成するプロバイダ名
 *サービスプロバイダ(AWS)側に作成するプロバイダ名は、この後の3で作成しますが、あらかじめ名称は決めておきます。
・https://aws.amazon.com/SAML/Attributes/RoleSessionName: uid(ユーザの一意の値)
・https://aws.amazon.com/SAML/Attributes/SessionDuration:   セッション時間

 

3 サービスプロバイダー(AWS)側の設定

 2の設定が終わったら、IDプロバイダー(PingFederate)側の設定をそのまま進めていただき、一通り設定が完了しましたら、IDプロバイダー(PingFederate)から今回のサービスプロバイダー(AWS)のメタデータをダウンロードします。
そのメタデータをサービスプロバイダー(AWS)側のIDプロバイダー(PingFederate)設定で読み込み、プロバイダ名は、2で設定したものと同じにします。
サービスプロバイダー(AWS)側のIDプロバイダー(PingFederate)設定が終わったら、設定は完了です。

 

4 接続確認

IDプロバイダー(PingFederate)から今回のサービスプロバイダー(AWS)設定にある「SSO Application Endpoint」のURLからログインを試します。
ログイン後、右上のアカウント情報に以下のように「フェデレーションログイン」の表示が入ってましたら、OKです。

 アドテクスタジオはエンジニア主体の組織ですので、今回のIDプロバイダー(PingFederate)はエンジニアが利用するASPをメインに連携してます。
 現在はAWSだけではなくDatadogなどもSAML連携してます。

 実際に運用してみると複数のサービスプロバイダー(AWS)に同じアカウントでログインが可能になるので、アカウントの管理がとても楽になりました。
是非お試しください。