SAP連携(PI/PO/CPI)

SAP CPIのセキュリティアーティファクト基礎:証明書・資格情報・キーストアの管理

SAP CPIで利用するセキュリティアーティファクトの種類、用途、登録手順、ローテーション、接続エラーの切り分けを実務向けに整理します。

SAP CPIセキュリティアーティファクトの運用 lifecycle認証要件をアーティファクトへ落とし込み、接続確認と更新管理へつなげる流れを示すSAP CPIセキュリティアーティファクトの運用 lifecycle認証要件をアーティファクトへ落とし込み、接続確認と更新管理へつなげる流れを示す選択参照デプロイして確認運用更新認証要件プロトコル、通信方向、認…セキュリティアーティフ…資格情報、証明書、鍵、O…iFlowから参照アダプターがアーティファ…接続テスト認証、認可、メッセージ処…更新と点検期限、所有者、利用箇所、切…CertPas オリジナル図解
認証要件の確定からセキュリティアーティファクト登録、iFlow参照、接続テスト、更新管理までの流れ
目次
  1. セキュリティアーティファクトの役割
  2. 登録前に整理する認証要件
  3. ユーザー資格情報を安全に使う手順
  4. 証明書とキーストアを管理する手順
  5. OAuthとPGPの運用ポイント
  6. 認証エラーを切り分ける方法
  7. 変更管理と定期点検
  8. 実務で使える確認チェックリスト

SAP CPI(Cloud Integration)では、外部システムとの通信に使う秘密情報をiFlowへ直接記述せず、セキュリティアーティファクトとして分離して管理します。代表例は、ユーザー資格情報、OAuth 2.0関連情報、キーペア、証明書、キーストア、PGP鍵です。iFlowの設計と認証情報の管理を分けることで、接続先の変更や資格情報の更新を安全に進められます。

この記事では、アーティファクトの選び方、登録時の確認項目、デプロイ後の接続テスト、期限切れや権限エラーの切り分けを、運用担当者が使える形でまとめます。iFlow全体の構成を先に確認したい場合は、SAP CPI iFlowの基礎も参照してください。

セキュリティアーティファクトの役割

セキュリティアーティファクトは、接続先が要求する認証方式に合わせて選択します。HTTP接続でユーザー名とパスワードを使う場合はユーザー資格情報、OAuth 2.0ではクライアント情報やトークン取得に必要な設定、SFTPの公開鍵認証ではキーペアやKnown Hosts、TLS相互認証ではクライアント証明書を含むキーストアを使います。

アーティファクト主な用途実務上の確認点
User CredentialsBasic認証、SFTPパスワード認証ユーザー名、パスワード、接続先の割り当て
OAuth 2.0関連設定OAuth認証を使うHTTP接続Client ID、Client Secret、トークンURL、スコープ
Key Pair公開鍵・秘密鍵による認証秘密鍵の保管、公開鍵の登録先、期限
CertificateTLS通信や署名検証発行者、Subject、SAN、有効期限、チェーン
Keystoreクライアント証明書を含む鍵管理エイリアス、パスワード、証明書チェーン
PGP Keyメッセージの暗号化・復号、署名検証公開鍵・秘密鍵、Key ID、交換方法

アーティファクト名は接続先、用途、環境を識別できる規則にします。たとえば S4P_HTTP_PROD_BASIC や SFTP_PARTNERA_CLIENTCERT のように、システム名と用途を含めると、iFlowから参照する際の誤選択を減らせます。

SAP CPIで使うセキュリティアーティファクトの選び方代表的な認証要件と適切なアーティファクトを対応付けるSAP CPIで使うセキュリティアーティファクトの選び方代表的な認証要件と適切なアーティファクトを対応付ける認証方式の選択肢別の要件別プロトコルメッセージ保護Basic認証・パスワード…HTTPやSFTPのパスワード…OAuth 2.0クライアント情報、トーク…相互TLSクライアント証明書を含む…SFTP公開鍵認証秘密鍵とKnown Hostsを分…PGP暗号化・署名Key IDで正しい公開鍵また…CertPas オリジナル図解
Basic、OAuth、相互TLS、SFTP、PGPの認証要件と適切なSAP CPIセキュリティアーティファクトの比較

登録前に整理する認証要件

登録作業の前に、接続先が要求する認証方式と通信方向を確定します。送信側がSAP CPIで、受信側が証明書を検証するのか、SAP CPIが受信側としてクライアント証明書を要求するのかで、必要な鍵や証明書が変わります。

次の項目を接続先の担当者と確認します。

  • 通信プロトコルとポート番号
  • 認証方式と必要なヘッダー
  • 証明書または公開鍵の登録先
  • TLSで検証するサーバー証明書の発行者
  • 秘密鍵、パスワード、Client Secretの受け渡し方法
  • OAuth 2.0のトークンURL、スコープ、認証方式
  • SFTPのKnown Hosts、暗号アルゴリズム、ユーザー名
  • PGPで使用する暗号化鍵と署名鍵の所有者
  • 本番・テスト環境ごとのアーティファクト名

接続先の証明書チェーンを受け取った場合は、ルート証明書、中間証明書、サーバー証明書の関係を確認します。Subjectだけで判断せず、SANに接続先ホスト名が含まれること、有効期限が残っていること、用途が通信条件に合っていることを確認します。

SAP CPI認証エラーの切り分け資格情報や証明書を変更する前に失敗箇所を特定するSAP CPI認証エラーの切り分け資格情報や証明書を変更する前に失敗箇所を特定する最初に確認TLS成功認証成功認可成功メッセージ処理が失敗時刻、iFlow、エンドポイン…TCP・TLS層証明書チェーン、SAN、期…認証層資格情報、トークン取得、鍵…認可層スコープ、ロール、エンドポ…メッセージ処理層マッピング、ペイロード形…CertPas オリジナル図解
SAP CPIの障害をTCP・TLS、認証、認可、メッセージ処理の層に分けて切り分けるフロー

ユーザー資格情報を安全に使う手順

Basic認証やパスワード方式のSFTPでは、ユーザー資格情報アーティファクトに接続用のユーザー名とパスワードを登録します。iFlow側では、アダプターの認証設定からアーティファクト名を参照し、パスワードをメッセージ本文、ヘッダー、スクリプトへ記述しません。

運用手順は次の順序にします。

  1. 接続先ごとに専用のサービスユーザーを用意する。
  2. 接続先で必要最小限の権限を付与する。
  3. SAP CPIのセキュリティアーティファクトに資格情報を登録する。
  4. iFlowのアダプターで参照名を設定する。
  5. デプロイ後、テスト用メッセージで接続を確認する。
  6. 成功ログにパスワードやAuthorizationヘッダーが出力されていないことを確認する。

パスワード更新では、接続先側の変更、SAP CPI側のアーティファクト更新、iFlowの再デプロイまたは再起動要否、疎通テストの順に記録します。資格情報を複数のiFlowで共有する場合は、更新時の影響範囲を一覧化してから変更します。

証明書とキーストアを管理する手順

TLS通信では、サーバー証明書を検証するだけの構成と、クライアント証明書を提示する相互TLS構成を分けて考えます。相互TLSでは、秘密鍵とクライアント証明書を含むキーペアに加えて、必要な証明書チェーンを登録します。

登録時は次の情報を台帳に残します。

  • アーティファクト名と用途
  • 証明書のSubject、Issuer、SAN
  • 有効期限と更新予定日
  • 秘密鍵の所有者と保管責任者
  • 接続先へ登録した公開証明書
  • 使用するiFlowとアダプター
  • 更新手順、検証手順、切り戻し手順

証明書更新は、旧証明書の有効期間内に新証明書を登録し、接続先とSAP CPIの両方で切り替え可能な時間帯を確保して実施します。切り替え後は、正常系だけでなく、証明書検証、署名、暗号化、受信ファイル処理など、実際に証明書を使う処理を確認します。

SFTPでは、公開鍵認証用の秘密鍵と、接続先サーバーを検証するKnown Hostsを別の管理対象として扱います。公開鍵を接続先へ登録した後、ホスト鍵のフィンガープリントを照合してから接続テストを行います。SFTPアダプターの選択肢を比較する場合は、SAP CPIアダプター種別の比較が参考になります。

OAuthとPGPの運用ポイント

OAuth 2.0では、Client ID、Client Secret、トークンURL、スコープ、認証方式を一つの接続要件として管理します。アクセストークンの取得に成功しても、業務APIのスコープやロールが不足していればAPI呼び出しは失敗します。HTTPステータスだけでなく、トークン取得と業務API呼び出しを分けて確認します。

PGPでは、暗号化に使う公開鍵と、復号・署名に使う秘密鍵の管理責任を明確にします。送信側が受信側の公開鍵で暗号化し、受信側が自分の秘密鍵で復号する流れを文書化します。鍵交換時にはKey ID、フィンガープリント、有効期限を照合し、鍵更新時は旧鍵で処理された未処理ファイルの扱いも決めておきます。

メッセージマッピングや変換処理と認証情報の変更を同じリリースに含めると、障害原因の切り分けが難しくなります。認証アーティファクトの変更と変換ロジックの変更は、可能な限り別の変更単位に分けます。変換設計との関係は、SAP CPIメッセージマッピングの基礎で整理できます。

認証エラーを切り分ける方法

認証エラーが発生したら、まず失敗地点を特定します。接続先へのTCP/TLS接続、TLS証明書検証、認証情報の送信、トークン取得、業務API認可、メッセージ処理のどこで失敗したかを分けると、確認対象が絞れます。

症状主な確認対象対応
TLSハンドシェイク失敗証明書期限、SAN、チェーン、TLS条件証明書と接続先条件を再照合する
401 Unauthorizedユーザー資格情報、Client ID、トークン資格情報とトークン取得結果を確認する
403 ForbiddenAPIロール、スコープ、SFTP権限接続先の認可設定を確認する
SFTP公開鍵認証失敗秘密鍵、公開鍵、ユーザー、Known Hosts鍵の組み合わせと登録先を確認する
PGP復号失敗Key ID、秘密鍵、パスフレーズ、ファイル形式使用鍵と暗号化方式を照合する
期限切れエラー証明書、鍵、Client Secret更新履歴と切り替え時刻を確認する

監視では、メッセージ処理ログ、アーティファクトの更新履歴、接続先の監査ログを同じ時刻で照合します。エラー本文へ秘密情報をコピーせず、必要な場合はマスキングした識別子、Key ID、証明書のSubjectなどで調査します。運用監視の整理には、SAP CPIの監視とエラーハンドリングも利用できます。

変更管理と定期点検

セキュリティアーティファクトは、登録した時点で完了ではなく、期限と利用箇所を継続的に管理します。少なくとも月次で、証明書・鍵・Client Secretの期限、未使用アーティファクト、複数iFlowからの参照状況、接続先側の権限変更を確認します。

変更記録には、変更理由、承認者、実施者、対象アーティファクト、影響するiFlow、実施時刻、テスト結果、切り戻し方法を含めます。秘密鍵やパスワードそのものをチケットや共有フォルダーへ保存せず、保管場所の参照情報だけを記録します。

本番障害を減らすには、期限通知を担当者個人の記憶に依存させず、台帳と監視で管理します。更新前には接続先の切り替え条件を確認し、更新後には送信・受信・再送の各シナリオを実行します。PI、PO、CPIの位置付けを含めた全体像は、SAP連携(PI/PO/CPI)の概要から確認できます。

実務で使える確認チェックリスト

  • 接続先の認証方式と通信方向を確定した
  • アーティファクト名に環境と用途を含めた
  • 秘密情報をiFlow、スクリプト、ログへ記述していない
  • 証明書のSubject、SAN、Issuer、有効期限を確認した
  • 公開鍵、秘密鍵、Known Hostsの役割を分離した
  • OAuthのトークンURL、スコープ、API権限を確認した
  • PGPのKey IDとフィンガープリントを照合した
  • 更新前後の疎通テストと切り戻し手順を用意した
  • 利用中のiFlow、所有者、期限を台帳に登録した
  • エラーログに秘密情報が出力されていないことを確認した

認証方式を先に確定し、アーティファクトを用途別に分離し、期限と利用箇所を台帳で管理することが、SAP CPIのセキュリティ運用を安定させる基本です。

ブログ一覧へ戻る