APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

HCP Terraform で Microsoft Entra ID の SSO を設定する手順

こんにちは、ACS 事業部の埜下です。

本記事では HCP Terraform へのログインに Microsoft Entra ID を使った SSO (シングル サインオン) を設定する手順を紹介します。

HCP Terraform には無償の「Free」と有償の「Standard」「Plus」というプランがありますが、SSO によるログインはどのプランでもご利用できます。

公式ドキュメントの手順をベースにスクリーンショット多めに説明していますので、事前に SSO 設定の流れを把握したいときなどに参照ください。

developer.hashicorp.com

developer.hashicorp.com

SSO 設定

HCP Terraform と Microsoft Entra ID を交互に設定していきます。

1. HCP Terraform

HCP Terraform のメニューから [Settings] → [SSO] と辿っていき、SSO の設定を始めます。

SSO セットアップ画面

SSO プロバイダには「Microsoft Entra ID(画面は旧称のままです……)」「Okta」「SAML」から選択できます。 今回は Microsoft Entra ID を使った SSO を設定します。

SSO プロバイダに Microsoft Entra ID を選択(名称変わってない)

プロバイダを選択すると設定画面が表示されますが、HCP Terraform での作業は一旦保留して Microsoft Entra ID 側の作業に移ります。

SSO 設定画面で中断

2. Microsoft Entra ID

Azure ポータルから「Microsoft Entra ID」を表示して、ブレード メニューから [エンタープライズ アプリケーション] を選択します。

Microsoft Entra ID を表示

すべてのアプリケーションが表示されるので、[新しいアプリケーション] を選択します。

新しいアプリケーションを追加

ギャラリーの検索窓に「Terraform Cloud」と入力して、検索された「Terraform Cloud」からアプリケーションを作成します。

「Terraform Cloud」を作成

「Terraform Cloud」アプリケーションを追加できたら、アプリケーションのブレード メニューから [シングル サインオン] を選択し、シングル サインオンの設定画面を表示します。 シングル サインオン方式の選択画面では「SAML」を選択します。

シングル サインオン方式 SAML を選択

SAML のセットアップ画面が表示されますが、ここでは [3. SAML 証明書] の「アプリのフェデレーション メタデータ URL」の値をコピーして、もう一度 HCP Terraform の画面に戻ります。

アプリのフェデレーション メタデータ URL をコピー

3. HCP Terraform

先ほどコピーした URL を [App Federation Metadata URL] に入力して設定を保存します。

アプリのフェデレーション メタデータ URL を入力

Free プランの場合はチームに関するメッセージが表示されます。

Free プランの場合のメッセージ

HCP Terraform 側の SSO の設定ができると Microsoft Entra ID 側の設定に必要な情報が表示されるので、[Entity ID (Audience)] と [Reply URL] の値を控えておきます。 この時点ではまだ SSO によるログインはできません。

SSO 設定内容

4. Microsoft Entra ID

またまた Microsoft Entra ID 側に戻って SAML セットアップの続きを進めていきます。

[1. 基本的な SMAL 構成] を編集します。

基本的な SAML 構成を編集

[識別子(エンティティ ID)] には「Entity ID (Audience)」、[応答 URL (Assertion Consumer Service URL)] には「Reply URL」の値を入力して保存します。

識別子と応答 URL を入力

つぎに [3. SAML 証明書] の「証明書 (Base64)」をダウンロードします。

証明書 (Base64) をダウンロード

「Terraform Cloud」アプリケーションのブレード メニューから [ユーザーとグループ] を選択して、「ユーザーまたはグループの追加」から SSO によるログインを許可する Microsoft Entra ID のユーザーやグループを選択します。

ユーザーまたはグループを追加

Microsoft Entra ID 側の作業は以上で完了です。

5. HCP Terraform

最後に HCP Terraform 側の設定をしていきます。

SSO の画面から設定を編集します。

SSO 設定を編集

Microsoft Entra ID でダウンロードした証明書の内容を [Public Certificate] に入力して保存します。

ダウンロードした証明書の内容を記入

設定は以上で完了ですが、SSO のテストをして問題なければ SSO を有効化します。

SSO 設定画面の [Test] ボタンを選択すると Microsoft の認証画面が表示されるので、「Terraform Cloud」アプリケーションに追加したユーザーのアカウントでログインします。

SSO テスト

Microsoft Entra ID のアカウントでログイン

Microsoft Entra ID のアカウントで HCP Terraform へのログインが成功するとテストのステータスが Successful に変わります。 これで SSO の設定に問題がないことが確認できましたが、まだ SSO を使ったログインは無効状態のままです。

[Enable] ボタンを選択して SSO を有効化します。

SSO テスト成功、SSO 有効化

Microsoft Azure AD を有効にすると、現在アクセス権を持っているユーザーが会社のドメインを使用していない場合、サインインできなくなる可能性があります。

という警告メッセージが表示されるので、内容を確認して有効化します。

警告メッセージ

これで Microsoft Entra ID を使った SSO ログインが有効化されました。

SSO 有効状態

SSO ログイン確認

HCP Terraform に対して SSO を使ってログインできるか確認してみます。

HCP Terraform のログイン画面 (https://app.terraform.io/session) にアクセスします。 下のほうに [Sign in with Terraform SSO.] とあるので選択します。

SSO でログイン

SSO を有効化した Organization の名前を入力します。

Organization 指定

テストのときと同様に Microsoft Entra ID の認証画面になるので、今回は HCP Terraform に登録されていないアカウントでログインします。

Microsoft Entra ID のアカウントでログイン

すると HCP Terraform 側のアカウント作成画面が表示されるので、パスワードを入力してアカウントを作成します。

新規の場合はアカウント作成

HCP Terraform にアカウントが作成されたので、あらためてパスワードを入力するとログインできました。

パスワード入力

しかし、この時点では HCP Terraform アカウントのパスワードで入力していて SSO でのログインではありません。

ログイン

HCP Terraform アカウントに紐づくメールアドレスに確認メールが届くので、こちらからアカウントのメールアドレスの確認ができたら SSO でのログインができるようになります。

確認メール

以上で、Microsoft Entra ID を使った SSO の設定と、ログイン確認の手順は終了です。

お疲れ様でした。


【PR】
私達ACS事業部はAzure・AKSなどのクラウドネイティブ技術を活用した内製化のご支援をしております。

www.ap-com.co.jp

一緒に働いていただける仲間も募集中です!
まだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。
我々の事業部のCultureDeckはコチラ。

www.ap-com.co.jp

本記事の投稿者: 埜下 太一
Azure をメインにインフラ系のご支援を担当しています。
個人ブログ