0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ABAP Cloud Developer TrialでPrincipal Propagationの設定をする

Posted at

はじめに

この記事では、ABAP Cloud Developer Trial環境でPrincipal Propagationの設定を行うための手順について説明します。SAP BTPでDestinationの認証方式としてPrincipal Propagationを選択すると、BTPにログインしたユーザーのID情報を引き継いで、ABAPシステムなどのバックエンドにシングルサインオンでアクセスすることができます。

環境

  • ABAP Cloud Developer Trial 2023
  • Cloud Conecctor(上記に含まれる):バージョン2.18.0

参考情報

Configuring Principal Propagation | Help Portal

前提

  • ABAP Cloud Developer Trialの初期設定が完了し、環境にアクセスできる状態

ステップ

  1. ABAPサーバのシステム証明書をCloud Connectorに信頼させる
  2. BTPとABAPサーバの接続設定
  3. Cloud Connectorのシステム証明書をABAPサーバに信頼させる
  4. 証明書のルールベースマッピングのための設定
  5. サーバの再起動
  6. Destinationの設定
  7. ユーザにメールアドレス設定
  8. 疎通確認

主な目的はCloud Connector、BTP (IdP)、ABAPサーバを互いに信頼させることです。下図のカッコの中に対応するステップの番号を記載しています。

cc.drawio.png

1. ABAPサーバのシステム証明書をCloud Connectorに信頼させる

1.1. ABAPサーバのシステム証明書を更新

ABAP Cloud Developer Trial 2023の場合、ABAPサーバのシステム証明書のCNはデフォルトではA4Hとなっています。この状態だとコンテナのhotstsに設定されたホストと一致せず、Cloud Connectorから接続ができないのでhostsに合わせるようにシステム証明書を更新します。更新後、証明書をエクスポートします。

手順は以下の記事を参照してください。

更新後の証明書の状態
image.png

1.2. ABAPサーバのシステム証明書をCloud Connectorに追加

Configuration > On-Premises > Backend Trust StoreでエクスポートしたABAPサーバのシステム証明書をアップロードします。

image.png

2. BTPとABAPサーバの接続設定

2.1. BTPとABAPサーバの接続設定

Cloud ConnectorにBTPサブアカウントとABAPサーバへの接続を追加します。
手順は以下のDiscovery Centerミッションを参照してください。

2.2. トラストの設定

ABAPサーバへの接続を追加後、Principal PropagationタブでTrust Configurationを更新します。Cloud Connectorがサブアカウントと接続されているIdPを信頼するための設定です。これにより、Cloud ConnectorがIdPで発行されたJWTトークンを受け入れ可能になります。

image.png

3. Cloud Connectorのシステム証明書をABAPサーバに信頼させる

3.1. Cloud Connectorのシステム証明書を作成

Configuration > On-Premises > CA Certificateで自己署名証明書を作成します。
image.png

Subject DNの内容は任意です。
image.png

作成した証明書をダウンロードします。
image.png

3.2. Cloud Connectorのシステム証明書をABAPサーバに追加

Tr-cd: STRUSTで、SSL server Standardより前のステップでダウンロードした証明書をインポートします。
image.png

インポート後、"Add to Certificate List"をクリックして追加します。
image.png

3.3. ICMにCloud Connectorの証明書を信頼させるためのパラメータ設定

Tr-cd: RZ10でプロファイルパラメータを更新します。
インスタンスプロファイル、またはデフォルトプロファイルを選択し、"Extended maintenance"を選択してChangeをクリックします。

image.png

以下のパラメータを追加します。
Parameter Name: icm/trusted_reverse_proxy_<index>
Parameter Value SUBJECT="<subject>", ISSUER="<issuer>"
subjectおよびissuerは前のステップでインポートしたCloud Connectorのシステム証明書で確認できます。

image.png

第一画面に戻り保存ボタンを押下後、Profile > Activate からプロファイルを有効化します。

4. 証明書のルールベースマッピングのための設定

Principal Propagationで認証する際、Cloud Connectorはログインユーザの証明書を発行してABAPサーバに渡します。この証明書の内容とABAPサーバに登録されたユーザをマッピングするための設定を行います。

4.1. CA証明書の作成

Configuration > On-Premises > Principal Propagationで、ログインユーザの証明書を発行するローカルCAの証明書を作成します。

image.png

Subject DNの内容は任意です。
image.png

4.2 Subject Pattern Ruleの設定

Configuration > On-Premises > Principal Propagationで、Subject Pattern Rulesを編集します。
image.png

Common Nameに${email}を選択します。これがBTPから渡されるユーザの属性になります。
image.png

4.3. サンプル証明書のダウンロード

Subject Pattern Ruleにもとづくサンプル証明書をダウンロードします。
image.png

emailに自分のメールアドレスを設定し、"Generate"をクリックします。
image.png

4.4. 証明書のマッピング

Tr-cd: CERTRULEでサンプル証明書をインポートします。
image.png

ルールを追加します。
image.png

Login Asに"E-Mail"を設定します。
image.png

以下の状態で追加されます。
image.png

4.5. ルールベースの証明書マッピングを使用するためのパラメータ設定

Tr-cd: RZ10でプロファイルパラメータを更新します。
今回設定するパラメータはデフォルトプロファイルで更新する必要があります。

image.png

以下のパラメータを追加します。
Parameter Name: login/certificate_mapping_rulebased
Parameter Value: 1
image.png

第一画面に戻り保存ボタンを押下後、Profile > Activate からプロファイルを有効化します。

5. サーバの再起動

プロファイルパラメータの更新を反映させるため、ABAPサーバを再起動します。

docker stop -t 7200 a4h //停止
docker start a4h     //再起動

6. Destinationの設定

BTPコックピットでDestinationを登録します。以下のように設定します。
Proxy Type: Onpremise
Authentication: PrincipalPropagation

image.png

最近DestinationのUIが変わりましたが、新しいUIだと一画面で設定情報を表示できないので旧UIで表示しています

7. ユーザにメールアドレス設定

Tr-cd: SU01でユーザにメールアドレスを設定します。BTPにログインする際のメールアドレスと一致させます。

image.png

8. 疎通確認

SAP Business Application StudioからFioriアプリケーションを作成してみます。Destinationを選択後、ODataサービスの一覧が表示されれば疎通は成功です。

image.png

おわりに

この記事では、ABAP Cloud Developer TrialでPrincipal Propagationの設定をする手順について紹介しました。次はCAPからPrincipal PropagationでOData APIにアクセスしてみたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?