LoginSignup
0
2

More than 1 year has passed since last update.

IAM Identity Centerを使って複数アカウント管理する。(その4:GHECへのSAML)

Last updated at Posted at 2023-05-01

はじめに

前回はIAM Identity Centerに外部AWSアカウントへのSAML認証による接続を行いました。

今回は、GitHubへSAML認証による接続を行ってみようと思います。

前提条件

GitHubSAML認証を使用するためには、GitHub Organizationを使用しており、かつGitHub Enterprise CloudGHEC)を使用している必要があります。

つまり、GitHubの料金体系で言うと、最上位のEnterpriseを使用しており、Organizationを構成している必要があります。

そのため、残念ながら個人用途のフリープランやTeamプランでは使用することができません。

もし導入前に検証等行いたい場合は、Enterpriseのトライアルを利用することでEnterpriseの機能を確認することも可能なため、Enterpriseの契約前に無料のトライアルを申し込むことをおすすめします。
※今回の記事もトライアルを申し込んで検証しました。

また、GitHubSAMLを使用する場合、Organization(組織)とEnterprise(企業)の認証においてSAMLを利用することができますが、今回はOrganizationの認証にSAMLを使用する前提で進めます。

接続構成

以下より設定手順を紹介していきますが、GitHubEnterpriseプランを利用してすでにOrganizationの構成ができている前提で進めます。

前回外部AWSアカウントに接続する際の設定では、自組織、外部組織と分けて設定していきましたが、今回は外部組織側がGitHubになります。

自組織側でやる設定の大まかな流れは変わらず、前回と同様、外部組織(今回はGitHub)接続用のアプリケーションを作成して接続するための設定を行う流れとなります。

構成のイメージがしやすいよう前回と内容を合わせるため、今回も自組織がIAM Identity Center、外部組織がGitHubとして紹介していきます。

SAMLメタデータの取得(外部組織)

前回の内容で言うと、自組織側のアプリケーション追加時に設定した「アプリケーションメタデータ」の「アプリケーションACS URL」と「アプリケーションSAML対象者」にあたるSPメタデータを先にダウンロードしておきます。

メタデータのURLは「https://github.com/orgs/ORGANIZATION/saml/metadata」(ORGANIZATIONは自分のOrganization名)となるため、上記URLにアクセスし、表示されたXMLをページ保存等でダウンロードしておきます。

アプリケーションの追加(自組織)

IAM Identity Centerに外部組織用のアプリケーションを追加するため、「IAM Identity Center」→「アプリケーション割り当て」→「アプリケーション」から「アプリケーションを追加」を選択して設定していきます。

Monosnap_20230315_190110.png

カスタムアプリケーション」と「事前統合アプリケーション」があるので、「事前統合アプリケーション」から「GitHub」を選択して「」に進みます。
※執筆時、英語表記となってしまったため英語表記のまま進めます。実際に設定する場合は適宜読み替えてください。

Monosnap_20230329_173913.png

今回はGitHub側に登録するURL等確認する必要があるので、「View step-by-step instructions」を選択。

Monosnap_20230329_191335.png

別ウィンドウでセットアップ手順が書かれた以下のようなページが開くため、開いたままにしておき、元のウィンドウの「IAM Identity Center metadata」より「IAM Identity Center Certificate」をダウンロードしておきます。(※別ウィンドウでも同じIAM Identity Center証明書がダウンロードできます)

Monosnap_20230329_174431.png

Monosnap_20230329_180715.png

Configure application」(ディスプレイ名等)は任意で入力、「Application properties」はそのまま空欄とし、「Application metadata」で「Upload application SAML metadata file」を選択し、先程事前にダウンロードしたGitHubのSPメタデータを選択して「Submit」します。

Monosnap_20230329_181146.png

Assign Users」を選択して、外部組織にアクセスさせたいユーザ・グループを選択します。

Monosnap_20230329_181659.png

Monosnap_20230329_181805.png

SAMLの有効化(外部組織)

GitHubOrganizationSAML設定が可能なユーザでログインし、右上のユーザアイコンから「Your organizations」より自組織の「Settings」を選択。

Monosnap_20230329_182738.png

左メニューの「Authentication security」に「SAML single sign-on」の項目があり、「Enable SAML authentication」のチェックを付けると以下のような設定項目が表示されるため、先程のIAM Identity Centerの設定時に別ウィンドウで開いたセットアップ手順に記載されている「Single sign-on URL」と「Issuer」を入力、「Public certificate」には、先程ダウンロードした「IAM Identity Center Certificate」の内容をコピペします。

また、鉛筆アイコンより「RSA-SHA256」、「SHA256」を指定しておきます。

項目 設定
Sign on URL ステップバイステップ手順のSingle sign-on URL
Issuer ステップバイステップ手順のIssuer
Public certificate IAM Identity Centerの証明書
Signature Method RSA-SHA256
Digest Method SHA256

Monosnap_20230329_183318.png

全て設定できたら「Test SAML configuration」を選択することで、接続テストが行われます。

初回はIAM Identity CenterGitHubのユーザ情報入力が求められるかと思うので、無事IAM Identity CenterSAMLでログインできれば、以下のように無事テストが成功した画面となるため、最後に「Save」して終了です。

Monosnap_20230329_184424.png

属性マッピングの設定(自組織)

前回は属性マッピングの設定も手動で行いましたが、GitHubの場合は特に変更する必要が無いため、設定は行いません。

ちなみに、デフォルトでは以下のようなアトリビュートが設定されます。

User attribute in the application Maps to this string value or user attribute in IAM Identity Center Format
Subject ${user:email} unspecified
Email ${user:email} unspecified

IAM Identity Centerからのログイン(自組織)

上記までの手順を実施することで、IAM Identity Centerのポータル画面にGitHubへログインするためのアプリケーションが表示されるようになっているため、表示されているアプリケーションを選択することでGitHubにログインできるようになります。

Monosnap_20230329_185303.png

おわりに

GitHubの場合、Enterpriseでないといけなかったりする条件はありますが、基本的にはIAM Identity Centerの設定画面から確認できるステップバイステップの手順を見ればすんなり設定できるかと思います。

ただし、ステップバイステップの手順に書かれている「IdP Initiated SSO」の設定がGitHubの画面では見つからなかったり、手順通りに進めるとIAM Identity CenterGitHubを行ったり来たりする必要があったりするため、今回紹介した流れで設定したほうが良いと思います。

また、GitHub側の認証を一度通せばIAM Identity Centerから直接GitHubへ接続できるようになりますが、GitHub側でログアウトすると、再度SAML接続した際、GitHub側のユーザ、パスワードの入力は求められてしまうようです。(ドキュメントが見つけられませんでしたが、もしかしたら設定次第でどうにかなるかも?)

GitHub側の設定でOrganizationに所属のメンバー全員にSAML認証を要求することもできるため、GitHubの認証とIAM Identity Centerの認証をSAMLにまとめたいといった場合は今回の手順を参考にしてもらえればと思います。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2