HAQM Web Services ブログ

HAQM WorkSpacesをSAP Single Sign-Onと統合する方法

SAP Single Sign-Onにより、ユーザーは、システムがオンプレミスであろうとクラウドであろうと、集中認証を使用してSAPと非SAPシステムに安全に接続できます。SAP Single Sign-Onは、ユーザー認証と安全なデータ通信を管理し、2要素認証とリスクベース認証を統合するシンプルさを提供します。これには、携帯電話とRSA SecurIDカードの連携も含みます。さらに、SAP Single Sign-Onは、Kerberos/SPNEGO、X.509証明書やセキュリティ・アサーション・マークアップ言語 (SAML)など、様々な種類の認証方法をサポートしています。このブログでは、Kerberos/SPNEGOを基盤としたSAP Single Sign-On (*)をHAQM WorkSpacesと統合する方法を説明します。また、世界中の従業員に対して数千のデスクトップを迅速に提供するために、クラウド、あるいはオンプレミス環境にある既存のActive Directoryサービスを使用する方法についても説明します。

(*) SAPノート 1848999に基づいて、SAP Single Sign-Onのライセンスが必要になります。詳細は、SAP社アカウントエグゼクティブにお問い合わせください。

一般的に、3つのシナリオがあります。

  1. HAQM WorkSpacesをAD Connectorと既存のオンプレミス環境のActive Directoryと統合 (図1)
  2. HAQM WorkSapcesをAzure Active Directory (Azure AD)と統合 (図2)
  3. HAQM WorkSpacesをAD Connector、事前に構築したHAQM Elastic Compute Cloud (HAQM EC2)上のActive Directory (AD)、AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD)と統合 (図3-1と3-2)

このブログでは、AWS Managed Microsoft ADを使用したシナリオ3を例に説明します。

ブログ「How to Connect Your On-Premises Active Directory to AWS Using AD Connector」で示されている手順によりシナリオ1を、 ブログ「Add your WorkSpaces to Azure AD using Azure Active Directory Domain Services」を参照することでシナリオ2を適用することができます。

SAPノート 66971に従い、選択したWindowsバージョンとSAP GUIのサポート条件を確認してください。このブログでは、Windows 10でのGUI導入を説明します。

シナリオ1のアーキテクチャ – HAQM WorkSpacesとオンプレミスのADと連携するAD Connector

図1 HAQM WorkSpacesとオンプレミスのADと連携するAD Connector

図1 HAQM WorkSpacesとオンプレミスのADと連携するAD Connector

シナリオ2のアーキテクチャ – HAQM WorkSpacesとAzure AD

図2 HAQM WorkSpacesとAzure AD

図2 HAQM WorkSpacesとAzure AD

シナリオ3のアーキテクチャ1 – HAQM WorkSpacesとHAQM EC2上に構築したADと連携するAD Connector

図3-1 HAQM WorkSpacesとHAQM EC2上に構築したADと連携するAD Connector

図3-1 HAQM WorkSpacesとHAQM EC2上に構築したADと連携するAD Connector

シナリオ3のアーキテクチャ2 – HAQM WorkSpacesとAWS Managed Microsoft AD

図3-2 HAQM WorkSpacesとAWS Managed Microsoft AD

図3-2 HAQM WorkSpacesとAWS Managed Microsoft AD

前提条件

  • AWSアカウントとデフォルトのHAQM Virtual Private Cloud (VPC)が既にあります
  • パブリックサブネットにHAQM WorkSpacesとAWS Managed Microsoft ADを展開します
  • パブリックインターネット経由でHAQM WorkSpacesに接続できます
  • SAP Single Sign-On用の既存のSAPライセンスを保有しています
  • HAQM WorkSpacesを利用可能なリージョンで展開できます

展開手順

  1. AWS Managed Microsoft ADを構築
  2. AWS Managed Microsoft ADで作成したユーザーを選択してHAQM WorkSpacesを起動
  3. 起動したHAQM WorkSpacesにSAP GUIとSAP Secure Login Clientをインストール
  4. SAP GUIのシングルサインオン (SSO)機能を適切に設定
  5. SAP GUIのSSO機能をテスト
  6. (オプション) スケールアウト利用のためにHAQM WorkSpaces イメージとバンドルを作成し、SAP GUIのログオンエントリーを共有Windowsファイルシステムで一元化
  7. (代替案) SAP GUIのシングルサインオンができるHAQM AppStream2.0を展開

ウォークスルー

AWS Managed Microsoft ADの構築とHAQM WorkSpacesの展開

AWS Managed Microsoft ADとHAQM WorkSpacesの展開のために、ここからサンプルコードをダウンロードしてください。

要件:

概要:

app.pyファイルには2つのCDKスタックがあります。

  • AWSManagedAD:
    • AWS Managed Microsoft ADを作成
    • HAQM Route 53 プライベートホストゾーンとAWS Managed Microsoft ADを指し示すAレコードを作成
    • ドメインユーザー/グループ管理用のHAQM EC2 Windowsインスタンスを作成
    • AWS Managed Microsoft ADに自動的に参加するためのHAQM EC2インスタンスにアタッチするAWS Systems Manager パラメータとドキュメントを作成
    • HAQM WorkSpacesをAWS Managed Microsoft ADに登録するためのAWS Lambda関数を作成
  • AWSWorkSpaces:
    • SAP GUI構成用のHAQM WorkSpacesを作成

構築手順:

  1. 私のサンプルのGitHubリポをお客様のデバイスのフォルダにクローンし、フォルダに移動します
  2. 2つのAWS Secrets Managerのシークレットを作成します。1つはドメイン管理者のパスワードのシークレットで、もう1つは事前に作成したHAQM EC2キーペア名です。シークレットキーの名前は”Key”です。パスワードは、AWS Managed Microsoft ADのパスワードルールに準拠する必要があります
    The image shows the password for AWS Managed Microsoft AD admin user. The value is stored in AWS Secrets Manager. The image shows the HAQM EC2 key pair name. The value is stored in AWS Secrets Manager.
  3. cdk.jsonファイルをお客様の環境に合わせて編集します
    	{  
    	  "app": "python3 app.py",  
    	  "context": {  
    	      "Account": "<AWS Account ID>",  
    	      "Region": "<AWS Region>",  
    	      "Domain_name": "<AD Domain Name>",  
    	      "Secret_domain_password_arn": "<Secret Manager for AD Password ARN value>",  
    	      "Instance_type": "<EC2 Instance Type>",  
    	      "VpcId": "<VPC ID>",  
    	      "Subnet1": [ "<Piublic Subnet1 ID>", "<The AZ that the Subnet1 locates>" ],  
    	      "Subnet2": [ "<Piublic Subnet2 ID>", "<The AZ that the Subnet2 locates>" ],  
    	      "Secret_keypair_arn": "< Secret Manager for EC2 Key Value ARN value >",  
    	      "WorkSpacesUser" : "<NetBIos\User>",  
    	      "WorkSpacesBundle": "wsb-8vbljg4r6"  
    	  }  
    	}  
    

    パラメータ:

    Region: AWS Directory ServiceとHAQM WorkSpacesをサポートするリージョンを選択します。このブログでは、”us-west-2“リージョンを使用しています
    Domain_name: AWS Managed Microsoft ADの優先ドメイン名を入力します。このブログでは、”test.lab“を使用しています
    Secret_domain_password_arn: ドメイン管理者パスワードのシークレットのシークレットHAQM Resource Name (ARN)の値を入力します
    Instance_type: インスタンスタイプは、HAQM EC2のドキュメントを参照してください
    Subnet[1|2]: 同じVpcIdの2つのサブネットの値をリストから入力します。配列の前者の要素はサブネットIDで、後者はサブネットが存在するアベイラビリティーゾーンです
    Secret_keypair_arn: HAQM EC2キーペアのシークレットのシークレットARNの値を入力します
    WorkSpacesUser: AWS Managed Microsoft ADの構築後に作成するユーザー名を入力します。形式は、”NETBIOS\AD_USER“です
    WorkSpacesBundle: SAP GUIを展開するデフォルトのHAQM WorkSpaces バンドルIDを入力します。”Standard Windows 10“の”wsb-8vbljg4r6“を選択しました

  4. cdkに必要なPythonライブラリをインストールします
    $ pip install -r requirement.txt
  5. お客様のAWSアカウントでcdk bootstrapを実行します
    $ cdk bootstrap  aws://<AWS_ACCOUNT>/<AWS_REGION>
  6. お客様のAWSプロファイルでAWSManagedADスタックを展開します
    $ cdk deploy AWSManagedAD --profile <AWS Profile>
    AWSプロファイルを指定しない場合、デフォルトプロファイルが使用されます。このスタックでは、すべてのリソースを展開するのに10-20分かかることがあります
  7. AWSManagedADスタックが展開された後に、HAQM EC2インスタンスにログインして、HAQM WorkSpacesのドメインユーザーを作成できます。お客様のローカル環境からHAQM EC2インスタンスに接続できるようデフォルトのセキュリティグループを修正します。ユーザーの”First Name“、”Last Name“、そして”Email“を指定してください
  8. 指定したドメインユーザーでAWSWorkSpacesスタックを展開します
    $ cdk deploy AWSWorkSpaces --profile <AWS Profile>
    このスタックでは、HAQM WorkSpacesを展開するのに10分かかることがあります
  9. HAQM WorkSpacesが構築されたら、HAQM WorkSpaces クライアントをダウンロードしてインストールし、HAQM WorkSpaces コンソールで登録コードを入力し、ドメインユーザーでログインします
    The image shows login page for HAQM WorkSpaces client.

AWS Managed Microsoft ADの構築とHAQM WorkSpacesの展開

要件:

  • SAP GUIとSAP Secure Login ClientがHAQM WorkSpacesにインストールされています
  • 指定したドメインユーザーでHAQM WorkSpacesにログインします
  • HAQM WorkSpacesからSAPシステムへのネットワーク接続が許可されています
  • SAPシステムはお客様自身でインストールしています

構築手順:

  1. トランザクションコード”SNCWIZARD“を使用してSecure Network Communications (SNC)のIdentityを設定し、SAPプロファイルパラメータを変更します
  2. SSO用のドメインユーザーを作成します。この例では、ユーザーは”Hank”です。”Attribute Editor”でサービス属性ServicePrincipalNameを更新します
    The image shows the step to set up ServicePrincipalName property for Windows domain user.
  3. トランザクションコード”SNCWIZARD“でKerberosユーザーを作成して、ドメインユーザーと一致させます。ユーザープリンシパルが”緑色のライト“になったことを確認します
    The image shows the first step in SAP T-code SNCWIZARD.The image shows the SPNego configuration result for a domain user.
  4. トランザクションコード”SU01“でSAP NetWeaverユーザーに関連付けるSNC名をコピーします
    The image shows the User Mapping value for domain userThe image shows how to fill in SNC name to map SAP GUI users in T-code SU01.
  5. SNCWIZARD“で残りのプロセスを完了します
    The image shows the final step in SAP T-code SNCWIZARD.The image shows the final step in SAP T-code SNCWIZARD.

SAP GUIのSSO機能をテスト

  1. SAP GUIの”Secure Network Communication“のオプションを有効化し、”SNC name“を入力します
    The image shows configuration for SAP GUI logon entry.
  2. 指定したSAPシステムをダブルクリックして、シングルサインオン機能が準備できているか確認してください
    The image shows success for SAP GUI single sign-on result.

(オプション) スケールアウト利用のためにHAQM WorkSpaces イメージとバンドルを作成し、SAP GUIのログオンエントリーを共有Windowsファイルシステムで一元化

SAP GUIを使用してSAPシステムに接続する必要がある多くのスタッフがいるかもしれません。従来の環境では、各ユーザーがラップトップにSAP GUIをインストールし、SAPログオンエントリーを何度も設定する必要がありました。HAQM WorkSpacesを使用すれば、事前構築済みのバンドルを簡単に複製し、ドキュメントに従って数回クリックするだけで各ユーザーに環境を展開できます。

次に、各ユーザー用に事前構築済みのラップトップを展開するためのバンドルを作成できます。各ユーザーは、何度も工数をかけてSAP GUIログオンエントリーをメンテナンスする必要があります。共有ファイルシステム (HAQM FSx for Windowsファイルシステム、あるいは自身で構築したWindowsファイルシステムのいずれか)を使用して、様々な部門のユーザーに対して一元化されたSAPログオンエントリーを適用し、全体的な工数を削減できます。さらに、SAP GUI Installation Serverを展開して、カスタマイズしたWindowsスクリプトをユーザーに配信できます。詳細手順は「SAPGUI Installation Server Part 5 – Scripting blog」に記載されています。

次の手順では、SAP GUIログオンエントリーを同じHAQM FSxファイルシステムで共有する2つのHAQM WorkSpacesを示しています。

要件:

  • HAQM FSxファイルシステムは、HAQM WorkSpacesと同じドメインに作成し、最初のHAQM WorkSpacesのネットワークデバイスに関連付けます
  • ドメインユーザーは同じ組織に所属しており、HAQM FSxファイルシステムにアクセスする権限があります
  • HAQM WorkSpacesとHAQM FSxファイルシステムの間に適切なセキュリティグループとNetwork ACLs (NACL)を設定します

(HAQM WorkSpaces1)

  1. 事前構成済みのSAP GUIとSAPGUILandscape.xml (SAPログオンエントリー)は、共有フォルダー”Z:\“に変更しています
    The image shows SAP logon entry configuration file in first HAQM WorkSpaces.

    (HAQM WorkSpaces2)
  2. 別のHAQM WorkSpacesを構築し、同じ共有フォルダーに接続して、SAP GUIのオプション (Server Configuration Files)を同じSAPGUILandscape.xmlに変更します
    The image shows SAP logon entry configuration file can be read in first HAQM WorkSpaces.
    (HAQM WorkSpaces2)
  3. SAP GUIを再起動した後、システムリストが用意できています
    The image shows the result that second HAQM WorkSpaces imported the shared SAP GUI logon entry.

最後に、SAP SNCはドメインユーザーとSAP GUIユーザーを1対1で関連付けするため、様々なドメインユーザーを連動するSAP GUIユーザーに事前に関連付けしておく必要があります。ドメインの他のHAQM WorkSpacesユーザーは、SAPシステムへのSSOを使用できます。

(代替案) SAP GUI SSOができるHAQM AppStream2.0を展開

HAQM AppStream 2.0は、ユーザーがPC、Chromebook、Macを含むあらゆるコンピューターのブラウザを介してSAP環境に安全に接続できるようにするフルマネージド型のアプリケーションストリーミングサービスです。

HAQM AppStream 2.0とHAQM WorkSpacesの設定にはいくつか違いがあります。

  • HAQM AppStream 2.0は、AWS Directory Serviceではなく”Directory Configs“を使用します。最初に”Directory Configs“を事前構成し、ステージング環境でHAQM AppStream 2.0 Image Builderがドメインに接続できることを確認します (VPCで設定するDynamic Host Configuration Protocol (DHCP) オプションセットをカスタム Domain Name System (DNS)で構成する新しいオプションに置き換えることもできます)
  • HAQM AppStream 2.0 Image Builderの用意ができたら、イメージ内のSAP GUI SSOを構成し、関連するフリートを作成してスタックに関連付けます
  • HAQM AppStream 2.0はブラウザベースのサービスのため、認証はWindowsドメインのSAML 2.0 IDプロバイダーによって検証されます。お客様の環境でActive Directory Federation Services (ADFS)を構成するためにはAWSブログ「How to Enable Server-Side LDAPS for Your AWS Microsoft AD Directory」を、HAQM AppStream 2.0をスタックに接続するためには「HAQM AppStream 2.0 の ID フェデレーションを AD FS 3.0 で実現する」を参照してください

テスト環境は以下です。

HAQM AppStream 2.0 with AWS Managed Microsoft AD

  1. HAQM AppStream 2.0 ディレクトリ設定を構成します
    The image shows the Directory Configs in HAQM Appstream 2.0.
  2. HAQM AppStream 2.0 イメージを作成します
    The image shows the HAQM Appstream 2.0 Image Assistant.The image shows the creation of HAQM Appstream 2.0 Image.
  3. ADFSでフェデレーションルールを作成します
    The image shows the SAML configuration in ADFS.
  4. HAQM AppStream 2.0のSAP GUI SSO連携の結果は以下です
    The image shows success for SAP GUI single sign-on result from HAQM Appstream 2.0 URL.

詳細な手順は、ガイド「Deploying SAP GUI on HAQM AppStream 2.0」を参照してください。

拡張

異なるリージョンでの災害復旧のためにHAQM WorkSpacesの利用を拡大するには、AWSブログ「Building a multi-region disaster recovery environment for HAQM WorkSpaces」を参照して構成を複製することで、複数のリージョンでHAQM WorkSpacesを構築できます。

結論

HAQM WorkSpacesを使用してSAP GUI SSO機能を統合することは、世界中のSAPユーザーにとって柔軟で拡張性があります。HAQM WorkSpacesを展開するための簡単な方法のほかにも、WindowsデスクトップをAmaozn WorkSpacesに移行することで資本コストを削減できます。

翻訳はPartner SA 河原が担当しました。原文はこちらです。