こんにちは。CI部の鎌田です。 各AWSサービスを利用する際に、既存のActive Directoryとの連携、SAML 2.0での連携など様々なパターンを検討されるかと思うのですが、 どのサービスがどのパターンをサポートしているか、都度確認されているのではないでしょうか。
この記事ではそのパターンの一覧をまとめつつ、ポイントについても簡単に解説します。
認証に使うサービス
先に、認証に使うサービスについて触れておきます。 AWSのサービスが認証を統合する際に使うサービスとしては AWS Directory Serviceが使われています。 既存のActive Directoryにjoinさせるときに利用するのがAD Connectorで、 Simple ADとAWS Managed Microsoft AD(以下、MSAD)はAWSのマネージドのActive Directoryを利用したい時に選択します。
Simple ADはsamba4ベースのため、一部の機能が制限されていても問題無いお客様向け、グループポリシーを使うなど、認証以外のことも視野にマネージドサービスを選択したいケースでMSADが推奨となります。 AWSの紹介ページも参考にしてください。
AD ConnectorとSAML
認証のパターンとして、既存のActive Directoryを使うケースではAD ConnectorとSAML認証の2つのパターンがあります。 両方に対応するサービスは多くありませんが、両方に対応しているサービスではどちらかの選択となります。
SAMLを利用するとシングルサインオンになるためユーザー名/パスワードの入力をせずに済むメリットがありますので、 両方を選択できるケースではSAML認証を選択されると良いでしょう。
これが対応パターン!
こちらが対応パターンの一覧になります。
AWSサービス | Simple AD | AD Connector | MSAD | SAML | 備考 |
---|---|---|---|---|---|
Amazon EC2 | 〇 | 〇 | 〇 | × | ドメインの統合以外にインスタンス内部からドメイン参加も可能、マネジメントコンソールからの統合はWindowsOSのインスタンスのみ対応 |
Amazon RDS | × | × | 〇 | × | RDS for SQL Server DBのみの対応 |
Amazon Connect | 〇 | 〇 | 〇 | 〇 | Active Directoryと統合しない場合はConnectでユーザー管理が可能 |
Amazon WorkSpaces | 〇 | 〇 | 〇 | × | Active Directoryがない環境では利用できない |
Amazon AppStream 2.0 | × | × | × | 〇 | ドメイン参加にはDHCP OptionsにてDNSの指定が必須、Simple ADとMSADはドメイン参加の形で対応。ドメイン参加なしの場合はAppStream2.0でのユーザー管理となる。 |
AWS Client VPN | 〇 | 〇 | 〇 | 〇 | SAML連携は対応するIdPが少ないため注意 |
AWS SSO | × | × | 〇 | × | SAML認証ではAWS SSOをIdPとして利用は可能だがSPにはなれない |
AWS IAM | 〇 | × | 〇 | 〇 | MSADはマネジメントコンソールでの設定の他、SAML連携のIdPとしても利用可能 |
EC2
EC2では、Directory Serviceの各サービスが対応しています。 マネジメントコンソールからの統合の他、インスタンスの中からドメイン参加の形を取ることも可能です。
https://docs.aws.amazon.com/ja_jp/directoryservice/latest/admin-guide/simple_ad_join_instance.html https://docs.aws.amazon.com/ja_jp/directoryservice/latest/admin-guide/ad_connector_join_instance.html https://docs.aws.amazon.com/ja_jp/directoryservice/latest/admin-guide/ms_ad_join_instance.html
RDS
RDSでWindows認証の統合が出来るのはMSADのみとなっています。 また、RDS for SQL Server DBのみの対応なのでご注意ください。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html
Connect
Connectはすべてのパターンに対応しています。
https://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/connect-identity-management.html
WorkSpaces
WorkSpacesはDirectory Serviceの各サービスが対応しています。
https://docs.aws.amazon.com/ja_jp/workspaces/latest/adminguide/launch-workspaces-tutorials.html
AppStream 2.0
AppStream 2.0は、ドメインを使って認証する場合はSAML認証のみの選択となります。
https://docs.aws.amazon.com/ja_jp/appstream2/latest/developerguide/authentication-authorization.html
Client VPN
Client VPNは、すべてのパターンに対応しています。なおSAML認証は2021年2月現在、ドキュメント上ではOktaとAzure ADのみの記載・対応となっていますので、選択される際はご注意ください。
https://docs.aws.amazon.com/ja_jp/vpn/latest/clientvpn-admin/client-authentication.html
SSO
AWS SSOはMSADのみの対応です。 SAML認証は使えますが、IdPとしての利用のみで、SPになる形には対応していません。 またIdPとして対応するのは、2021年2月現在、MSADのみとなっています。
https://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/samlfederationconcept.html
IAM
IAMではAD Connectorを除くパターンが対応しています。 いずれのパターンでも、IAMユーザーを使ったログインから、IAMロールを使ったログイン方法に切り替えることになります。
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_roles_providers.html
まとめ
いかがでしたでしょうか。 AWSサービスにより選択できる認証統合方法が微妙に異なっています。 どれを選べば良いのか迷った際の、一助になれば幸いです。