IFS Cloud 接続:IAM 認証情報を確認し、プロジェクションを一覧表示
IFS Cloud の URL、IAM Client ID、Client Secret、IAM Token URL を Integration に入力してテストします。システムはトークンを取得し、プロジェクションを一覧表示して認証情報が有効であることを確認します。この接続は接続性の確認のみで、注文・顧客・在庫は同期しません。
IFS Cloud コネクタが確認するのは 1 つだけです:API アクセス権を持つ IFS Cloud の IAM クライアント(サービスアカウント)が、このシステムからログインできることです。テスト合格は、システムがあなたの Client ID と Client Secret を IAM Token URL でアクセストークンに交換し、IFS Cloud インスタンスからプロジェクションを一覧表示できたことを意味します。注文の取り込み、顧客の取り込み、在庫の読み取りや返送、その他の文書の同期は行いません。IFS の業務プロジェクションは顧客のバージョンやカスタマイズによって異なるため、この接続では文書同期は実行されません。固有のプロジェクション向けの文書作業を準備する前に、認証情報とインスタンスアドレスの証明に使ってください。
前提条件#
- 到達できる IFS Cloud インスタンスと、そのベースアドレス(例:https://myserver:48080)。コピーできる既定のアドレスはありません。
- API アクセス権を持つ IFS Cloud の IAM クライアント(サービスアカウント)と、そのクライアント設定を開いて Client ID、Client Secret、トークンエンドポイントを読める権限。
- ご自身の IAM のトークンエンドポイント。その IAM クライアント設定から取得します。導入ごとに異なるため、値は必ず自社の設定から取得してください。
- 導入でテナントを使う場合はそのテナント値。使わない場合は、そのフィールドを空のままにします。
認証情報の取得#
- API アクセス権を持つ IFS Cloud の IAM クライアント(サービスアカウント)の設定を開きます。この接続の Client ID と Client Secret は、そのクライアントのものです。
- その IAM クライアント設定に表示される Client ID をそのままコピーします。
- 同じ IAM クライアントの Client Secret をコピーします。秘密に保管してください。保持する人はそのサービスアカウントとしてトークンを要求できます。
- 同じ IAM クライアント設定で、トークンエンドポイントをコピーし、token_url の値として使います。openid-connect のトークン形式ですが、正確なアドレスは導入ごとに固有です。他社や例のエンドポイントをコピーしないでください。
- 同時に IFS Cloud のベースアドレスを控え、導入でテナントを使う場合はその値も控えます。
Integration への入力#
- Integration → コネクタマーケットプレイス → IFS → 新規接続 を開きます。
- base_url、必須、IFS Cloud URL:IFS Cloud のベースアドレス(例:https://myserver:48080)を入力します。
- tenant、任意、Tenant:導入でテナントを使う場合のみ入力します(例:TENANT1)。それ以外は空のままにします。
- client_id、必須、IAM Client ID:API アクセス権を持つ IAM クライアント(サービスアカウント)の Client ID を入力します。秘密情報として保存されます。
- client_secret、必須、IAM Client Secret:同じ IAM クライアントの Client Secret を入力します。パスワード型のフィールドで、秘密情報として保存されます。
- token_url、必須、IAM Token URL:ご自身の IAM クライアント設定からコピーしたトークンエンドポイントを入力します。既定のエンドポイントはないため、この値は必ず自社の IFS Cloud IAM から取得してください。
接続テスト#
接続テストをクリックします。テストは 2 つの実際の手順を実行します。まず、入力した token_url で OAuth2 client credentials フローを実行し、client_id と client_secret をアクセストークンに交換します。次に、そのトークンでインスタンスを呼び出してプロジェクションを一覧表示します — GET {base}/main/ifsapplications/projection/v1/AllProjections.svc/Projections?$top=1 — これにより、トークンが機能することと、インスタンスでプロジェクションを検出できることの両方を証明します。200 の応答が合格です。base_url が未入力の場合、テストは MISSING_BASE_URL で止まります。client_id または client_secret が未入力の場合は MISSING_CREDENTIALS、token_url が未入力の場合は MISSING_CONFIG で止まり、リクエストは送信されません。テストは 12 秒待ってから TEST_TIMEOUT を報告します。
Mapping / テンプレート選択#
この接続では、まだ選択できる文書の Mapping はありません。IFS の業務プロジェクションは顧客のバージョンやカスタマイズごとに名前が付くため、この接続では注文・顧客・在庫の Mapping は提供せず、文書を同期するテンプレートも実行しません。テスト合格後に確認できるのはプロジェクション一覧そのものです。インスタンスが公開しているプロジェクションが分かり、後で固有のプロジェクションに対して文書作業を準備する際の出発点になります。Mapping を選べば注文や在庫が流れる、とは期待しないでください。この接続では流れません。
有効化#
接続はテスト合格後に有効化してください。有効化すると、この検証済み接続(インスタンスアドレス、任意のテナント、IAM 認証情報)が保存され、IAM クライアントのローテーションやインスタンスアドレスの変更後など、いつでも接続確認を再実行できます。
有効化しても始まらないこと:この接続は、有効化時もスケジュール実行でも、注文・顧客・在庫・その他の文書を取り込んだり送信したりしません。IFS との文書同期が必要な場合は、テストが返すプロジェクション一覧を出発点に、インスタンスの実際の業務プロジェクションに対して作業を準備する必要があります。
よくある質問#
テストが MISSING_BASE_URL、MISSING_CREDENTIALS、MISSING_CONFIG で止まる
必須フィールドが空で、すべて揃うまでテストはリクエストを送信しません。MISSING_BASE_URL は base_url が空、MISSING_CREDENTIALS は client_id または client_secret が空、ここでの MISSING_CONFIG は token_url が空であることを示します。
ご自身の IAM クライアント設定とインスタンスから base_url、client_id、client_secret、token_url を入力し、保存して再テストしてください。tenant は導入で使う場合のみ追加します。
テストが INVALID_CREDENTIALS または AUTH_FAILED で失敗する
IAM が交換を拒否しました。トークンエンドポイントは応答しましたが、Client ID と Client Secret を受け付けなかったか、アクセストークンを返しませんでした。よくある原因は、別の IAM クライアントのシークレットをコピーした、シークレットがローテーションされた、または token_url がそのクライアントとは別の IAM のものであることです。
その 1 つの IAM クライアント設定を再度開き、client_id、client_secret、token_url を同じ場所からまとめてコピーし、3 つが同じクライアントと同じ IAM のものになるようにしてください。全文を貼り直して再テストします。
テストが INVALID_TOKEN で失敗する
トークンは取得できましたが、IFS Cloud インスタンスがプロジェクション一覧の呼び出しでそれを受け付けませんでした。トークンを発行した IAM と base_url のインスタンスが一致していないことを示します。例えば token_url が別の導入のもの、または base_url が別の IFS Cloud インスタンスを指している場合です。
base_url が、認証情報を発行したのと同じ IFS Cloud 導入のアドレスであること、token_url がその導入の IAM クライアント設定からコピーされたものであることを確認してください。一致しない値を修正して再テストします。
テストが MISSING_SCOPE で失敗する
トークンは機能していますが、IAM クライアントの背後にあるサービスアカウントにインスタンス上のプロジェクションへのアクセス権がないため、プロジェクション一覧の呼び出しが拒否されました。
IFS Cloud で、その IAM クライアント(サービスアカウント)にプロジェクションへのアクセス権を付与し、同じ値で再テストしてください。回避策として個人のユーザーアカウントに切り替えないでください。この接続はサービスアカウントとして動作する前提です。
テストが TEST_TIMEOUT または CONNECTION_FAILED を報告する
リクエストが完了しませんでした。TEST_TIMEOUT は 12 秒以内に完全な応答が届かなかったことを、CONNECTION_FAILED はトークンエンドポイントまたはインスタンスへのネットワークリクエストが失敗したことを示します。自前運用のアドレスでは、base_url や token_url に外部から到達できない、またはポートが開いていないことがよくあります。
ブラウザで base_url と token_url のホストを開き、両方が応答することを確認し、アドレスのポート(例::48080)に到達できるか確認して、再テストしてください。ブラウザでは両方応答するのにテストがタイムアウトする場合は、プロジェクションエンドポイントへの外部アクセスが許可されているか IFS 管理者に確認してください。
文書操作が ERP_ENDPOINTS_PENDING を報告する、または有効化後に何も同期されない
これはこの接続の現在の範囲であり、値の誤りではありません。IFS 上の業務操作(注文や顧客の取り込み、在庫の読み取りや送信)は、業務プロジェクション名が顧客インスタンスごとに異なるため、この接続では実行されません。テスト合格が証明するのは、常に IAM 認証情報が機能し、プロジェクションを一覧表示できることだけです。
接続は接続性の確認に使い続けてください。文書同期については、テストが返すプロジェクション一覧を出発点に、インスタンスの実際の Integration プロジェクションに対して作業を準備してください。5 つの接続値を変更しても文書同期は有効になりません。