はじめに
この投稿では、SAPの会社アクセスにおけるユーザーレベルのセキュリティについて説明します。
ユーザーAが会社001のデータベースのみへのアクセスを必要とし、ユーザーBが会社002と003のみへのアクセスを必要とするシナリオに遭遇することがあります。その場合、以下の設定が役立ちます。
実践
設定
これは、Sharperlightのサイトセットアップで行うことができます。
今回のシナリオでは、2人のSharperlightユーザー、「guest」と「jpuser」を使用します。
「guest」ユーザーは会社「OEC Computers UK」のみアクセスでき、「jpuser」ユーザーは「OECジャパン株式会社」と「OEC Computers Australia」のみアクセスできます。
Sharperlightアプリケーションメニューからサイトセットアップを開始します。
ユーザーを参照し、‘guest’ユーザーを選択してノードを展開します。
SAP Business Oneのプロダクトの設定を表示します。
セキュリティの項目の下に'Company Security'というプロパティがあります。
これにSAPの会社データベース名を指定することで、会社アクセスのユーザーレベルのセキュリティを適用できます。
Sharperlight クエリビルダーを使用して、SAPの会社データベース名を確認しましょう。これはSharperlightアプリケーションメニューからアクセスできます。
サイトセットアップに戻り、「guest」ユーザーのSAPプロダクト設定を表示します。
'Company Security'フィールドにSBODemoGBと入力します。これにより、「guest」ユーザーはOEC Computers UKだけへのアクセスが可能になります。
次に、「jpuser」ユーザーのセキュリティを設定します。
'Company Security'フィールドにSBODemoJP,SBODemoAUと入力します。これにより、「jpuser」ユーザーはOECジャパン株式会社とOEC Computers Australiaのみへのアクセスが可能になります。
設定が完了したので、「閉じる」ボタンをクリックして保存します。
検証
Sharperlightアプリケーションメニューに移動し、Ctrlキーを押しながらクエリビルダーをクリックして、ログインダイアログが表示されるまで待ちます。
「guest」をユーザー名として入力し、「ログイン」ボタンをクリックします。
クエリビルダーが起動したら、会社フィルターの検索ダイアログを開きます。
「guest」ユーザーは「OEC Computers UK」会社しか見えませんね。
Ctrlキーを押しながらクエリビルダーを開き、ログインダイアログが表示されるまで待ちます。
「jpuser」をユーザー名として入力し、「ログイン」ボタンをクリックします。
クエリビルダーが起動したら、会社フィルターの検索ダイアログを開きます。
「jpuser」ユーザーはOECジャパン株式会社とOEC Computers Australia会社しか見えませんね。
注意
SAPの会社アクセスに対するユーザーレベルのセキュリティを実現するためには、製品レベルのセキュリティを設定する必要があります。
サイトセットアップを開き、プロダクトの設定に進んで、SAP Business Oneを見つけます。
Default Company - Showプロパティがあり、これをFALSEに設定します。デフォルトではTRUEに設定されています。
FALSEをそのプロパティに設定することで、会社が会社検索に表示されなくなります。
通常、もしDefault Companyプロパティで何も指定されていない場合、会社として、SAPに登録されている会社の一番最初の会社が表示されます。
ただし、Default Company - ShowプロパティがTRUEの場合、検索ダイアログは「guest」ユーザーに対してこのようになります。
「guest」ユーザーに対してOEC Computers UKデータベースのみへのアクセスを設定したにもかかわらず、「guest」ユーザーはOEC Computers Australiaにもアクセスできるようになります。
あとがき
これにより、ビジネスニーズに応じたより柔軟なセキュリティ設定が提供できることを願っています。