接続の確立
接続プロファイルの設定
[CData]リボンから[データの取得]をクリックし、[取得元:Salesforce]> 設定済みの接続 を選択してCData クエリウィンドウを起動します。新しい接続を設定するには、[新しいSalesforce 接続]をクリックします。ここでは、接続の設定、接続のテスト、および接続プロファイルの保存を行うことができます。
Salesforce への接続
デフォルトでは、本製品 は本番環境に接続します。Salesforce sandbox アカウントを使用するには、UseSandbox をtrue に設定し、User でsandbox ユーザーネームを指定してください。
Salesforce への認証
Salesforce は、ユーザー資格情報またはOAuth 標準による認証をサポートしています。
ユーザー資格情報
通常、ユーザー資格情報による認証では、セキュリティトークンを追加で使用する必要があります。セキュリティトークンは、Salesforce からのみ取得できます。セキュリティトークンを要求するには:- Salesforce.com の[私の設定]->[個人用]->[私のセキュリティトークンのリセット]を開きます。
- [セキュリティトークンのリセット]をクリックします。トークンがE メールで送られます。
- SecurityToken 接続プロパティでセキュリティトークンを入力するか、Password に追加します。
セキュリティトークンの使用を不要にするには:
- Salesforce にログインして、[設定]セクションの[クイック検索]ボックスにNetwork Access を入力します。
- IP アドレスを信頼できるIP アドレスのリストに追加します。
- AuthScheme:Basic。
- User:ユーザーのログインID。
- Password:ユーザーのパスワード。
- SecurityToken(オプション):Salesforce から取得したセキュリティトークン。
セキュリティトークンを使用せずに接続したい場合は、以下の手順でセキュリティトークンを無効にする必要があります。
- Salesforce にログインして、[設定]セクションの[クイック検索]ボックスにNetwork Access を入力します。
- IP アドレスを信頼できるIP アドレスのリストに追加します。
OAuth
Salesforce は埋め込みOAuth 認証情報を提供しており、デスクトップアプリケーション からの接続を簡単にします。Web アプリケーションから接続するには、カスタムOAuth アプリケーションの作成 で説明するようにカスタムOAuth アプリケーションを作成する必要があります。すべての認証フローで、OAuth 経由で接続するにはAuthScheme をOAuth に設定する必要があります。
以下のサブセクションでは、利用可能なOAuth フローでのSalesforce への認証について詳しく説明します。 カスタムOAuth アプリケーションの作成についての情報と、すでに埋め込みOAuth 認証情報を持つ認証フローでもカスタムOAuth アプリケーションを作成したほうがよい場合の説明については、カスタムOAuth アプリケーションの作成 を参照してください。
Salesforce で利用可能な接続文字列プロパティの全リストは、Connection を参照してください。
デスクトップアプリケーション
CData は、デスクトップでの認証を簡略化する埋め込みOAuth アプリケーションを提供します。また、Salesforce コンソールで設定および登録するカスタムOAuth アプリケーションを介してデスクトップから認証することもできます。詳しくは、カスタムOAuth アプリケーションの作成 を参照してください。
接続する前に、次のプロパティを設定します。
- OAuthClientId(カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントID。
- OAuthClientSecret(カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。
接続すると、本製品 はデフォルトブラウザでSalesforce のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。
OAuth パスワードグラント
次の手順に従いパスワードグラントオプションを設定します。- パスワードグラント種別で認証を行う場合は、AuthScheme をOAuthPassword に設定します。
- 上記のWeb またはデスクトップ認証セクションで指定されたすべてのプロパティを設定します。
- User とPassword をログイン資格情報に設定し、必要に応じてSecurityToken も設定します。
Note:セッションの設定 -> ログイン時のIP アドレスとセッションをロックするを有効にしている場合、本製品 の使用中にIP アドレスが変更されないことを確認してください。本製品 使用中にIP が変更された場合、Salesforce から"INVALID_SESSION_ID" エラーが返され、本製品 はデータを取得できなくなります。このエラーが表示された場合は、Salesforce 管理者にこの設定を無効にするよう依頼するか、本製品 を使用するインスタンスに固定IP を必ず設定してください。その後、接続をリセットして本製品 を使い続けます。
OAuthJWT 証明書
AuthScheme をOAuthJWT に設定します。
OAuthJWT
OAuthJWT コンシューマーキーを取得するには:
- Salesforce.com にログインします。
- [設定]で[クイック検索]ボックスにApps を入力し、リンクをクリックしてアプリを作成します。表示されたページの接続アプリケーションセクションで、新規をクリックします。
- ユーザーがアプリケーションにログイン認証をする際に表示されるアプリケーション名を入力します。連絡先E メールアドレスも入力します。
- OAuth 設定の有効化をクリックし、コールバックURL ボックスに値を入力します。この値は必要に応じて接続アプリケーションを作成する場合にのみ設定します。この種類の認証には、実際には必要ありません。
Callback URL は次の形式になります:
http://localhost:8019/src/oauthCallback.rst
- デジタル署名を使用を有効にします。
- 証明書をアップロードします。
- アプリがユーザーに要求するアクセス許可の範囲を選択します。
- アプリケーション名をクリックしてアプリケーションの情報ページを開きます。OAuth コンシューマーキーが表示されます。
OAuth アプリケーション作成後、次の接続プロパティを設定します。
- AuthScheme:OAuthJWT。
- InitiateOAuth:GETANDREFRESH。
- OAuthJWTCert:JWT 証明書のストア。
- OAuthJWTCertType:OAuthJWTCert で指定された証明書ストアの種類。
- OAuthJWTCertPassword:JWT 証明書ストアのパスワード。
- OAuthJWTIssuer:OAuth クライアントID。
- OAuthJWTSubject:OAuth 接続アプリケーションで設定した許可されたユーザープロファイルのユーザー名(E メールアドレス)。
Note: このフローではリフレッシュトークンは発行されません。
AzureAD
AuthScheme をAzureAD に設定します。 AzureAD に接続するには、次の接続プロパティを使用します。
- SSOExchangeUrl:ID プロバイダーのSalesforce OAuth 2.0トークンエンドポイント。これは、Salesforce のアカウント設定で[管理者設定]->[セキュリティのコントロール]->[シングルサインオン設定]に移動し、目的の組織を選択することで確認できます。
この構成には、2つのAAD アプリケーションが必要であることに注意してください:シングルサインオンに使用される"Salesforce" アプリケーションと、"Salesforce" アプリケーションに対するuser_impersonation 権限を持つ別の"コネクタ" アプリケーションです。 OAuth 接続プロパティも指定する必要があります。
- OAuthClientId:アプリ登録の概要セクションにリストされている、コネクタアプリケーションのアプリケーションId。
- OAuthClientSecret:コネクタアプリケーションのクライアントシークレット値。新しいクライアントシークレットを作成すると、Azure AD にこれが表示されます。
以下のSSOProperties を使用して、AzureAD へ認証します。
- Resource:アプリ登録の概要セクションにリストされている、Salesforce アプリケーションのアプリケーションId URI。ほとんどの場合、これはカスタムSalesforce ドメインのURL です。
- AzureTenant:アプリケーションが登録されているAzure AD テナントのId。
以下は接続文字列の例です。
AuthScheme=AzureAD;InitiateOAuth=GETANDREFRESH;OAuthClientId=3ea1c786-d527-4399-8c3b-2e3696ae4b48;OauthClientSecret=xxx;SSOProperties='Resource=https://example.my.salesforce.com;AzureTenant=6ee709df-9de0-4cdf-10e6b7a51d95';
Okta
AuthScheme をOkta に設定します。Okta に接続するには、次の接続プロパティを使用します。
- User:Okta ユーザー。
- Password:Okta ユーザーのパスワード。
- SSOLoginURL:SSO プロバイダーのログインURL。
- SSOExchangeUrl:ID プロバイダーのSalesforce OAuth 2.0トークンエンドポイント。これは、Salesforce のアカウント設定で[管理者設定]->[セキュリティのコントロール]->[シングルサインオン設定]に移動し、目的の組織を選択することで確認できます。
- APIToken(オプション):顧客がOkta org から作成したAPI Token。Okta クライアントリクエストコンテキストをオーバーライドする、信頼されたアプリケーションまたはプロキシ経由でユーザーを認証する場合には、これを使用する必要があります。
- MFAType(オプション):MFA フローを設定した場合のみ必須。現時点では、次のタイプのみをサポートしています:OktaVerify、Email、およびSMS。
- MFAPassCode(オプション):MFA フローを設定した場合のみ必須。 空 / 無効に設定されている場合、ドライバーは最初にMFA チャレンジを発行し、設定されたMFA タイプに基づいてプラットフォームがデバイスまたはE メールでワンタイムパスワードを送信するようにトリガーします。 取得したワンタイムパスワードの値をMFAPassCode 接続プロパティに渡す別の接続を再発行する必要があります。
以下は接続文字列の例です。
AuthScheme=PingFederate;User=PingFederateUserName;Password=PingFederatePassword;URL='http://sharepointserver/mysite';
OneLogin
AuthScheme をOneLogin に設定します。OneLogin に接続するには、次の接続プロパティを使用します。
- User:OneLogin ユーザー。
- Password:OneLogin ユーザーのパスワード。
- SSOExchangeUrl:ID プロバイダーのSalesforce OAuth 2.0トークンエンドポイント。これは、Salesforce のアカウント設定で[管理者設定]->[セキュリティのコントロール]->[シングルサインオン設定]に移動し、目的の組織を選択することで確認できます。
- OAuthClientId:OAuthClientId。まだ入手していない場合、Developers -> API Credentials -> Credential -> ClientId に移動して確認します。
- OAuthClientSecret:OAuthClientSecret。まだ入手していない場合、Developers -> API Credentials -> Credential -> ClientSecret に移動して確認します。
- Subdomain:SSO アプリにアクセスするOneLogin ユーザーのサブドメイン。例えば、OneLogin URL がsplinkly.onelogin.com の場合、サブドメインの値はsplinkly です。
- AppId:SSO アプリのID。
- Region(オプション):OneLogin アカウントで使用しているリージョン。OneLogin API は複数のリージョンで動作し、このプロパティは正しいドメインを見つけるために使用されます。有効な値はUS(デフォルト)およびEU です。
以下は接続文字列の例です。
AuthScheme=OneLogin;User=OneLoginUserName;Password=OneLoginPassword;SSOProperties='OAuthClientID=3fc8394584f153ce3b7924d9cd4f686443a52b;OAuthClientSecret=ca9257fd5cc3277abb5818cea28c06fe9b3b285d73d06;Subdomain=OneLoginSubDomain;AppId=1433920';
PingFederate
AuthScheme をPingFederate に設定します。次の接続プロパティを設定する必要があります。
- User:PingFederate ユーザー。
- Password:PingFederate ユーザーのパスワード。
- SSOLoginURL:SSO プロバイダーのログインURL。
- SSOExchangeUrl: ID プロバイダーのSalesforce OAuth 2.0トークンエンドポイント。これは、Salesforce のアカウント設定で[管理者設定]->[セキュリティのコントロール]->[シングルサインオン設定]に移動し、目的の組織を選択することで確認できます。
- AuthScheme(オプション):IdP エンドポイントに使われる認可スキーム。有効な値はNone またはBasic です。
- SSLClientCert
- SSLClientCertType
- SSLClientCertSubject
- SSLClientCertPassword
AuthScheme=PingFederate;User=pingFederateUser;Password=pingFederatePassword;SSOLoginURL='https://<authority>/idp/sts.wst';SSOExchangeUrl='https://domain.my.salesforce.com/services/oauth2/token?so=00D3000006JDF';
ADFS
AuthScheme をADFS に設定し、次のプロパティを設定します。
- User:ADFS ユーザー。
- Password:ADFS ユーザーのパスワード。
- SSOLoginURL:SSO プロバイダーのログインURL。
- SSOExchangeUrl:ID プロバイダーのSalesforce OAuth 2.0トークンエンドポイント。これは、Salesforce のアカウント設定で[管理者設定]->[セキュリティのコントロール]->[シングルサインオン設定]に移動し、目的の組織を選択することで確認できます。
ADFS へ認証するには、以下のSSOProperties が必要です。
- RelyingParty:Salesforce のADFS サーバー上のRelying Party Identifier の値。
AuthScheme=ADFS;User=username;Password=password;SSOLoginURL='https://sts.company.com';SSOProperties='RelyingParty=https://saml.salesforce.com';
ADFS 統合
ADFS 統合フローでは、現在ログインしているWindows ユーザーの資格情報で接続します。 ADFS 統合フローを使用するには、User およびPassword を指定せず、それ以外の設定は上記のADFS ガイドと同じ手順を実行してください。
接続プロパティ
最後に、Connection プロパティを参照してください。接続の確立に使用できるさまざまなオプションの説明があります。
接続の管理
Salesforce への認証に成功すると、インポートするデータをカスタマイズすることができます。詳しくは、接続の管理 を参照してください。
関連項目
- データのクエリ:[データ選択]ウィザードを使用してスプレッドシートにデータをプルします。また、ここではスケジュールされたデータのリフレッシュも設定できます。
- Excel アドインの使用:利用可能なCData Excel 関数 を使用するなど、Salesforce データとやり取りする他の方法が見つかります。