見出し画像

【動画からレポ】chillSAPの技術部屋 (おしゃれ技術イベント) 〜脇役でごめんなさい〜 SAP BTPの認証認可: XSUAAとは何だったのか?

2021年6月2日に開催されたSAPのユーザーコミュニティ「ChillSAP」のオンラインイベント「chillSAPの技術部屋 (おしゃれ技術イベント)」が開催されました。昨日は基調講演の梅田拓也先生による「ハードウェアを知らない子どもたち」のレポートを書きましたが、ことのほか素晴らしい内容でしたので、ChillSAPもくもく会のネタとして次のセッションもやってみようと思います。(ラスト4つめ)

アーカイブ動画はこちらです

ラストの登壇は Mona Lisaco さん。爆笑LTは以前のchill SAPでもお見掛けしました。


画像1

テーマ
・SAP BTPでの認証認可の話、
・XSUAAが認証認可の要

XSUAAとは?

・BTP向けにSAPが提供するCloudFoundry環境の認証・認可サービス
・CF上のビジネスユーザを認証
・各種ビジネスアプリケーションに対する認可、権限割当を行う

UAA:User Account and Authentication~Cloud Foundry環境のID管理サービス
XSUAA:Extended Services for UAA~BTP向けにSAPが拡張し提供するUAA

XSUAAっていつ使う?

BTPによるS/4HANA拡張での認証認可と暗躍するXSUAA

ユーザ認証(Authorization)

画像2

・ユーザーがアクセスするときにApprouterを介してXSUAAが認証する。
・XSUAAから認証結果が帰ってきたらApprouterがアプリを呼び出す。
・PrincepalPropagatinでユーザ認証情報をバックエンドに伝搬する。

認可(Authentication)

画像3


S/4トランザクションetcの権限制御
・S/4アプリはXSUAAからの認証認可情報を元にPrincepalPropagatinで伝搬された認証でABAPの権限チェックが実行できる。

画像4


アプリ画面へのアクセス制御
・XSUAAの情報を受けてBTP Launchpadでユーザごとに使うタイルを制御される

画像5


全体の概念
普通にBTPを使うだけでXSUAAの暗躍した結果を使っていることになる

画像6


XSUAAの中身を解剖

画像7

・Role-Collection 1:n Roll 1:n Scopes
・Role-Collectionの操作だけで出来る
・自由に組み合わせられる

画像8


XSUAAとCFアプリの動き方イメージ

画像9

・ユーザがAppRouterにアクセス
・AppRouterからXSUAAにルーティングしユーザ認証
・XSUAAがRole-Collectionにユーザ割り当てを確認
・Role/Scopeを探してJWTを発行しAppRouterに渡す
・Business Appへのリクエスト時にAppRouterはJWTを渡す
・Business AppはJWTのScope情報を利用して権限制御

・・・意外と簡単な仕組み

簡単なので作ってみた

XSUAAでScopeとRoleをつくってみよう!
自動生成されるものだが仕組みを理解するためあえて作る

・xs-security.jsonでセキュリティ情報を定義
 Scopeの定義とRoleとScopeとの紐づけを記述する
・XSUAAサービスインスタンス(xsapp)をCF環境に作成
 コマンドライン cf create-server Xsuaa application monamona_xsapp -c xs-security.json (BTP CockpitのGUIなどでもできます)
・BTP Cockpitの画面でRole Collectionを作りユーザに割り当て

CFアプリでXSUAAを利用した認証と権限制御をしてみよう!

画像10

・xsappとAppRouterのバインド
・AppRouterでの認証チェックを設定
・DestinationでのJWT連携を設定
・Bussiness Appでの認証チェックを実装

CFアプリでXSUAAによる権限制御するにはライブラリ・フレームワークを活用
・Node.js Cloud SDK for javaScript
・java  Cloud SDK for java
・CDS(CDL) CAP

画像11


デモ

画像12

割り当てられた権限で実行してみます

権限有の場合

画像13

権限無しの場合

画像14

・・・ちゃんと動きました


画像15

サルバトール・ムンディ
ラテン語で「世界の救世主」
レオナルドダビンチによる青いローブをまとったキリストの肖像画、男性のモナ・リザとも呼ばれる

<ChillSAP>


<Facebook>



この記事が気に入ったらサポートをしてみませんか?