Microsoft Entra IDによるシングルサインオンを利用する
概要¶
Microsoft Entra IDによるシングルサインオンを利用するための設定手順です。
制限事項¶
- Pleasanter.net共有環境ではSAML認証は利用できません。
- プリザンターにはSPメタデータを発行する機能がありません。SP側のメタデータをIdPに登録することはできません。
- 運用環境ではhttpsを使用してください。httpはローカル検証・開発用途に限ります。
前提条件¶
- Microsoft Entra IDのテナントが存在し、エンタープライズアプリケーションを作成する権限があること。
操作手順¶
1. Entra ID側にエンタープライズアプリケーションを作成する¶
- Microsoft Entra 管理センター にサインインしてください。
- 画面左のメニューから「エンタープライズ アプリ」を開き、「新しいアプリケーション」をクリックしてください。
- 「独自のアプリケーションの作成」を選択し、アプリ名(例:Pleasanter)を入力して「作成」してください。
- 作成したアプリケーションを開き、「シングル サインオン」→SAMLを選択してください。
2. Entra ID側にSP情報を登録する¶
- 「基本的なSAML構成」セクションの「編集」をクリックし、以下の値を入力してください。
【サーバ名】はプリザンターが動作しているサーバのURLに置き換えてください。
| 項目 | 設定値 |
|---|---|
| 識別子 (Entity ID) | 【サーバ名】/Saml2 |
| 応答 URL (ACS URL) | 【サーバ名】/Saml2/Acs |
- 入力後、「保存」をクリックしてください。
3. メタデータURLとテナント情報を取得する¶
以下の手順で「Authentication.json」の設定に必要な値を取得してください。
- 同じシングル サインオン設定画面で、「SAML 署名証明書」セクションにある「アプリのフェデレーション メタデータ URL」を控えてください。これがMetadataLocationに設定する値です。
- 「属性とクレーム」セクションを開き、「Microsoft Entra 識別子」の値(https://sts.windows.net/【テナントID】/ の形式)を控えてください。これがEntityIdに設定する値です。
- アプリケーションの「プロパティ」から「アプリケーション ID」を控えてください。これがMetadataLocationのURLに含まれるappidパラメータの値です。
4. Authentication.jsonを編集する¶
プリザンターサーバ上の「Authentication.json」を開き、以下の設定例を参考に編集してください。
- SPOptions.EntityIdとSPOptions.ReturnUrlの【サーバ名】は、手順2でEntra IDに登録した「識別子 (Entity ID)」および「応答 URL」と一致させてください。
- 【テナントID】と【アプリID】は、手順3で取得した値に置き換えてください。
{
"Provider": "SAML",
"SamlParameters": {
"Attributes": {
"Name": "Name",
"UserCode": "UserCode",
"Birthday": "Birthday",
"Gender": "Gender",
"Language": "Language",
"TimeZone": "TimeZone",
"TenantManager": "TenantManager",
"DeptCode": "DeptCode",
"Dept": "Dept",
"Body": "Body",
"MailAddress": "{NameId}"
},
"SamlTenantId": 1,
"DisableOverwriteName": false,
"NotCreatePersistentCookie": false,
"SPOptions": {
"EntityId": "https://【サーバ名】/Saml2",
"ReturnUrl": "https://【サーバ名】/Users/SamlLogin",
"AuthenticateRequestSigningBehavior": "IfIdpWantAuthnRequestsSigned",
"OutboundSigningAlgorithm": "https://www.w3.org/2001/04/xmldsig-more#rsa-sha256",
"MinIncomingSigningAlgorithm": "https://www.w3.org/2001/04/xmldsig-more#rsa-sha256",
"IgnoreMissingInResponseTo": false,
"PublicOrigin": null,
"ServiceCertificates": []
},
"IdentityProviders": [
{
"EntityId": "https://sts.windows.net/【テナントID】/",
"SignOnUrl": "https://login.microsoftonline.com/【テナントID】/saml2",
"LogoutUrl": null,
"AllowUnsolicitedAuthnResponse": true,
"Binding": "HttpPost",
"WantAuthnRequestsSigned": false,
"DisableOutboundLogoutRequests": true,
"LoadMetadata": true,
"MetadataLocation": "https://login.microsoftonline.com/【テナントID】/FederationMetadata/2007-06/FederationMetadata.xml?appid=【アプリID】",
"SigningCertificate": null
}
]
}
}
5. IISを再起動して動作確認する¶
- IISを再起動してください。
- ブラウザでプリザンターにアクセスしてください。
- ログイン画面に「SSOログイン」ボタンが表示されていることを確認し、クリックしてEntra IDでのログインを確認してください。
対応バージョン¶
| 対応バージョン | 内容 |
|---|---|
| 1.4.8.0 以降 | NotCreatePersistentCookieを追加 |
| 1.2.6.0 以降 | 機能追加 |
