はじめに
本ブログでは、SAP Cloud Identity ServicesのIdentity Authentication(SAP IAS)とSAP S/4HANAの間でSAML 2.0プロトコルを使用してシングルサインオン(SSO)を構成する方法について説明します。この設定により、ユーザーは一度の認証で複数のアプリケーションにアクセスできるようになります。
目次
SAML 2.0 とは?SAP IAS <-> SAP S/4HANA の接続 セットアップ手順動作確認まとめ
1. SAML 2.0 とは?
SAML (Security Assertion Markup Language) 2.0 は、異なるドメイン間での認証と認可情報の交換を標準化するためのXMLベースのフレームワークです。
SAML 2.0の基本概念
アイデンティティプロバイダー (IdP):ユーザーの認証を行い、SAMLアサーションを生成するエンティティ。今回の例では、SAP IASがIdPとして機能します。サービスプロバイダー (SP):IdPからのSAMLアサーションを受け取り、ユーザーにサービスを提供するエンティティ。今回の例では、SAP S/4HANAがSPとして機能します。SAMLアサーション:IdPが生成し、SPに送信する認証情報を含むXML文書。これにより、ユーザーが認証されたことを証明します。シングルサインオン (SSO):一度の認証で複数のサービスにアクセスできる仕組み。ユーザーは一度IdPで認証されると、他のSPにもシームレスにアクセス可能です。
SAML 2.0の利点
セキュリティの向上:ユーザーのパスワードを各サービスプロバイダーに保存する必要がなく、セキュリティリスクを軽減します。ユーザーエクスペリエンスの向上:一度のログインで複数のサービスにアクセスできるため、ユーザーの利便性が向上します。統合管理:IdPを中心とした認証管理により、ユーザーアカウントの管理が容易になります。
2. SAP IAS <-> SAP S/4HANA の接続 セットアップ手順
本セクションでは、SAP IASとSAP S/4HANA の間でのSAML2.0セットアップ手順について、画面を交えてご紹介します。基本的な内容は下記SAP Help Portalに依存しますので、公式な内容はこちらをご参照ください。
SAP IASのSAMLメタデータを取得する
この章では、SAP IASのSAMLデータを取得し、またSAP IASとSAP S/4HANA の間で暗号化通信を行うために、SAP IAS上で生成された証明書を取得し、そこから公開鍵を抽出するまでの手順を示します。
SAP IASのテナントにアクセスし、「Applications & Resources」->「Tenant Settings」->「SAML 2.0 Configuration」へ移動します。ここでは、SAP IASのSAML2.0に関する設定を行うことができます。
画面右側の「Download Metadata File」をクリックし、メタデータをダウンロードします。本ブログ内では、こちらのメタデータを「metadata_IAS.xml」として扱います。Signing Certificate セクションに証明書がない場合には「add」ボタンから追加してください。この証明書のActionからメガネマークのDisplayをクリックすると、証明書の中身を確認することができます。
証明書情報をコピーします。
お手元のテキストエディタで「cert.cer」というファイルを生成し、下記のようにペーストします。
—–BEGIN CERTIFICATE—–
<コピーした証明書の内容>
—–END CERTIFICATE—–
ローカルファイルシステムで前述の「cert.cer」を保存したディレクトリに移動し、下記のコマンドを実行します。今回はopensslというツールを用いて、証明書から公開鍵を抽出し、「public_key.cer」というファイルに格納しています。
openssl x509 -in cert.cer -pubkey -noout > public_key.cer
これにより、下記のような公開鍵が生成されます。なお下記に示す公開鍵は形式を表すためのものであり、ダミーです。
—–BEGIN PUBLIC KEY—– MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArVRlbWhP4Zc6XT9z+p7E 4F8o2X/o/LC/QQ08QR+F/LkE1EFi/V2YdMsa6yYB3gwn/A8Tv5e3AGsrfFL53G+o
B8MULygouF3WQ <公開鍵のイメージ> +B8MULygouF3WQB8MULygouF3WQB8MU odPUI4ML8pX5Sz1OG+NwzSHB6NxFg80URpj/D1fqu3WvVZcUGBNryICMeWXGfLhZ R7u4odCZzg+0LKwO14O6UkD4ftIJeUCNL8Ne3bX0y8WsVsAi+iwOuhF0Z0HD2V5T MRAkfw9BkTSJX4A9cwJfH/BUPsCU5kPm/xkTY2U76Y4YIozBPMDNEQa9MP7QWx/N
—–END PUBLIC KEY—–
SAP IAS上でSAP S/4HANAを指すApplicationを作成する
SAP IAS に登録するApplicationとは、SAP IAS と連携する先のアプリケーションを意味します。今回はSAP S/4HANA を追加していきます。SAP IASのテナントにアクセスし、「Applications & Resources」->「Applications」 へ移動します。
Createボタンをクリックし、新しいApplicationを追加します。Applicationのタイプとして「SAP on-premise solution」 を選択します。
ABAP PlatformをSAMLサービスプロバイダーとして有効化する
この章では、SAP S/4HANAをSAMLにおけるSPとして登録するための設定を行います。
SAP GUIを起動し、適切な権限を持ったユーザーとしてSAP S/4HANA にログオンしたのち、トランザクションコード 「SAML2」 を起動します。
ブラウザが立ち上がります。「Enable SAML2.0 Support」 -> 「Create SAML 2.0 Local Provider」の順にクリックします。
今回、SPはSAP S/4HANA自身が該当します。したがって名前は 「S4PCE」 としました。必要に応じて、お好きな名前を入力します。「Next」をクリックします。
デフォルトの設定で「Next」をクリックします。
こちらもデフォルトのまま「Finish」をクリックします。
これでSAP S/4HANA 自身がSPとして設定されました。したがって、次のステップとしてこのSPのメタデータをダウンロードしましょう。「metadata」をクリックします。
デフォルトのまま「Download Metadata」をクリックします。今回はこのメタデータを「metadata_S4.xml」として保存します。
SAP IASをアイデンティティプロバイダーとして信頼する
SAML2.0の仕組みにおいては、メタデータの相互交換が必要となります。まずはSAP S/4HANA に対して、SAP IASのメタデータをアプロードします。「Trusted Providers」 -> 「Add」 -> 「Upload Metadata File」 の順にクリックします。
Metadata File をクリックして、「metadata_IAS.xml」をアップロードします。「Next」をクリックして次に進みます。
アップロードされたメタデータの確認が走ります。Upload From File をクリックし、先述の「cert.cer」をアップロードします。「Next」をクリックします。
デフォルトの状態で「Next」をクリックします。
こちらもデフォルトで「Next」をクリックします。
メタデータから抽出された、SSOに用いるエンドポイントの設定が表示されます。デフォルトで「Next」をクリックします。
同様にログアウト用のエンドポイントが表示されます。デフォルト状態で「Next」をクリックします。
デフォルト状態で「Next」をクリックします。
デフォルトの状態で 「Finish」 をクリックします。
ABAP Platform クライアントのName IDフォーマットを設定する
ユーザーに関する情報を共有するためには、通信先システムが異なるIDを使用している場合でも、ユーザーを識別できる必要があります。SAML 2.0規格では、共通の識別子を確立する手段として、名前識別子(Name ID)を定義しています。この章では、このName IDを設定します。
「Identity Federation」 -> 「Add」の順にクリックします。
今回はSAP IAS に登録されたユーザーとSPA S/4HANAに登録されたユーザーをemailアドレスによって識別したいので、「E-mail」をクリックし、「OK」により確定します。
SAMLアサーション内のName IDがABAP Platform (SAP S/4HANA) 内のユーザーにどのようにマッピングされるかを設定する必要があります。このマッピングを通じて、ABAP Platformは誰がログオンしているかを識別します。SAMLアサーションで提供される情報は、ABAPプラットフォームの単一ユーザーと1対1で一致する必要があります。これを行うため、 「User ID Mapping Mode」にて、適切な項目を設定します。
最後に、「Enable」 をクリックしてIdP(SAP IAS)との間のSAML連携を有効化します。
List of Trusted Providers 内の 「Active」 の部分が緑色に変化すれば完了です。
ABAP Platformクライアントをサービスプロバイダーとして信頼する
今度は逆の信頼設定を行います。
SAP IASに移動し、「Applications & Resources」 -> 「<先ほど作成したS/4HANAを指すApplication>」 -> 「SAML 2.0 Configuration」 の順にクリックします。Metadata Fileの部分に先ほどダウンロードしておいた「metadata_S4.xml」をアップロードします。これにより、SAMLの設定に必要な情報が自動で読み込まれます。「Save」をクリックします。
ABAP Platformが使用するサブジェクトネーム識別子の設定
「Applications & Resources」 -> 「<先ほど作成したS/4HANAを指すApplication>」 -> 「Subject Name Identifier」 の順にクリックします。今回は「Email」を指定します。
動作確認
Fiori Launchpad にアクセスすると、SAMLの設定が有効化されているため、NetWeaverの画面でIdPを選択する画面が表示されます。IdP(SAP IAS)のURLを選択し、「続行」をクリックします。
SAP IAS の認証画面にリダイレクトされます。ここでは、SAP IAS に登録されたユーザーにより認証を行うことになります。
SAP IAS側のユーザーとSAP S/4HANA 側のユーザーが持つ 「email」 属性によりユーザーマッピング、識別が行われ、Subject Name Identifierで指定した項目にて、SPA S/4HANA へのログオンが行われます。
まとめ
本ブログでは、SAP Cloud Identity ServicesのIdentity AuthenticationとSAP S/4HANA間でSAML 2.0を使用したSSOの設定手順について説明しました。これにより、ユーザーは一度の認証で複数のシステム間でシームレスに認証できるようになります。適切な設定とテストを行うことで、エンタープライズ環境におけるセキュリティとユーザビリティの向上が期待できます。
参考資料
SAP Help Portal: Identity Authentication Configuration for SAP S/4HANA
https://help.sap.com/docs/cloud-identity/system-integration-guide/identity-authentication-configuration-for-sap-s-4hana
はじめに本ブログでは、SAP Cloud Identity ServicesのIdentity Authentication(SAP IAS)とSAP S/4HANAの間でSAML 2.0プロトコルを使用してシングルサインオン(SSO)を構成する方法について説明します。この設定により、ユーザーは一度の認証で複数のアプリケーションにアクセスできるようになります。目次SAML 2.0 とは?SAP IAS <-> SAP S/4HANA の接続 セットアップ手順動作確認まとめ 1. SAML 2.0 とは?SAML (Security Assertion Markup Language) 2.0 は、異なるドメイン間での認証と認可情報の交換を標準化するためのXMLベースのフレームワークです。 SAML 2.0の基本概念アイデンティティプロバイダー (IdP):ユーザーの認証を行い、SAMLアサーションを生成するエンティティ。今回の例では、SAP IASがIdPとして機能します。サービスプロバイダー (SP):IdPからのSAMLアサーションを受け取り、ユーザーにサービスを提供するエンティティ。今回の例では、SAP S/4HANAがSPとして機能します。SAMLアサーション:IdPが生成し、SPに送信する認証情報を含むXML文書。これにより、ユーザーが認証されたことを証明します。シングルサインオン (SSO):一度の認証で複数のサービスにアクセスできる仕組み。ユーザーは一度IdPで認証されると、他のSPにもシームレスにアクセス可能です。 SAML 2.0の利点セキュリティの向上:ユーザーのパスワードを各サービスプロバイダーに保存する必要がなく、セキュリティリスクを軽減します。ユーザーエクスペリエンスの向上:一度のログインで複数のサービスにアクセスできるため、ユーザーの利便性が向上します。統合管理:IdPを中心とした認証管理により、ユーザーアカウントの管理が容易になります。 2. SAP IAS <-> SAP S/4HANA の接続 セットアップ手順本セクションでは、SAP IASとSAP S/4HANA の間でのSAML2.0セットアップ手順について、画面を交えてご紹介します。基本的な内容は下記SAP Help Portalに依存しますので、公式な内容はこちらをご参照ください。https://help.sap.com/docs/cloud-identity/system-integration-guide/identity-authentication-configuration-for-sap-s-4hana SAP IASのSAMLメタデータを取得するこの章では、SAP IASのSAMLデータを取得し、またSAP IASとSAP S/4HANA の間で暗号化通信を行うために、SAP IAS上で生成された証明書を取得し、そこから公開鍵を抽出するまでの手順を示します。SAP IASのテナントにアクセスし、「Applications & Resources」->「Tenant Settings」->「SAML 2.0 Configuration」へ移動します。ここでは、SAP IASのSAML2.0に関する設定を行うことができます。 画面右側の「Download Metadata File」をクリックし、メタデータをダウンロードします。本ブログ内では、こちらのメタデータを「metadata_IAS.xml」として扱います。Signing Certificate セクションに証明書がない場合には「add」ボタンから追加してください。この証明書のActionからメガネマークのDisplayをクリックすると、証明書の中身を確認することができます。証明書情報をコピーします。お手元のテキストエディタで「cert.cer」というファイルを生成し、下記のようにペーストします。 —–BEGIN CERTIFICATE—–
<コピーした証明書の内容>
—–END CERTIFICATE—– ローカルファイルシステムで前述の「cert.cer」を保存したディレクトリに移動し、下記のコマンドを実行します。今回はopensslというツールを用いて、証明書から公開鍵を抽出し、「public_key.cer」というファイルに格納しています。 openssl x509 -in cert.cer -pubkey -noout > public_key.cer これにより、下記のような公開鍵が生成されます。なお下記に示す公開鍵は形式を表すためのものであり、ダミーです。 —–BEGIN PUBLIC KEY—– MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArVRlbWhP4Zc6XT9z+p7E 4F8o2X/o/LC/QQ08QR+F/LkE1EFi/V2YdMsa6yYB3gwn/A8Tv5e3AGsrfFL53G+o
B8MULygouF3WQ <公開鍵のイメージ> +B8MULygouF3WQB8MULygouF3WQB8MU odPUI4ML8pX5Sz1OG+NwzSHB6NxFg80URpj/D1fqu3WvVZcUGBNryICMeWXGfLhZ R7u4odCZzg+0LKwO14O6UkD4ftIJeUCNL8Ne3bX0y8WsVsAi+iwOuhF0Z0HD2V5T MRAkfw9BkTSJX4A9cwJfH/BUPsCU5kPm/xkTY2U76Y4YIozBPMDNEQa9MP7QWx/N
—–END PUBLIC KEY—– SAP IAS上でSAP S/4HANAを指すApplicationを作成するSAP IAS に登録するApplicationとは、SAP IAS と連携する先のアプリケーションを意味します。今回はSAP S/4HANA を追加していきます。SAP IASのテナントにアクセスし、「Applications & Resources」->「Applications」 へ移動します。Createボタンをクリックし、新しいApplicationを追加します。Applicationのタイプとして「SAP on-premise solution」 を選択します。ABAP PlatformをSAMLサービスプロバイダーとして有効化するこの章では、SAP S/4HANAをSAMLにおけるSPとして登録するための設定を行います。SAP GUIを起動し、適切な権限を持ったユーザーとしてSAP S/4HANA にログオンしたのち、トランザクションコード 「SAML2」 を起動します。ブラウザが立ち上がります。「Enable SAML2.0 Support」 -> 「Create SAML 2.0 Local Provider」の順にクリックします。今回、SPはSAP S/4HANA自身が該当します。したがって名前は 「S4PCE」 としました。必要に応じて、お好きな名前を入力します。「Next」をクリックします。デフォルトの設定で「Next」をクリックします。こちらもデフォルトのまま「Finish」をクリックします。これでSAP S/4HANA 自身がSPとして設定されました。したがって、次のステップとしてこのSPのメタデータをダウンロードしましょう。「metadata」をクリックします。デフォルトのまま「Download Metadata」をクリックします。今回はこのメタデータを「metadata_S4.xml」として保存します。SAP IASをアイデンティティプロバイダーとして信頼する SAML2.0の仕組みにおいては、メタデータの相互交換が必要となります。まずはSAP S/4HANA に対して、SAP IASのメタデータをアプロードします。「Trusted Providers」 -> 「Add」 -> 「Upload Metadata File」 の順にクリックします。Metadata File をクリックして、「metadata_IAS.xml」をアップロードします。「Next」をクリックして次に進みます。アップロードされたメタデータの確認が走ります。Upload From File をクリックし、先述の「cert.cer」をアップロードします。「Next」をクリックします。デフォルトの状態で「Next」をクリックします。こちらもデフォルトで「Next」をクリックします。メタデータから抽出された、SSOに用いるエンドポイントの設定が表示されます。デフォルトで「Next」をクリックします。同様にログアウト用のエンドポイントが表示されます。デフォルト状態で「Next」をクリックします。デフォルト状態で「Next」をクリックします。デフォルトの状態で 「Finish」 をクリックします。ABAP Platform クライアントのName IDフォーマットを設定する ユーザーに関する情報を共有するためには、通信先システムが異なるIDを使用している場合でも、ユーザーを識別できる必要があります。SAML 2.0規格では、共通の識別子を確立する手段として、名前識別子(Name ID)を定義しています。この章では、このName IDを設定します。 「Identity Federation」 -> 「Add」の順にクリックします。今回はSAP IAS に登録されたユーザーとSPA S/4HANAに登録されたユーザーをemailアドレスによって識別したいので、「E-mail」をクリックし、「OK」により確定します。SAMLアサーション内のName IDがABAP Platform (SAP S/4HANA) 内のユーザーにどのようにマッピングされるかを設定する必要があります。このマッピングを通じて、ABAP Platformは誰がログオンしているかを識別します。SAMLアサーションで提供される情報は、ABAPプラットフォームの単一ユーザーと1対1で一致する必要があります。これを行うため、 「User ID Mapping Mode」にて、適切な項目を設定します。最後に、「Enable」 をクリックしてIdP(SAP IAS)との間のSAML連携を有効化します。List of Trusted Providers 内の 「Active」 の部分が緑色に変化すれば完了です。ABAP Platformクライアントをサービスプロバイダーとして信頼する今度は逆の信頼設定を行います。SAP IASに移動し、「Applications & Resources」 -> 「<先ほど作成したS/4HANAを指すApplication>」 -> 「SAML 2.0 Configuration」 の順にクリックします。Metadata Fileの部分に先ほどダウンロードしておいた「metadata_S4.xml」をアップロードします。これにより、SAMLの設定に必要な情報が自動で読み込まれます。「Save」をクリックします。ABAP Platformが使用するサブジェクトネーム識別子の設定「Applications & Resources」 -> 「<先ほど作成したS/4HANAを指すApplication>」 -> 「Subject Name Identifier」 の順にクリックします。今回は「Email」を指定します。動作確認Fiori Launchpad にアクセスすると、SAMLの設定が有効化されているため、NetWeaverの画面でIdPを選択する画面が表示されます。IdP(SAP IAS)のURLを選択し、「続行」をクリックします。SAP IAS の認証画面にリダイレクトされます。ここでは、SAP IAS に登録されたユーザーにより認証を行うことになります。SAP IAS側のユーザーとSAP S/4HANA 側のユーザーが持つ 「email」 属性によりユーザーマッピング、識別が行われ、Subject Name Identifierで指定した項目にて、SPA S/4HANA へのログオンが行われます。まとめ本ブログでは、SAP Cloud Identity ServicesのIdentity AuthenticationとSAP S/4HANA間でSAML 2.0を使用したSSOの設定手順について説明しました。これにより、ユーザーは一度の認証で複数のシステム間でシームレスに認証できるようになります。適切な設定とテストを行うことで、エンタープライズ環境におけるセキュリティとユーザビリティの向上が期待できます。参考資料SAP Help Portal: Identity Authentication Configuration for SAP S/4HANAhttps://help.sap.com/docs/cloud-identity/system-integration-guide/identity-authentication-configuration-for-sap-s-4hana Read More Technology Blogs by SAP articles
#SAP
#SAPTechnologyblog
+ There are no comments
Add yours