adtech studio

AWS SSOと外部サービスを連携(Slack編)

hajime By hajime

AWS セキュリティ 検証

はじめに

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

先日、「AWS re:Invent」が開催されましたね。AWSの機能がどんどん増えていきますね。

*参考: https://reinvent.awsevents.com/

 

さらに12/7に「AWS re:Invent」では発表されなかった「AWS Single Sign-On」が突如発表されました。

参考:「Announcing AWS Single Sign-On (SSO)」

https://aws.amazon.com/jp/about-aws/whats-new/2017/12/announcing-aws-single-sign-on–sso/

 

早速、Slackとの連携を試してみました。

 

ちなみに費用は無料のようです。*AWS側にMicrosoft ADを構築必要があるので、完全無料というわけではなさそうです。

There is no additional cost to enable AWS SSO. It is now available in the US East (N. Virginia) Region.

参考: https://aws.amazon.com/jp/about-aws/whats-new/2017/12/announcing-aws-single-sign-on–sso/

*「SAMLの設定の流れ」は先日紹介した「AWS Management ConsoleへのSSO ー PingFederateの設定編」を参考にしてください。  https://adtech.cyberagent.io/techblog/archives/2822

 

AWS Single Sign-Onの設定

「AWS Single Sign-On」を「有効」にするは以下のように条件があるようです。

・You must have first set up the AWS Organizations service and have All features set to enabled. You must also have access to the AWS Organizations master account credentials. These credentials are required to enable AWS SSO. For more information, see Creating and Managing an AWS Organizations in the AWS Organizations User Guide.

・You must have an existing Microsoft Active Directory (AD) set up in AWS Directory Service that you can connect to AWS SSO. This AWS Microsoft AD directory determines which pool of users has SSO access to the user portal. You can connect only one AWS Microsoft AD directory at a time. However, you can change it to a different AWS Microsoft AD directory at any time. For more information, see Create a Microsoft AD Directory in the AWS Directory Service Administration Guide.

・Your connected directory must be in the US East (N. Virginia) (us-east-1) Region where AWS SSO is also available. AWS SSO stores the assignment data in the same region as the directory. To administer AWS SSO, you must be in the us-east-1 region. Also, note that AWS SSO’s user portal uses the same access URL as your connected directory.

参考: http://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/prereqs.html

 

簡単に説明しますと、

・AWS Organizationsが「ENABLE ALL FEATURES」になっている必要があります。

 *AWSマネジメントコンソールログイン後、以下のURLから確認できます。  https://console.aws.amazon.com/organizations/home#/organization/overview

・Directoryとして、Microsoft Active Directory(AD)が必要になります。

・そして、AWS Directory Serviceは、米国東部:us-east-1 (バージニア北部)にあることが必要です。

 *Microsoft Active Directory(AD)を操作する際は、Windows OSが必要になります。

 *Microsoft Active Directory(AD)の操作はwindows専用の管理ツール「リモートサーバ管理ツール」で行います。  https://support.microsoft.com/ja-jp/help/2693643/remote-server-administration-tools-rsat-for-windows-operating-systems

 

 

条件を満たしていない画面:

 

条件を満たした画面:

 

Slackとの連携

Slackとの連携には、AWS SSO側にインテグレーションが用意されており、容易に連携が可能です。

また、AWS SSO側に詳細な手順が発行され、その手順に則って、Slack側のSAML設定をするだけで、完了になります。

*SlackとのSSO連携にはSlack「プラス」が必要になります。  https://slack.com/pricing

 

「AWS SSO」> 「Applications」 > 「Slack」と進み、「View instructions」をクリックすると、詳細な設定手順が表示されます。

 

[AWS SSOとSlack連携手順]

*自AWS側の値が入っているので、とても親切です。

 

[AWS SSOの設定]

上記の内容をもとにSlack側のSAML設定をしましょう。

参考:Slack側のSAML設定  https://get.slack.help/hc/ja/articles/203772216-SAML-%E3%82%B7%E3%83%B3%E3%82%B0%E3%83%AB%E3%82%B5%E3%82%A4%E3%83%B3%E3%82%AA%E3%83%B3

 

ユーザに対して、Slackを利用権限の付与は、AWS SSO管理画面にて、グループまたはユーザレベルで設定します。

 

Slack以外にもさまざまなインテグレーションが準備されていました。

 

おわりに

ついにAWSでのSSOがリリースされました。

AWSとMicrosoft Active Directory(AD)を活用されている企業では、「AWS SSO」を利用することにより、アカウント管理が強化されることでしょう。

現在、AWS SSOの「Directory Service」は「Microsoft Active Directory(AD)」にしか、対応してませんが、今後、LDAPなどにも対応することを期待してます。

 

今後もAWSの追加機能が楽しみですね。