Cmdlets for SAP SuccessFactors

Build 25.0.9434

接続の確立

CData Cmdlets ユーザーは、データモジュールをインストールし、接続プロパティを設定してスクリプトを開始できます。このセクションでは、CSV インポートおよびエクスポートcmdlet などのネイティブPowerShell cmdlet でSAPSuccessFactors Cmdlets を使用する例を示します。

SAP SuccessFactors への接続

CData Cmdlets PowerShell Module for SAP SuccessFactors は、デフォルトで有効になっているOData API を介してSAP SuccessFactors と通信します。追加の権限を提供する必要がある場合は、こちらのSAP サポートサイトの記事を参照してください。

Basic 認証(非推奨)、Azure AD 認証、SAP IAS 認証、OAuth 認証(推奨)のいずれかを使用してSAP SuccessFactors に認証できます。

重要: Basic 認証はSAP によって非推奨とされており、2026年11月13日以降に恒久的に削除される予定です。そのため、OAuth 認証、SAP IAS 認証、またはAzure AD 認証への移行が推奨されます。

必要な接続プロパティ

選択したAuthScheme に係わらず、以下の接続プロパティを設定して、SAP SuccessFactors 環境を識別する必要があります。

  • URL:Success Factors をホストするサーバーのURL。こちらに一部のサーバーがリストされています。
  • CompanyId:SAP SuccessFactors テナントに割り当てられた一意の識別子。この値はAPI 認証に必要で、組織固有のものです。

次の値は、ドライバーが正しい環境に接続し、適切なテナントに対して認証されることを確実にします。

Basic(非推奨)

Basic 認証を使用するには、以下の接続プロパティを設定してAPI へのアクセスを許可する必要があります。

  • AuthSchemeBASIC
  • User:アカウントのユーザー名。
  • Password:アカウントのパスワード。

Basic 認証では、最初の接続リクエストの後、SAP SuccessFactors がCookie を使用してセッションを再利用することに注意してください。その後のすべての接続リクエストに対しては、SAP SuccessFactors から返されたCookie を使用して認証が行われます。

非推奨のお知らせ: SAP は、API アクセスにおけるBasic 認証の非推奨を発表しました。この認証方式は、2026年11月13日以降サポートされなくなります。将来的な互換性を確保するために、OAuth、SAP IAS、またはAzure AD への移行が強く推奨されます。

APIへのアクセス許可

OData が有効になったら、特定のユーザーのBasic 認証をアクティベートするにはAPI へのアクセスを許可する必要があります。

RBP システムの場合:

  1. Administrator Permissions -> Manage Integration Tools に移動します。
  2. Allow Admin to Access OData API through Basic Authentication をユーザーに割り当てます。

ユーザーベースシステムの場合:

  1. Administrative Privileges -> Integration Tools に移動します。
  2. Allow Admin to Access OData API Through Basic Authentication をユーザーに割り当てます。
  3. Managing Administrative Privilege ページに移動します。
  4. Employee Export およびEmployee Import をユーザーに割り当てます。

Azure AD

Azure AD は、Microsoft のマルチテナント、クラウドベースのディレクトリおよびID 管理サービスです。これはユーザーベースの認証で、AuthSchemeAzureAD に設定する必要があります。

デスクトップアプリケーション

CData は、デスクトップアプリケーションからAzure AD への接続を簡略化する埋め込みOAuth アプリケーションを提供します。

カスタムOAuth アプリケーションを使用して、デスクトップアプリケーションで認証することもできます。(詳しくは、Entra ID(Azure AD)アプリケーションの作成 を参照してください。) Azure AD 経由で認証するには、以下のパラメータを設定します。

  • AuthSchemeAzureAD
  • カスタムアプリケーションのみ:
    • OAuthClientId:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
    • OAuthClientSecret:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。
    • CallbackURL:カスタムOAuth アプリケーションの登録時に定義したリダイレクトURI。

接続すると、本製品 はデフォルトブラウザでSAP SuccessFactors のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。

本製品 はOAuth プロセスを完了し、SAP SuccessFactors からアクセストークンを取得してそれを使ってデータをリクエストします。 OAuth 値はOAuthSettingsLocation で指定されたパスに保存されます。これらの値は接続間で永続化されます。

アクセストークンの期限が切れたときは、本製品 は自動でアクセストークンをリフレッシュします。

ヘッドレスマシン

ヘッドレスマシンのユーザーアカウントで本製品 を設定するには、インターネットブラウザに対応した別の端末で認証する必要があります。

これを行うには、以下で説明するように、本製品 を別のマシンにインストールします。通常のブラウザベースのフローで認証した後、OAuth 認証値を転送します。

ヘッドレスマシン経由の接続に先立ち、インターネットブラウザに対応したデバイスで本製品 との接続を作成し、インストールする必要があります。上述の「デスクトップアプリケーション」の説明に従って、接続プロパティを設定します。

「デスクトップアプリケーション」の手順を完了すると、生成された認証値は、OAuthSettingsLocation で指定された場所に暗号化されて書き込まれます。デフォルトのファイル名はOAuthSettings.txt です。

接続が正常にテストされたら、OAuth 設定ファイルをヘッドレスマシンにコピーします。

ヘッドレスマシンでは、次のプロパティを設定します。

  • AuthSchemeAzureAD
  • OAuthSettingsLocation:OAuth 設定ファイルの場所。アクセストークンの自動リフレッシュを有効にするために、この場所が本製品 に読み書きのアクセス許可を与えることを確認してください。
  • カスタムアプリケーションのみ:
    • OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId。
    • OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレット。

OAuth

SAP SuccessFactors はOAuth 認証を2種類のグラント種別でサポートします。

  • SAP SAP SuccessFactors LMS インスタンスのクライアントグラント種別
  • SAML-2 Bearer グラント種別
OAuth 認証を有効にするには、すべてのOAuth フローでカスタムOAuth アプリケーションの作成 で説明するようにカスタムOAuth アプリケーションを作成し、適切なプロパティを設定する必要があります。

Note: SAP SuccessFactors はAPI レスポンスの一環でリフレッシュトークンを取得しないため、リフレッシュトークンは表示されません。 代わりに、プロバイダーはアクセストークンの有効期限を使用して、新しいトークンを取得するプロセスを開始する時期を検出します。

以下のサブセクションでは、3つの一般的な認証フローでのSAP SuccessFactors への認証について詳しく説明します。 カスタムOAuth アプリケーションの作成については、カスタムOAuth アプリケーションの作成 を参照してください。 SAP SuccessFactors で利用可能な接続文字列プロパティの全リストは、Connection を参照してください。

デスクトップアプリケーション

カスタムOAuth アプリケーションの資格情報を使用して認証するには、OAuth アクセストークンを取得し、更新する必要があります。これらを設定すると、接続の準備が整います。

OAuth アクセストークンの取得およびリフレッシュ

次のプロパティを設定します。

  • OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId。
  • CallbackURL:カスタムOAuth アプリケーションの登録時に定義されたリダイレクトURI。
  • OAuthClientSecret (クライアントグラント種別のみ):アプリケーションの登録時に割り当てられたクライアントシークレット。
  • PrivateKey (SAML-2 Bearer グラント種別のみ):カスタムOAuth アプリケーションの作成時にダウンロードした秘密鍵証明書のパス、またはその証明書のbase64 でエンコードされた内容。

接続すると、本製品 はデフォルトブラウザでSAP SuccessFactors のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。

アクセストークンの期限が切れたときは、本製品 は自動でアクセストークンをリフレッシュします。

OAuth アクセストークンの自動リフレッシュ:

本製品 がOAuth アクセストークンを自動的にリフレッシュするようにするには、次のように設定します。

  1. はじめてデータに接続する前に、次の接続パラメータを設定します。
    • InitiateOAuthREFRESH
    • OAuthClientId:カスタムOAuth アプリケーション設定のクライアントId。
    • OAuthAccessTokenGetOAuthAccessToken によって返されたアクセストークン。
    • OAuthSettingsLocation:本製品 がOAuth 値を保存する場所のパス。これは接続間で維持されます。
    • OAuthClientSecret (クライアントグラント種別のみ):カスタムOAuth アプリケーション設定のクライアントシークレット。
    • PrivateKey (SAML-2 Bearer グラント種別のみ):カスタムOAuth アプリケーションの作成時にダウンロードした秘密鍵証明書のパス、またはその証明書のbase64 でエンコードされた内容。
  2. その後のデータ接続では、以下を設定します。

ヘッドレスマシン

ヘッドレスマシンに置かれているリソースにログインする必要がある場合は、インターネットブラウザに対応した別の端末で認証する必要があります。 以下のいずれかの方法で行います。

  • オプション1:OAuthVerifier 値を取得します。
  • オプション2:インターネットブラウザに対応したマシンに本製品 をインストールし、通常のブラウザベースのフローで認証した後でOAuth 認証値を転送します。

オプション1またはオプション2を実行後、ヘッドレスマシンからアクセストークンを自動的にリフレッシュするように本製品 を設定します。

オプション1:Verifier コードを取得および交換

Verifier コードを取得するには、次のようにOAuth Authorization URL で認証する必要があります。

  1. インターネットブラウザに対応したマシンから認証してOAuthVerifier 接続プロパティを取得します。 次のプロパティを設定します。
    • InitiateOAuthOFF
    • OAuthClientId:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
    • OAuthClientSecret (クライアントグラント種別のみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。
    • PrivateKey (SAML-2 Bearer グラント種別のみ):カスタムOAuth アプリケーションの作成時にダウンロードした秘密鍵証明書のパス、またはその証明書のbase64 でエンコードされた内容。
  2. カスタムOAuth アプリケーションの登録時に定義したCallbackURL を取得します。(カスタムOAuth アプリケーションの作成 を参照してください。)

    このURL をコピーして、新しいブラウザのタブに貼り付けます。

  3. ログインして、本製品 にアクセス許可を与えます。OAuth アプリケーションは、code というパラメータを付加したリダイレクトURI にリダイレクトします。このパラメータの値を控えておきます。OAuthVerifier 接続プロパティを設定するために、後で必要になります。

  4. OAuth verifier code をOAuth リフレッシュトークンおよびアクセストークンと交換します。

    ヘッドレスマシンでは、OAuth 認証値を取得するには次のプロパティを設定します。

    • InitiateOAuthREFRESH
    • OAuthVerifier:控えておいたverifier code(リダイレクトURI のcode パラメータの値)。
    • OAuthSettingsLocation:暗号化されたOAuth 認証値を指定されたファイルに永続化。
    • OAuthClientId:カスタムOAuth アプリケーション設定のクライアントId。
    • OAuthClientSecret (クライアントグラント種別のみ):カスタムOAuth アプリケーション設定のクライアントシークレット。
    • PrivateKey (SAML-2 Bearer グラント種別のみ):カスタムOAuth アプリケーションの作成時にダウンロードした秘密鍵証明書のパス、またはその証明書のbase64 でエンコードされた内容。

  5. 接続をテストしてOAuth 設定ファイルを生成します。

  6. これらのプロパティを再設定すると、接続の準備が整います。

    • InitiateOAuthREFRESH
    • OAuthSettingsLocation:暗号化されたOAuth 認証値を含むファイル。アクセストークンの自動リフレッシュを有効にするには、このファイルが本製品 に読み書きのアクセス許可を与えることを確認してください。
    • OAuthClientId:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
    • OAuthClientSecret (クライアントグラント種別のみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。
    • PrivateKey (SAML-2 Bearer グラント種別のみ):カスタムOAuth アプリケーションの作成時にダウンロードした秘密鍵証明書のパス、またはその証明書のbase64 でエンコードされた内容。

オプション2:OAuth 設定を転送

ヘッドレスマシンでの接続に先立ち、インターネットブラウザに対応したデバイスで本製品 との接続をインストールし、作成する必要があります。上述の「デスクトップアプリケーション」の説明に従って、接続プロパティを設定します。

「デスクトップアプリケーション」の手順が完了すると、生成された認証値は、OAuthSettingsLocation で指定されたパスに暗号化されて書き込まれます。デフォルトのファイル名はOAuthSettings.txt です。

接続をテストしてOAuth 設定ファイルを生成し、OAuth 設定ファイルをヘッドレスマシンにコピーします。

ヘッドレスマシンでデータに接続するには、次の接続プロパティを設定します。

  • InitiateOAuthREFRESH
  • OAuthSettingsLocation:ブラウザでマシンからコピーしたOAuth 設定ファイルへのパス。アクセストークンの自動リフレッシュを有効にするために、このファイルが本製品 に読み書きのアクセス許可を与えることを確認してください。
  • OAuthClientId:カスタムOAuth アプリケーションの登録時に割り当てられたクライアントId。
  • OAuthClientSecret (クライアントグラント種別のみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。
  • PrivateKey (SAML-2 Bearer グラント種別のみ):カスタムOAuth アプリケーションの作成時にダウンロードした秘密鍵証明書のパス、またはその証明書のbase64 でエンコードされた内容。

SAP IAS

SAP IAS (SAP Identity Authentication Service) is SAP's cloud-based identity provider that enables secure user authentication across SAP and third-party applications. It is a user-based authentication mechanism and requires you to set AuthScheme to SAPIAS or to SAPIASPassword.

To enable SAP IAS authentication, you must first register and configure a custom SAP IAS application as described in SAP IAS SAML アプリの設定 guide.

Desktop Applications

You can authenticate from a desktop application using a custom IAS application registered in SAP Identity Authentication Service (IAS).

To authenticate via SAP IAS, set the following connection properties:

  • AuthScheme: SAPIAS.
  • InitiateOAuth: GETANDREFRESH.
  • OAuthClientId: The API Key of your SAP SuccessFactors OAuth2 client application.
  • SAPIASBaseURL: The base URL of the SAP Identity Authentication Service (IAS) tenant.
  • SSOProperties: A semicolon separated list of key-value pairs containing:
    • OAuthClientId: The client Id assigned to your custom SAP IAS application.
    • OAuthClientSecret: The client secret assigned to your custom SAP IAS application.
    (e.g. OAuthClientId=793cf9b4;OAuthClientSecret=K77FErG5S8B;)
  • CallbackURL: The redirect URI you defined when you registered your custom IAS application.

When you connect, the 本製品 opens the SAP IAS OAuth authorization endpoint in your default browser. Log in and authorize the application.

The 本製品 completes the OAuth flow by obtaining an SAML assertion from SAP IAS and exchanging it for an SAP SuccessFactors access token. This token is then used to authenticate API requests to SAP SuccessFactors. The OAuth credentials are saved to the location specified by the OAuthSettingsLocation. property and persist across connections.

When the access token expires, the 本製品 automatically refreshes it using the refresh token provided by SAP IAS.

Headless Machines

To configure the 本製品 with a user account on a headless machine, you must first complete authentication on a separate device that has a web browser.

Install the 本製品 on a machine with browser access and perform the standard browser-based authentication flow, as described in the Desktop Applications section above. After successfully authenticating, the 本製品 will store the resulting OAuth values in the file specified by the OAuthSettingsLocation property. By default, this file is named OAuthSettings.txt.

Once you’ve verified that the connection works, copy the OAuthSettings.txt file to your headless machine.

On the headless machine, configure the following connection properties:

  • AuthScheme: SAPIAS.
  • OAuthClientId: The API Key of your SAP SuccessFactors OAuth2 client application.
  • SAPIASBaseURL: The base URL of the SAP Identity Authentication Service (IAS) tenant.
  • OAuthSettingsLocation: The location of your OAuth settings file. Make sure this location gives read and write permissions to the 本製品 to enable the automatic refreshing of the access token.
  • SSOProperties: A semicolon separated list of key-value pairs containing:
    • OAuthClientId: The client Id assigned to your custom SAP IAS application.
    • OAuthClientSecret: The client secret assigned to your custom SAP IAS application.
    (e.g. OAuthClientId=793cf9b4;OAuthClientSecret=K77FErG5S8B;)

Alternative: Password Grant Flow (No Browser Prompt)

As an alternative to the interactive Code Grant flow, you can use the OAuth Password Grant flow, which allows the application to authenticate without prompting the user in a browser. This flow is ideal for headless, background, or automated server-side applications.

To use the Password Grant flow, set the following connection properties:

  • AuthScheme: SAPIASPassword.
  • OAuthClientId: The API Key of your SAP SuccessFactors OAuth2 client application.
  • SAPIASBaseURL: The base URL of the SAP Identity Authentication Service (IAS) tenant.
  • SSOProperties: A semicolon separated list of key-value pairs containing:
    • OAuthClientId: The client Id assigned to your custom SAP IAS application.
    • OAuthClientSecret: The client secret assigned to your custom SAP IAS application.
    (e.g. OAuthClientId=793cf9b4;OAuthClientSecret=K77FErG5S8B;)
  • User: The IAS username to authenticate with.
  • Password: The corresponding password for the specified user.

SAP SuccessFactors LMS への接続

OAuthSAML2 またはSSO ベースのAuthScheme を使用してSAP SuccessFactors LMS インスタンスに接続する場合、LMSTokenURL 接続プロパティを設定しなければならない場合があります。

LMS は、認証を処理するメインのSAP SuccessFactors インスタンスとは異なるサブドメインでホストされていることがあります。このような場合、アクセストークンのリクエストはメインインスタンスのOAuth アクセストークンエンドポイントに送信する必要があります。 LMSTokenURL が設定されていない場合、本製品 はOAuth Access Token のトークンURL をURL プロパティから解決しようとしますが、これは個別にホストされているLMS 環境では機能しない場合があります。

接続オブジェクトの作成

Connect-SAPSuccessFactors cmdlet を使って、別のcmdlet に渡すことができる接続オブジェクトを作成します。

$conn = Connect-SAPSuccessFactors -User "username" -Password "password" -CompanyId "CompanyId" -Url "https://api4.successfactors.com"

データの取得

Select-SAPSuccessFactors cmdlet はデータを取得するためのネイティブなPowerShell インターフェースを提供します。

$results = Select-SAPSuccessFactors -Connection $conn -Table "SampleTable_1" -Columns @("Id, Column1") -Where "Column2='Bob'"
Invoke-SAPSuccessFactors cmdlet はSQL インターフェースを提供します。このcmdlet を使うと、Query パラメータを介してSQL クエリを実行できます。

cmdlet 出力のパイプ処理

cmdlet は行オブジェクトをパイプラインに一度に一行ずつ返します。以下は、結果をCSV ファイルにエクスポートします。

Select-SAPSuccessFactors -Connection $conn -Table SampleTable_1 -Where "Column2 = 'Bob'" | Select -Property * -ExcludeProperty Connection,Table,Columns | Export-Csv -Path c:\mySampleTable_1Data.csv -NoTypeInformation

Select-SAPSuccessFactors からの結果をSelect-Object cmdlet にパイプして、Export-CSV cmdlet にパイプする前にいくつかのプロパティを実行していることがわかるでしょう。これをする理由は、CData Cmdlets は接続、テーブル、およびカラムの情報を結果セットの各行オブジェクトに追加しますが、必ずしもその情報がCSV ファイルに必要ではないからです。

ただし、これによってcmdlet の出力を別のcmdlet にパイプすることが容易になります。以下に、結果セットをJSON に変換する例を示します。

 
PS C:\> $conn  = Connect-SAPSuccessFactors -User "username" -Password "password" -CompanyId "CompanyId" -Url "https://api4.successfactors.com"
PS C:\> $row = Select-SAPSuccessFactors -Connection $conn -Table "SampleTable_1" -Columns (Id, Column1) -Where "Column2 = 'Bob'" | select -first 1
PS C:\> $row | ConvertTo-Json
{
  "Connection":  {

  },
  "Table":  "SampleTable_1",
  "Columns":  [

  ],
  "Id":  "MyId",
  "Column1":  "MyColumn1"
} 

データの削除

以下は、抽出条件に合うあらゆるレコードを削除します。

Select-SAPSuccessFactors -Connection $conn -Table SampleTable_1 -Where "Column2 = 'Bob'" | Remove-SAPSuccessFactors

データの変更

cmdlet はデータクレンジング同様、データの変換を容易にします。次の例は、レコードがすでに存在するかどうか、挿入する前に更新が必要かどうかをチェックしてから、CSV ファイルのデータをSAP SuccessFactors にロードします。

Import-Csv -Path C:\MySampleTable_1Updates.csv | %{
  $record = Select-SAPSuccessFactors -Connection $conn -Table SampleTable_1 -Where ("Id = `'"+$_.Id+"`'")
  if($record){
    Update-SAPSuccessFactors -Connection $conn -Table SampleTable_1 -Columns @("Id","Column1") -Values @($_.Id, $_.Column1) -Where "Id  = `'$_.Id`'"
  }else{
    Add-SAPSuccessFactors -Connection $conn -Table SampleTable_1 -Columns @("Id","Column1") -Values @($_.Id, $_.Column1)
  }
}

Copyright (c) 2025 CData Software, Inc. - All rights reserved.
Build 25.0.9434