次の方法で共有


SSO 用に Kerberos で ID を設定する Microsoft Entra

Kerberos ベースのシングル サインオン (SSO) に Microsoft Entra ID 資格情報を使用するように、Power Platform SAP ERP コネクタを設定できます。 ユーザーは、Power Platform ソリューション内で SAP データにアクセスし、SAP リモート ファンクション コール (RFC) を実行できます。何度も複数のサービスにサインインする必要はありません。 この記事では、安全な通信のために オンプレミスの データ ゲートウェイでKerberos制約付き委任 (KCD) を構成することなど、プロセスについて説明します。

Kerberos の制約付き委任 の詳細についてご確認ください。

これらの手順は、最初から始めることを前提としています。 ほとんどのお客様はすでにいくつかの手順を完了しています。 シナリオでどの手順を完了する必要があるかを判断することは、この記事の範囲外です。 たとえば、SAP システムがすでに Kerberos ベースの SSO 用に構成されている場合は、Active Directory Domain Services で SAP サービス アカウントを作成する セクションをスキップできます。

前提条件

AD DSでSAPサービス アカウントを作成する

ドメイン管理者は、まずサービス アカウントを作成し、次にサービス プリンシパル名 (SPN) を定義して、Kerberos暗号化を有効にします。

ヒント

SAP Basis管理者が、SAPシステムがすでにKerberosベースのSSO用に構成されていることを確認した場合は、このセクションをスキップしてください。

サービス アカウントを設定するには、ドメイン管理者として次の手順を実行します。

  1. ドメイン コントローラー ホストPCで、Microsoft管理コンソール (MMC) を開き、Active Directoryユーザーとコンピューター スナップインを実行します。

  2. ドメインで、ユーザー を右クリックし、新規>ユーザー を選択します。

  3. Kerberos<SID>フルネーム および ユーザー ログオン名として入力します。 <SID> は、 A4HなどのSAPシステムのIDです。

  4. 次へを選択します。

  5. 新しいサービス アカウント用のパスワードを入力して確定します。

  6. ユーザーはパスワードを変更できないパスワードの有効期限がないの両方を選択します。

  7. 次へ を選択してから 閉じる を選択します。

サービス アカウントを作成したら、サービス プリンシパル名 (SPN) を定義し、Kerberos暗号化を有効にします。

  1. ADSIエディター スナップイン (adsiedit.msc) を開き、ドメインに 接続 します。

  2. 選択 CN=Users をドメインのデフォルトの命名コンテキストから取得します。

  3. CN=Kerberos<SID> ユーザー オブジェクトと 選択 プロパティを右クリックします。

  4. 属性 リストに、選択 ServicePrincipalName があります。

  5. 編集 を選択します。

  6. サービス プリンシパル名を SAP/<SID> の形式で入力します。<SID> は、A4H などの SAP システムの ID です。

  7. 追加 を選んでから OK を選択します。

  8. Active Directory ユーザーおよびコンピューター スナップインに戻ります。

  9. ユーザー リストで、新しい SAP サービス アカウントの Kerberos SID< を右クリックし、> プロパティ を選択します

  10. アカウント タブを選択します。

  11. アカウント オプション で、選択 このアカウントはKerberos AES 256ビット暗号化 をサポートしています。

  12. OK を選びます。

重要

Kerberos AES 256ビット暗号化を有効にすると、このActive DirectoryアカウントからKerberosチケットを要求するSAP GUIなどの他のクライアントで問題が発生する可能性があります。 これは、使用可能な暗号化方式のリストが変更され、他のクライアントが Common Encryption 暗号を持たなくなるためです。 Active Directoryログをチェックして、すべてのクライアントが使用している暗号化方法を特定し、 msDS-SupportedEncryptionTypes プロパティを手動で正しい値に更新します。 アップデート後、AES 256暗号化オプションは手動で選択する必要なく自動的に表示されます。 詳細については、コア インフラストラクチャおよびコミュニティ ブログの「サポートされている Kerberos 暗号化タイプの選択について」を参照してください。

SAPでKerberos SSO認証を使用してセキュア ネットワーク通信を設定する

SAP GUIでSAP Basis管理者として次の手順を実行します。

  1. SAPシングル サインオン ウィザードを起動するには、 [コマンド] フィールドに「SNCWIZARD」 と入力します。

  2. ウィザードの 開始 ページで 続行 を選択します。

  3. システムの SNC 識別子 のデフォルト値を受け入れ、続行 を選択します。

  4. デフォルト プロファイル パラメータ ページで、続行 を選択します。

  5. クローズを選択します。

  6. SAPシステムからサインアウトし、SAPアプリケーション サーバーを再起動します。

  7. SAP GUIにログインし、 SNCWIZARD を再度実行します。

  8. 開始 ページで 続行 を選択します。

  9. Kerberos 資格情報 ページで 続行 を選択します。

  10. SPNEGO 構成 で、表示/変更 を選択して編集モードに切り替え、追加 を選択します。

  11. 次の値を入力します。

    • ユーザー プリンシパル名 : Kerberos <SID >@DOMAIN 、ここで Kerberos <SID > はサービス アカウントのユーザー名、 DOMAIN はActive Directoryドメインの完全修飾名 (大文字) です。たとえば、 KerberosA4H(at)CORP.BESTRUN.COM です。
    • パスワード および パスワードの確認: Active Directory アカウントの作成時に入力したパスワード。
  12. Active Directory でユーザーを確認 を選択してユーザーを確認し、終了 を選択します。

  13. 保存 を選びます。

  14. X.509資格情報 ページで、選択 スキップします。

  15. 完了 を選択します。

次に、SNCユーザー名 (Windowsドメイン ユーザー名に基づく) をSAPユーザー プリンシパル名にマップします。

  1. SAP GUI でトランザクション SU01 を実行します。

  2. ユーザー フィールドにテスト ユーザー ID (JDAVIS など) を入力し、変更 を選択します。

  3. SNC タブを選択します。

  4. SNC名 フィールドにユーザー プリンシパル名を入力します。たとえば、 p:CN=JDAVIS(at)CORP.BESTRUN.COM です。

  5. 保存 を選びます。

Kerberos制約付き委任用の オンプレミスの データ ゲートウェイを設定する

デフォルトでは、オンプレミスの ゲートウェイはマシンローカル サービス アカウントとして実行されます NT Service\PBIEgwService。 プロトコルのS4U拡張機能でKerberos制約付き委任を使用するには、ゲートウェイをドメイン内のサービス アカウントとして実行する必要があります。

回避策として、ドメイン管理者として次の手順を実行します。

  1. ドメイン コントローラー ホスト PC で、[Active Directory ユーザーとコンピューター] スナップインに戻ります。

  2. ドメインで、ユーザー を右クリックし、新規>ユーザー を選択します。

  3. フルネームユーザー ログオン名 として GatewaySvcを入力します。

  4. 次へを選択します。

  5. 新しいドメイン サービス アカウントのパスワードを入力して確認します。

  6. ユーザーはパスワードを変更できないパスワードの有効期限がないの両方を選択します。

  7. 次へ を選択してから 閉じる を選択します。

ドメイン サービス アカウントを作成したら、次にそのサービス プリンシパル名を定義し、Kerberos制約付き委任を有効にします。

  1. 管理者特権のPowerShellウィンドウで、次のコマンドを入力して、新しいサービス アカウントのSPNを作成します。 <OPDG ホスト名> をオンプレミス データ ゲートウェイのホスト名に置き換え、<ドメイン> をドメイン名に置き換えます。 コマンドプロンプトでコマンド hostname を入力すると、ホスト名を確認できます。

    setspn –s gateway/<OPDG hostname> <domain>\GatewaySvc
    
  2. Active Directory ユーザーとコンピューター スナップインで、新しいサービス アカウントを右クリックして プロパティ を選択します。

  3. 委任 タブを選択します。

  4. 指定されたサービスへの委任でのみこのユーザーを信頼する任意の認証プロトコルを使う を選択します。

  5. 追加を選択します。

  6. ユーザーまたはコンピューター を選択します。

  7. オブジェクト名フィールドに Kerberos<SID> と入力します。<SID> は、A4H などの SAP システムの ID です。

  8. 名前の確認 を選択して OK を選択します。

許可されたサービスのリストに、SAPシステムのSPNが含まれるようになりました。 新しいゲートウェイ サービス アカウントは、Kerberos S4U2proxyプロトコル拡張を使用して伝播されたユーザーに代わって、SAPシステムに対してのみサービス チケットを要求できます。

  1. すべて選択 を選択します。
  2. OK を選びます。
  3. もう一度 OK を選択します。
  4. オンプレミス データ ゲートウェイ サービス アカウントには、オンプレミス データ ゲートウェイ ホスト上のローカル ポリシーを付与する必要があります。 この構成は、管理者 コマンド プロンプトから gpedit.msc を実行して、ローカル グループ ポリシー エディター で行います。
  5. ローカル コンピューター ポリシー ->コンピューターの構成 ->Windows の設定 ->セキュリティの設定 ->ローカル ポリシー ->ユーザー権利の割り当て に移動します。 オンプレミス データ ゲートウェイ ドメイン サービス アカウント (CORP\GatewaySvc など) にオペレーティング システムの一部として動作するローカル ポリシー機能を許可します (ダブルクリックします)。
  6. 選択 ユーザー または グループを追加します
  7. オンプレミス データ ゲートウェイのドメイン サービス アカウントの 名前 (GatewaySvc など) を入力し、名前の確認 を選択して、それを完全な実在名に解決します。 OK を選びます。 サービス アカウントのドメイン名 (例: CORP\GatewaySvc) がポリシーのユーザー リストに追加されました。 OK を選択して新しい構成を適用します。
  8. 認証後にクライアントを偽装するポリシー をダブルクリックして、同じ手順を繰り返します。 選択 ユーザーを追加 または グループを追加 し、 名前の確認を使用して、オンプレミスの データ ゲートウェイのサービス アカウントを完全な実在名に解決します。 OK を選びます。
  9. サービス アカウントの名前 (CORP\GatewaySvc などが) がポリシーのユーザー リストに追加されます。 OK を選びます。 ローカル グループ ポリシー エディター を閉じます。
  10. ゲートウェイ ホスト上の デスクトップ リンク から、または C:\Program Files\On-premises data gateway\EnterpriseGatewayConfigurator.exe を実行して、オンプレミスの データ ゲートウェイ アプリを起動します。 選択 ログイン して、オンプレミスの データ ゲートウェイを 環境 に登録した Power Platform システム 管理者 ユーザーとしてサインインします。
  11. 選択 サービス設定 をコンフィギュレータのメニューから選択します。 アカウントの変更を選択します。
  12. 適用再起動 の順に選択します。
  13. オンプレミスの データ ゲートウェイの サービス アカウント名 (例: CORP\GatewaySvc) と パスワード を入力します。 構成を選択します。
  14. Power Platform システム管理者のサインイン アカウントを入力し、サインイン を選択します。
  15. 移行する を選択し、既存のゲートウェイを復元または引き継いでゲートウェイ登録を復元します。
  16. 選択 ドロップダウン ボックスからゲートウェイ クラスターとインスタンスを選択し、初期登録時に選択した回復キーを入力します。 構成を選択します。
  17. 復元が完了すると、オンプレミスの データ ゲートウェイ サービス インスタンスはドメイン サービス アカウント (例: CORP\GatewaySvc) を使用します。

SAP 暗号化ライブラリをインストールして構成する

オンプレミスの データゲートウェイとSAPシステム間のSNC通信を行うには、SAP暗号化ライブラリを SAP NCo 3.1 とともにゲートウェイホストにインストールする必要があります。

  1. SAP サポート ポータルのソフトウェア ダウンロード から最新バージョンの SAP 暗号化ライブラリをダウンロードし (S ユーザーである必要があります)、ライブラリ ファイル (sapcrypto.dll) をゲートウェイ ホスト上のオンプレミス データ ゲートウェイのインストール ディレクトリ (C:\Program Files\On-premises data gateway) にコピーします。 sapcrypto.dll ファイルを右クリックして、コンテキスト メニューから プロパティ を選択します。
  2. 詳細 タブに切り替えてライブラリのバージョンを確認します。 8.5.25 以降である必要があります。 OK を選びます。
  3. 同じディレクトリ (C:\Program Files\On-premises data gateway) に、次の内容で新しいテキスト ファイル sapcrypto.ini を作成します: ccl/snc/enable_kerberos_in_client_role = 1
  4. ファイルを保存します。
  5. CCL_PROFILE システム環境変数を作成し、その値を sapcrypto.ini 構成ファイルのパスに設定します。 ゲートウェイ ホストで、コントロール パネル を起動し、システムとセキュリティ - >システム に移動します。 詳細設定 システム設定を選択します。
  6. 環境変数 を選択します。
  7. システム新規 を選択します。
  8. 変数名として CCL_PROFILE と入力します。 変数値には、sapcrypto.iniファイルへの完全なパスを入力します (例: C:\Program Files\On-premises data gateway\sapcrypto.ini)。 OK を選びます。
  9. もう一度 OK を選択します。

FullDomainResolutionEnabled OPDG 設定を構成する

Active Directoryユーザーの検索時に オンプレミスの データ ゲートウェイを支援するには、オンプレミスの データ ゲートウェイ設定で構成値を設定する必要があります。

  1. ゲートウェイホストのエディタで、オンプレミス データ ゲートウェイのインストール フォルダー (C:\Program Files\On-premises data gateway) にある Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config ファイルを開きます。
  2. FullDomainResolutionEnabled の設定を検索し、その値を True に設定します。
  3. オンプレミス データ ゲートウェイ コンフィギュレーターの サービス設定 タブで 今すぐ再起動 選択し、変更を適用します。

Active Directoryでユーザー マッピングを構成する

Microsoft Entra ID ユーザー プリンシパル名が Active Directory オンプレミスの電子メール プロパティと同じである場合、この手順はスキップできます。

このシナリオでユーザーに対してKerberosベースのプリンシパル伝播を有効にするには、 Microsoft Entra ID内のユーザーの完全なユーザー名 (ユーザー プリンシパル名、UPN) からActive Directory内のユーザーのローカル名への マッピング が必要です。 この目的のために、ローカルActive Directoryユーザーの未使用の属性 msDS-cloudExtensionAttribute1 を使用して Microsoft Entra ID UPNを保存します。 その他の未使用のActive Directory属性も使用できます。

アプリケーション テスト ユーザー Jack Davis のシナリオでは、2 つのアカウントをリンクするために、ローカル Active Directory ドメイン ユーザー アカウント jdavis@corp.bestrun.commsDS-cloudExtensionAttribute1 属性をユーザーの Microsoft Entra ID UPN jdavis@bestruncorp.onmicrosoft.com に設定します。

  1. ゲートウェイホストのエディタで、オンプレミス データ ゲートウェイのインストール フォルダー (C:\Program Files\On-premises data gateway) にある Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config ファイルを開きます。
  2. 設定 ADUserNameReplacementProperty を検索し、その値を SAMAccountNameに設定します。
  3. 設定 ADUserNameLookupProperty を検索し、値 msDS-cloudExtensionAttribute1 に設定します。 ファイルに加えた変更を保存します。
  4. オンプレミス データ ゲートウェイ コンフィギュレーターの サービス設定 タブで 今すぐ再起動 選択し、変更を適用します。
  5. ドメイン コントローラー ホストで、選択 [スタート] を選択し、メニューから 選択 [Windows管理ツール] - >[ADSIエディター] を選択します。 ADSIエディターで、左側のオブジェクト ツリーで、ドメインの既定の命名コンテキストの下にある CN=Users に移動します。 テスト ユーザーの オブジェクト (たとえば、CN=Jack Davis) を右クリックし、コンテキスト メニューから 選択 プロパティ を選択します。
  6. リストから msDS-cloudExtensionAttribute1 属性を選択し、編集 を選択します。
  7. テスト ユーザーの Microsoft Entra ID UPN (jdavis@<domainname>.onmicrosoft.com など) を フィールドに入力します。 <domainname> を Microsoft Entra IDテナントのドメイン名に置き換えます。例: bestruncorp OK を選びます。

Power Automate フローを作成する

すべての オンプレミスの コンポーネント (SAPシステム、オンプレミスの データ ゲートウェイ、およびAD) が、Kerberosベースのプリンシパル伝播用に適切に構成されるようになりました。 この 手順 で、 Power Automate Flowを作成して実行し、構成をテストします。

  1. https://make.powerautomate.com で Power Automate にサインインします。

  2. 自分のフロー ->新しいフロー ->インスタント クラウド フロー を選択します

  3. フローの名前を入力してから、手動でフローをトリガーする を選択して 作成 を選択します。

  4. SAP ERPコネクタ アクション SAP関数の呼び出し (V3) をフローに追加します。

  5. SAP ERP 接続がまだ作成されていない場合は、作成するように指示されます。 既存の接続がある場合は、または新しく作成します。

    • 認証タイプ は Microsoft Entra ID (Kerberosを使用) である必要があります。
    • データ ゲートウェイ は、この ガイド で構成された オンプレミスの データ ゲートウェイである必要があります。
    • サインインを選択します。
  6. SAP ERP呼び出しSAP関数 (V3) アクションで、次のパラメータを設定します。

    • RFC 名は STFC_CONNECTION に設定されます。
    • SAPシステムは次のように設定されています (これらの値はSAP Basis管理者に応じて変更してください)。

    json { "AppServerHost": "<SAP Server Name>", "Client": "<SAP Client>", "LogonType": "ApplicationServer", "SncLibraryPath": "C:\Program Files\On-premises data gateway\sapcrypto.dll", "SncPartnerName": "p:<SAP Partner Name>", "SncQOP": "Default", "SncSso": "On", "SystemNumber": "<SAP System Number>", "UseSnc": "true" }

  7. すべてが成功した場合、REQUTEXT パラメータに Hello World のような値を入力できます。

  8. フローを保存して、テストします。