こんにちは、ACS 事業部の埜下です。
本記事では HCP Terraform へのログインに Microsoft Entra ID を使った SSO (シングル サインオン) を設定する手順を紹介します。
HCP Terraform には無償の「Free」と有償の「Standard」「Plus」というプランがありますが、SSO によるログインはどのプランでもご利用できます。
公式ドキュメントの手順をベースにスクリーンショット多めに説明していますので、事前に SSO 設定の流れを把握したいときなどに参照ください。
SSO 設定
HCP Terraform と Microsoft Entra ID を交互に設定していきます。
1. HCP Terraform
HCP Terraform のメニューから [Settings] → [SSO] と辿っていき、SSO の設定を始めます。
SSO プロバイダには「Microsoft Entra ID(画面は旧称のままです……)」「Okta」「SAML」から選択できます。 今回は Microsoft Entra ID を使った SSO を設定します。
プロバイダを選択すると設定画面が表示されますが、HCP Terraform での作業は一旦保留して Microsoft Entra ID 側の作業に移ります。
2. Microsoft Entra ID
Azure ポータルから「Microsoft Entra ID」を表示して、ブレード メニューから [エンタープライズ アプリケーション] を選択します。
すべてのアプリケーションが表示されるので、[新しいアプリケーション] を選択します。
ギャラリーの検索窓に「Terraform Cloud」と入力して、検索された「Terraform Cloud」からアプリケーションを作成します。
「Terraform Cloud」アプリケーションを追加できたら、アプリケーションのブレード メニューから [シングル サインオン] を選択し、シングル サインオンの設定画面を表示します。 シングル サインオン方式の選択画面では「SAML」を選択します。
SAML のセットアップ画面が表示されますが、ここでは [3. SAML 証明書] の「アプリのフェデレーション メタデータ URL」の値をコピーして、もう一度 HCP Terraform の画面に戻ります。
3. HCP Terraform
先ほどコピーした URL を [App Federation Metadata URL] に入力して設定を保存します。
Free プランの場合はチームに関するメッセージが表示されます。
HCP Terraform 側の SSO の設定ができると Microsoft Entra ID 側の設定に必要な情報が表示されるので、[Entity ID (Audience)] と [Reply URL] の値を控えておきます。 この時点ではまだ SSO によるログインはできません。
4. Microsoft Entra ID
またまた Microsoft Entra ID 側に戻って SAML セットアップの続きを進めていきます。
[1. 基本的な SMAL 構成] を編集します。
[識別子(エンティティ ID)] には「Entity ID (Audience)」、[応答 URL (Assertion Consumer Service URL)] には「Reply URL」の値を入力して保存します。
つぎに [3. SAML 証明書] の「証明書 (Base64)」をダウンロードします。
「Terraform Cloud」アプリケーションのブレード メニューから [ユーザーとグループ] を選択して、「ユーザーまたはグループの追加」から SSO によるログインを許可する Microsoft Entra ID のユーザーやグループを選択します。
Microsoft Entra ID 側の作業は以上で完了です。
5. HCP Terraform
最後に HCP Terraform 側の設定をしていきます。
SSO の画面から設定を編集します。
Microsoft Entra ID でダウンロードした証明書の内容を [Public Certificate] に入力して保存します。
設定は以上で完了ですが、SSO のテストをして問題なければ SSO を有効化します。
SSO 設定画面の [Test] ボタンを選択すると Microsoft の認証画面が表示されるので、「Terraform Cloud」アプリケーションに追加したユーザーのアカウントでログインします。
Microsoft Entra ID のアカウントで HCP Terraform へのログインが成功するとテストのステータスが Successful
に変わります。
これで SSO の設定に問題がないことが確認できましたが、まだ SSO を使ったログインは無効状態のままです。
[Enable] ボタンを選択して SSO を有効化します。
Microsoft Azure AD を有効にすると、現在アクセス権を持っているユーザーが会社のドメインを使用していない場合、サインインできなくなる可能性があります。
という警告メッセージが表示されるので、内容を確認して有効化します。
これで Microsoft Entra ID を使った SSO ログインが有効化されました。
SSO ログイン確認
HCP Terraform に対して SSO を使ってログインできるか確認してみます。
HCP Terraform のログイン画面 (https://app.terraform.io/session) にアクセスします。 下のほうに [Sign in with Terraform SSO.] とあるので選択します。
SSO を有効化した Organization の名前を入力します。
テストのときと同様に Microsoft Entra ID の認証画面になるので、今回は HCP Terraform に登録されていないアカウントでログインします。
すると HCP Terraform 側のアカウント作成画面が表示されるので、パスワードを入力してアカウントを作成します。
HCP Terraform にアカウントが作成されたので、あらためてパスワードを入力するとログインできました。
しかし、この時点では HCP Terraform アカウントのパスワードで入力していて SSO でのログインではありません。
HCP Terraform アカウントに紐づくメールアドレスに確認メールが届くので、こちらからアカウントのメールアドレスの確認ができたら SSO でのログインができるようになります。
以上で、Microsoft Entra ID を使った SSO の設定と、ログイン確認の手順は終了です。
お疲れ様でした。
【PR】
私達ACS事業部はAzure・AKSなどのクラウドネイティブ技術を活用した内製化のご支援をしております。
一緒に働いていただける仲間も募集中です!
まだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。
我々の事業部のCultureDeckはコチラ。