製品をチェック

製品の情報と30日間無償トライアル

Amazon S3 連携ソリューション 相談したい

Amazon S3 をSalesforce の外部オブジェクトとしてノーコード連携

API Server を使ってAmazon S3 のOData サービスを作成し、クラウドアプリケーションからのアクセスを可能にします。Salesforce からAmazon S3 のOData サービスを外部オブジェクトとして設定して利用します。

古川えりか
コンテンツスペシャリスト

最終更新日:2022-09-19

こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。

CData API Server はAmazon S3 (および 250+ の他のクラウドデータソース)をOData API 化し、Salesforce の画面やSalesforce1 のようなモバイルアプリケーションでの利用を実現します。 この記事では、API Server によりAmazon S3 データを外部オブジェクトとしてSalesforce Connect に設定して、Salesforce の標準オブジェクトと同感覚で使用する方法を説明します。
Salesforce 外部オブジェクトでAmazon S3 にデータ連携。

API Server の設定

次のステップに従い、セキュアなAmazon S3 OData サービスを立ち上げます:

デプロイ

API Server はサーバー上で稼働します。Windows 版は、製品に組み込まれているスタンドアロンのサーバーかIIS に配置して稼働させることができます。Java 版では、Java servlet コンテナにAPI Server のWAR ファイルを配置します。 デプロイの詳細は製品ヘルプを参照してください。API Server をAzure、Amazon EC2、Heroku にデプロイする方法はKB に記事があります。

Amazon S3 への接続

サーバーへのデプロイ後に、API Server の管理コンソールで[設定]→[接続]から新しい接続を追加してAmazon S3 を追加します。 Amazon S3 への接続に必要な認証情報を入力します。接続のテストを行い、接続を確認して、設定を保存します。

Amazon S3 リクエストを認可するには、管理者アカウントまたはカスタム権限を持つIAM ユーザーの認証情報を入力します。AccessKey をアクセスキーID に設定します。SecretKey をシークレットアクセスキーに設定します。

Note: AWS アカウント管理者として接続できますが、AWS サービスにアクセスするにはIAM ユーザー認証情報を使用することをお勧めします。

尚、CData 製品はAmazon S3 のファイルの一覧表示やユーザー管理情報の取得用です。S3 に保管されているExcel、CSV、JSON などのファイル内のデータを読み込みたい場合には、Excel DriverCSV DriverJSON Driver をご利用ください。

アクセスキーの取得

IAM ユーザーの資格情報を取得するには:

  1. IAM コンソールにサインインします。
  2. ナビゲーションペインで「ユーザー」を選択します。
  3. ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してから「セキュリティ認証情報」タブを選択します。

AWS ルートアカウントの資格情報を取得するには:

  1. ルートアカウントの資格情報を使用してAWS 管理コンソールにサインインします。
  2. アカウント名または番号を選択し、表示されたメニューで「My Security Credentials」を選択します。
  3. 「Continue to Security Credentials」をクリックし、「Access Keys」セクションを展開して、ルートアカウントのアクセスキーを管理または作成します。

AWS ロールとして認証

多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。RoleARN を指定することでAWS ロールを代わりに使用できます。これにより、CData 製品は指定されたロールの資格情報を取得しようと試みます。

(すでにEC2 インスタンスなどで接続されているのではなく)AWS に接続している場合は、ロールを引き受けるIAM ユーザーのAccessKey とSecretKey を追加で指定する必要があります。AWS ルートユーザーのAccessKey および SecretKey を指定する場合、ロールは使用できません。

SSO 認証

SSO 認証を必要とするユーザーおよびロールには、RoleARN およびPrincipalArn 接続プロパティを指定してください。各Identity Provider に固有のSSOProperties を指定し、AccessKey とSecretKey を空のままにする必要があります。これにより、CData 製品は一時的な認証資格情報を取得するために、リクエストでSSO 認証情報を送信します。

接続を確立後、[設定]→[リソース]の画面でAmazon S3 からOData API として公開するエンティティを選択します。

API Server のユーザー設定

[設定]→[ユーザー]からAPI にアクセスできるユーザーの認証設定を行います。API Server はトークンでの認証を行うことができます。 IP アドレスでAPI へのアクセスを制限することも可能です。デフォルトではローカルマシンからのアクセスのみが許可されています。SSL の設定も可能です。

Amazon S3 データにOData サービスとしてアクセス

次のステップでAPI Server で生成されたOData フィードを接続します。

  1. Salsforce にログインし、[設定]→[開発]→[外部システムへの接続を管理する]をクリックします。
  2. [新規外部データソース]をクリックします。
  3. Enter values for the following properties:
    • 外部データソース: Salesforce ユーザインターフェースに表示する表示ラベル
    • 名前: 一意の識別子
    • 種別: "Salesforce Connect: OData 4.0" を選択。
    • URL: API Server のOData エンドポイントのURL を設定します。フォーマットは、https://your-server:your-port.rsc.

      です。

      プレーンテキストはテストのみに使用し、本番ではTSL の仕様を推奨します。

  4. 形式メニューでは、JSON を選択します。

  5. 認証セクションで、次のプロパティを設定します:
    • ID 種別: 組織のすべてのメンバーが同じ認証情報でAPI Server にアクセスする場合には[指定ユーザー]を指定します。組織のメンバーがそれぞれの認証情報を使う場合には[ユーザ]を指定します。
    • 認証プロトコル: ベーシック認証には、[パスワード認証]を選択します。
    • 証明書: Salesforce からサーバーへの通信を暗号化し認証するには証明書を指定します。
    • ユーザ名: API Server に登録されたユーザー名。
    • パスワード: ユーザーのAuth トークン。
Configuration settings for the data source. (NetSuite is shown.)

Amazon S3 オブジェクトの同期

外部オブジェクトを作成したら、次のステップでAmazon S3 外部オブジェクトのデータソース側の変更を反映させます。 Amazon S3 テーブルの定義とAmazon S3 外部オブジェクトの定義を同期する必要があります。

  1. 作成した外部オブジェクトをクリックします。
  2. [検証して同期]をクリックします。
  3. 外部オブジェクトとして作業するAmazon S3 テーブルを選択し、[同期]します。

Salesforce オブジェクトとしてAmazon S3 データにアクセス

Amazon S3 を外部オブジェクトとして設定したので、Salesforce 標準オブジェクトと同じようにアクセスが可能になりました。

  • フィルタリストビューで新しいタブを作成:

    A filtered list view shown on a custom tab. (NetSuite Invoices are shown.)
  • Amazon S3 外部オブジェクトの関連テーブルを標準セールスフォースオブジェクトのように表示する:

    A related list that shows an indirect lookup relationship, which links a child external object to a parent standard object. (Salesforce accounts and associated NetSuite invoices are shown.)

トラブルシューティング

以下によく質問がある接続の問題についてリストします:

  • サーバーがインターネットにつながるIP アドレスを有していること。アプリケーションレイヤーでそのIP アドレスからのアクセスが許可されていること。

    API Server をホスティングしているサーバーがTLS 1.1 以上を使っていること。Windows 版のAPI Server の組み込みサーバーはこれに準拠しています。

    IIS の場合には、TLS 1.1 および1.2 がサポートされていますが、デフォルトでは有効化されていません。 これらのプロトコルを有効化するにはhow-to on MSDN および Microsoft technical referenceを参照してください。

    Java 版の場合、Java 8では、TLS 1.2 がデフォルトでサポートされていますが、Java 6、7 ではサポートされていません。 もしJava 7以前のベージョンを利用している場合、 this Oracle how-to を参照してください。

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。