【ノウハウ公開】AWS Single Sign-On(SSO)の実装方法を解説

2021.08.30
DX・システム開発
金昌洙
【ノウハウ公開】AWS Single Sign-On(SSO)の実装方法を解説
SHARE ON
  • FaceBook
  • Twitter
  • LINE
  • Note

こんにちは。Wakka Inc.日本拠点インフラエンジニアの金です。

みなさんの会社ではAWSの権限管理の効率化をされていますか?

複数人でプロジェクトの開発や運用を行う場合、アカウント管理に悩む管理者も多いかと思います。例えば、新しく社員が入社するとアカウントを1から作成する必要があります。また、せっかく入社時にログインやパスワードを発行しても利用する際にユーザーが忘れてしまい、再発行を求められるケースも珍しくありません。

AWSではアカウント管理を簡素化したい管理者のために、Single Sign-ON(SSO)を利用してアカウントを一元管理できるサービスを提供しています。SSOを使えば比較的カンタンに権限管理の手間を削減することが可能です。そこで今回はAWS SSOの概要とメリット、実装方法について解説します。

目次

●開発リソースの不足にお悩みなら●

>>>Wakka.Inc独自の海外子会社設立サービスがおすすめ!
無料でサービス資料をダウンロードできますのでぜひご覧ください。

AWS SSOとは?

『AWS SSO』とは、AWS Single Sign-Onの略称で、AWS Organizationsにあるすべてのアカウントの権限を一元管理できるサービスです。簡単にいえば、AWSでSSOができるようにしてくれるサービスです。AWS SSOを利用すればAWSで構築されたポータルサイトからAWSコンソールにアクセスすることも可能です。また、awscli v2を使えばAWS APIにもアクセスすることもできます。1度ユーザー認証してしまえばすべてのアプリケーションに対する許可が許されるので、開発や運用を任されているエンジニアは作業負担が少なくなるでしょう。

ただ、SSOについてまだ良く分からないという方もいると思いますので、実装方法を紹介する前に、まずSSOについて具体的に解説します。

SSOとは?

SSOとは、Single Sign-Onの略称で、ユーザーごとに統一されたひとつのIDとパスワードを使用して、一度認証をクリアすれば、すべてのアプリケーションにアクセスできるという認証方式です。

通常のログイン方式と比較すると、通常は複数のWebサービスにログインするためにはそれぞれのログインとパスワードが必要になります。例えば、Webサービス「A」には、ID:user1 pass:user1でログインし、Webサービス「B」はID:user2 pass:user2で認証するという形です。各Webサービスにそれぞれのログインとパスワードが設けられているため、アクセスの度に認証が求められるため、よく使うサービスでは手間がかかります。

一方、SSOの認証においてはIDプロバイダで認証をクリアすればすべてのWebサービスでアクセスが可能です。アクセスをする度に認証を求められることはありませんし、使用するIDとパスワードの組み合わせも社員1人につき1つの組み合わせだけになります。そのため、SSOを利用すれば認証の際のユーザーの利便性向上などが期待できます。

AWS SSOのメリット

AWS SSOを利用することで、獲得できるメリットは下記の通りです。

  • 管理者の業務負担の軽減
  • 業務の効率化
  • セキュリティの強化

それぞれのメリットについて具体的に解説します。

管理業務の負担軽減

1つ目のメリットは、管理業務の負担が軽減されることです。

1人の社員が複数のアカウントを所有していると、さまざまなトラブルが発生します。そのひとつとして挙げられるのが、アカウント情報を忘れてしまう問題です。社員にしっかりと管理して貰えば問題ないと思われる方もいるかもしれませんが、さまざまなサービスを利用していると、しっかりとした人でもアカウント情報が混ざってしまい分からなくなることも珍しくありません。また、毎日すべてのサービスにアクセスするわけではないので、1ヶ月に1回などログイン回数が少ないと忘れてしまいやすくなるでしょう。社員が忘れる度に、管理者は新規アカウントの作成をしなければならないため、とても負担が大きくなります。

また、複数のログインIDを使用していると管理者の新規発行の工数が非常にかかります。例えば、新しく社員が入社したとき、すべてのサービスのアカウントを作成し、発行しなければなりません。社員ごとの発行状況を管理するのも一手間なので、大変な業務となってしまいます。

一方、SSOを利用すれば、アカウント情報は1つだけです。開発に関わる方ならばSSOのIDとパスワードは毎日使うものですし、サービスごとに複数IDを管理する必要がないためユーザーは複雑なパスワードでも忘れにくくなります。また、新入社員が入社する際も発行すべきアカウントは1人につき1つだけになるので管理業務が大幅に改善されます。

業務の効率化

2つ目のメリットは、業務の効率化です。

通常のログイン方式の場合、サービスにアクセスする度に認証を求められます。ログインIDとパスワードの入力に時間が取られるため、複数サービスを利用するユーザーにとっては非常に利便性が低くなります。

一方、SSOを利用すれば、認証するのは1度だけになります。IDとパスワードを確認する時間が大幅に短縮され、その時間をコア業務に割り当てられるため、作業効率の向上を見込むことができます。

セキュリティの強化

3つ目のメリットは、セキュリティの強化です。

SSOを利用する場合、それぞれのサービスに紐づくIDとパスワードのアカウント情報を管理する必要がないため、各サービスベンダーからの情報漏洩のリスクが減ります。また、ユーザーのパスワードの使いまわしが少なくなったり、万が一のときも管理者がアクセス制限をかけられたりするので、不正アクセスの防止につなげられるでしょう。

AWS SSOのデメリット

AWS SSOは、認証や権限管理を容易にするため、それに伴うデメリットもあります。具体的なデメリットは下記の通りです。

ログイン情報が流出してしまうと非常に危険

万が一、SSOのログイン情報が漏洩してしまったときは、大きなリスクとなります。1つのログイン情報ですべてのサービスにログインすることができるため、悪意のある第三者がその情報を入手してしまうと、すべてのサービスにアクセスする権限を与えてしまうことになるのです。

たとえば、SSOでポータルサイトとAWSの認証をしている場合、ポータルサイトからAWSコンソールまでログインし、操作されてしまうこともあります。また、AWS SSOはSalesforceやMicrosoft 365など、さまざまなビジネスツールと連携できるため、多くのサービスと連携している場合、それに対するアクセスも許可してしまうことになります。SSOのIDとパスワードは流出すると危険なので、漏洩してしまわないように適切に管理したり、SMSなどでの二段階認証をすることが大切です。

システムが停止するとログインができなくなる

2つ目のデメリットは、SSOに関わるシステムが停止するとすべてのアプリケーションにログインできなくなる恐れがあることです。そのため、重要なサービスに関しては万が一のトラブルが発生してもログインできる体制を整えておく必要があります。

AWS SSOを実装する手順

最後に、AWS SSOを実装する手順について解説します。導入を検討している方はぜひ参考にしてください。

1.下記のURLからAWSコンソールにアクセスします。
https://eu-west-1.console.aws.amazon.com/console/

3.コンソール上部のサービス検索フォームに「aws sso」と入力してください。サービス検索結果一覧の中の「AWS Single Sign-On」をクリックします。

4.画面中央にある「AWS SSOを有効にする」というボタンをクリックしてください。

5.AWS SSOは正常に有効化されましたと表示されれば成功です。

6.次に、ユーザーを作成します。左のメニューからユーザーをクリックしてください。

7.「ユーザーを追加」ボタンをクリックします。

8.ユーザー情報を追加してください。

9.次に、グループを作成します。「グループの作成」ボタンをクリックしてください。

10.グループ名及び説明を入力します。

11.作成したグループのチェックボックスにチェックを入れて、ユーザーを追加すれば完了です。

12.次は、実際にSSOを利用してログインします。SSOのダッシュボードからユーザーポータルの項目の中にあるユーザーポータルのURLをクリックしてください。

13.SSOの認証画面に移ります。先ほど入力したメールアドレスとそのメールアドレスに届いたパスワードを入力すればサインインすることが可能です。以上でSSOの実装に関する解説を終了します。

AWS SSOを利用してログイン権限管理を簡素化しよう

今回はAWS SSOの概要とメリット、実装方法について解説しました。SSOを利用することで業務の効率化や管理者業務の負担権限など、さまざまなメリットを得ることができるので、正しく理解し二段階認証などと組み合わせながら利用することをおすすめします。

Wakka Inc.では、IT開発に関わるエンジニアの方向けに、PHPやAWSなど役立つ情報を配信しています。また、ITコンサルティングやオフショア・ラボ開発など、日常のリソース不足の悩みを解決するサービスも提供していますので、興味のある方はまずはお気軽に以下リンクからお問い合わせください。

フルスクラッチのシステム開発のご相談はWakka.incまで

Wakka inc.では、専門性の高いチームがお客様のニーズに寄り添い、フルスクラッチでのオーダーメイド開発はもちろん、業務のIT化・開発リソースの確保など、ビジネスの成功に向けて着実にサポートします。
サポートの概要や費用感など、下記のお問い合わせフォームよりお気軽にご連絡ください。(構想段階で形になっていないアイデアでも問題ありません)

また、ラボ型開発やビジネスに関する豊富な資料も用意しています。お気軽にこちらからダウンロードください。

この記事を書いた人
金昌洙

前世は社内ネットワーク部門でインフラ担当していました。当時4Uサーバーの重さに限界を感じ、クラウド推進派に。Wakka Inc.の日本拠点にインフラエンジニアとして参画し、サーバー・ネットワーク全般を担当。最近はDocker・CI/CDなどに取り組んでいます。

  • ホーム
  • ブログ
  • 【ノウハウ公開】AWS Single Sign-On(SSO)の実装方法を解説