SAP Cloud Identity Services – Identity Authentication と SAP S/4HANA の間でSAML2.0接続を行う

Estimated read time 5 min read

はじめに

本ブログでは、SAP Cloud Identity ServicesIdentity AuthenticationSAP 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 IASIdPとして機能します。サービスプロバイダー (SP):IdPからのSAMLアサーションを受け取り、ユーザーにサービスを提供するエンティティ。今回の例では、SAP S/4HANASPとして機能します。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 IASSAMLメタデータを取得する

この章では、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 IDABAP Platform (SAP S/4HANA) 内のユーザーにどのようにマッピングされるかを設定する必要があります。このマッピングを通じて、ABAP Platformは誰がログオンしているかを識別します。SAMLアサーションで提供される情報は、ABAPプラットフォームの単一ユーザーと11で一致する必要があります。これを行うため、 「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 ServicesIdentity AuthenticationSAP 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

You May Also Like

More From Author

+ There are no comments

Add yours