分析権限 SAP HANA: どうやって作るの?

⚡ スマートサマリー

分析権限 SAP HANAはオブジェクト権限の上に行レベルの認証を追加するため、同じ情報ビューを照会する2人のユーザーは、割り当てられた制限内で許可されているレコードのみを表示できます。 SAP HANAスタジオ。

  • 🔘 目的: オブジェクト権限はビュー全体を開くのに対し、分析権限はビューが返す行をフィルタリングします。
  • ☑️ 範囲: 属性ビュー、分析ビュー、計算ビューはそれぞれ、分析権限によって保護することができます。
  • ✅ 制限事項: 同一属性内の値はORで結合され、異なる属性に対する制約はANDで結合されます。
  • 🧪 例: CA_FI_LEDGER計算ビューに対する権限により、ユーザーABHI_TESTは会社1000に制限されます。
  • 🛠️ 割り当て: この制限は、検証、有効化、ユーザーまたはロールへの割り当て、および展開が完了した後にのみ適用されます。
  • 📈 方向: XMLベースの権限は非推奨となったため、新しい制限はSQL分析権限として記述される。

分析権限により行レベルのデータアクセスが制限される SAP HANA

分析権限とは何か SAP ハナ?

分析権限は、ユーザーが閲覧を許可されているデータに制限するため、 SAP HANAセキュリティ.

SQL権限はオブジェクトレベルでの承認を付与するものであり、レコードレベルでの承認を付与するものではありません。ビューに対するSELECT権限を持つユーザーは、そのビュー内のすべての行を読み取ることができます。行レベルでの制限が必要な場合は、代わりに分析権限が使用されます。

分析権限は、以下の情報ビューに対する承認を提供します。

以下に分析権限を作成し、ユーザー「ABHI_TEST」に割り当てます。これにより、ユーザーは値が1000の会社のデータのみを表示できるようになります。オブジェクト権限はビューを開き、分析権限はどの行を返すかを決定するため、両方の権限が必要です。

分析権限を作成する方法 SAP HANA

以下の6つのステップは SAP ハナスタジオ権限の作成から、2人目のユーザーでのテストまで。

ステップ1) 分析権限に移動します。モデリング パッケージを右クリックし、次に示すように、[新規] → [分析権限] を選択します。

モデリングパッケージのコンテキストメニューに新しい分析権限オプションが追加されました

ステップ2) 新規ポップアップが表示されます。下記に示す分析権限の詳細を入力してください。

  1. 分析権限の名前とラベルを入力してください。
  2. パッケージ名は自動的に選択されます。
  3. 選択オプションによって、新たな権限が作成されます。

名前、ラベル、パッケージの各フィールドを備えた新しい分析権限ダイアログ

次のステップでは、権限の追加と編集を行うための分析権限エディタが表示されます。

ステップ3) 「OK」ボタンをクリックします。分析権限エディタが開き、最初に参照モデルが選択されます。

  1. 「一般」セクションには、名前とラベルが表示されます。
  2. 下図に示すように、「参照モデル」セクションの「追加」ボタンをクリックします。
  3. 以前作成した計算ビュー(CA_FI_LEDGER)を選択します。

分析権限エディターの参照モデルセクションにある追加ボタン

有効性と属性制限は、同じエディタ内で定義されます。

  1. 「追加」ボタンをクリックして、権限の有効性を作成します。
  2. 権限の有効性を割り当てます。
  3. 制限を適用する属性を選択するには、「追加」ボタンをクリックします。
  4. 「会社」属性を選択してください。
  5. 追加ボタンをクリックして、その属性に値を割り当ててください。
  6. 型または演算子と値を選択して値を割り当てます。ここでは、以下に示すように、ユーザーは会社1000の計算ビューのデータのみに制限されます。

参照モデル、有効性、および企業制限を備えた分析権限エディター

分析権限を検証して有効化します。すると、以下に示すように、モデリングパッケージ内の分析権限フォルダーに作成されます。

分析権限が有効化され、分析権限フォルダーに一覧表示されます。

ステップ4) 既にモデリングパッケージに対する権限を持つユーザー「ABHI_TEST」に、分析権限を割り当てます。 Doubleセキュリティ -> ユーザー の下にあるユーザー「ABHI_TEST」をクリックします。

  1. 「分析権限」タブを選択してください。
  2. 「+」ボタンをクリックしてください。
  3. 「分析権限の選択」というポップアップが表示されます。以前に作成した分析権限の名前を入力してください。
  4. 分析権限を選択してください。
  5. 下図のように「OK」ボタンをクリックしてください。

ユーザーメンテナンス画面で「分析権限」ポップアップを選択します。

以下に示すように、ユーザーに分析権限が追加されます。

権限が追加された後のユーザーABHI_TESTの分析権限タブ

ステップ5) デプロイボタンをクリックして、変更内容をユーザーに展開します。以下に示すように、ユーザー「ABHI_TEST」が変更されたことを示すメッセージが表示されます。

ユーザーABHI_TESTが変更されたことを示す確認メッセージをデプロイします。

ステップ6) 分析権限を確認してください。HANAUSERシステムから「ABHI_TEST」としてログオンし、割り当てが正しく機能することを確認してください。

  1. HDB(HANAUSER)の現在のシステムを選択し、右クリックします。
  2. 「別のユーザーでシステムを追加」を選択し、以下に示すように「ABHI_TEST」のユーザー名とパスワードを入力します。
  3. システムHDB(ABHI_TEST)がシステムリストに追加されました。

ABHI_TESTとしてログオンするために使用される「異なるユーザーでシステムを追加」オプション

ABHI_TEST ユーザーは、HANAUSER によって作成された計算ビューのデータへの完全なアクセス権を持っていません。これは、HANAUSER がそのビューを会社 1000 に制限する分析権限を作成し、それを ABHI_TEST に割り当てたためです。

コンテンツフォルダに移動し、パッケージを選択して、計算ビュー(CA_FI_LEDGER)を右クリックして、データプレビューを選択します。データプレビュー画面が以下のように表示されます。

計算ビューのデータプレビューは、企業1000に限定されています。

計算ビューのデータは会社コード1000に制限されており、これはそのユーザーに対して分析権限が有効であることを示しています。

従来のXMLとSQLの分析権限の比較

分析権限には2種類あり、どちらを選択するかは新規開発において重要です。上に示したエディタは、従来のXMLベースの権限を作成します。SQL分析権限は1990年に導入されました。 SAP HANA 1.0 SPS 10 では、SQL フィルタ条件と同じ制約を表現できます。

側面 従来型(XMLベース) SQL分析権限
モデラー内でグラフィカルに維持され、XML設計時オブジェクトとして保存される。 SQLフィルタ条件によって定義されるため、複雑なロジックも読みやすく保たれます。
の賃貸条件 単純な演算子を用いた属性制約。 ネストされた条件や複合条件を含む、完全なSQL式。
ステータス 非推奨になりました SAP HANA 2.0 SPS 02。 あらゆる新しい特典におすすめです。
利用状況 では利用できません SAP HANAクラウド。 でサポートされています SAP HANA 2.0と SAP HANAクラウド。

その SAP HANA modeler には、従来の XML ベースの権限を SQL ベースの権限に変換する移行アクティビティが同梱されているため、既存の制限を手動で書き直す必要はありません。 SAP HANA Cloudでは、権限はHDIコンテナ内の設計時アーティファクトとなり、ユーザーエディタを経由するのではなく、ロールを通じてユーザーに付与されます。

分析権限制限の評価方法

条件がどのように組み合わさるかを知ることで、結果が過剰になったり、全く得られなかったりするような制約を回避できます。

  • 1 つの属性に対してリストされた複数の値は論理値と組み合わされます ORそのため、ユーザーは会社1000または会社2000を目にする可能性があります。
  • さまざまな属性に対する制約は論理的に組み合わされます そしてそのため、企業と国が一致している必要がある。
  • ユーザーが同じビューに対して複数の分析権限を持っている場合、それらの結果は合算されるため、アクセス範囲は狭まるどころか広がる。
  • 静的制限は固定値を格納するのに対し、動的制限は実行時にプロシージャから許可された値を読み取るため、1つの権限で複数のユーザーに対応できます。

ビューは、その「適用権限」プロパティに権限タイプが指定されている場合にのみチェックされ、SELECT オブジェクト権限に加えてチェックが実行されます。アクティベーションによって生成された列ビューは _SYS_BIC スキーマに存在し、ユーザーの有効な制限は EFFECTIVE_STRUCTURED_PRIVILEGES システムビューから読み取ることができます。

よくある分析権限エラーとその修正方法

情報ビューにおける認証問題のほとんどは、以下のいずれかの状況に起因します。

  • ビューで認証エラーが発生します。 ユーザーは分析権限は持っているものの、生成された列ビューまたは基となるスキーマに対するSELECT権限は持っていません。両方の権限を付与してください。
  • プレビューでは何も表示されません。 制限属性に一致する値が存在しないか、または権限の有効期間が既に終了しています。
  • その制限は無視されます。 権限は作成されたものの有効化されていないか、ビューに「権限の適用」プロパティが設定されていません。
  • 変更は効果がありません。 割り当てがデプロイされなかったか、デプロイ前にユーザーセッションが開始されたため、再接続が必要です。
  • いずれにせよ、すべては見えるのだ。 ユーザーは_SYS_BI_CP_ALL権限を保持しており、これによりすべての情報ビューへの無制限のアクセスが許可されるため、本番環境の役割には使用すべきではありません。

分析権限はユーザーに直接付与するのではなく、ロールを通じて付与します。これにより、同じ制限を1か所で確認、転送、取り消すことができます。保護されたビューのコンテキストのモデリングについては、 SAP HANAモデリング (NAIST) と SAP HANA ガイド。

よくあるご質問

SAP HANAは、管理タスクにはシステム権限、テーブルとビューにはオブジェクト権限、リポジトリコンテンツにはパッケージ権限、XSアプリケーションにはアプリケーション権限、情報ビュー内の行レベルアクセスには分析権限を使用します。

はい。参照モデルセクションでは複数の情報ビューを受け付けることができ、制限対象の属性がリストされているすべてのビューに存在する場合、同じ属性制限がそれぞれのビューに適用されます。

_SYS_BI_CP_ALL は、すべての情報ビューへの無制限アクセスを許可する、生成された分析権限です。サンドボックス環境でのモデラーにとっては便利ですが、行レベルのセキュリティを無効にするため、本番環境のロールには適していません。

アクセスログに対する機械学習は、通常のクエリ動作を分析し、突然通常とは異なる企業や地域にアクセスしたアカウントにフラグを立てます。このようなツールは、リスクの高い権限付与をランク付けしてレビュー対象としますが、どの権限を変更するかは最終的にセキュリティ管理者が決定します。

GitHub Copilotは、短いコメントからフィルタ条件と関連するSQL文を生成するため、複雑な制約設定の作業を効率化できます。ただし、生成された条件はすべて実際のデータでテストする必要があります。誤った演算子を使用すると、意図せずアクセス権限が拡大されてしまう可能性があるためです。

SAP HANA Cloud は SQL 分析権限のみをサポートします。権限は HDI コンテナ内の設計時アーティファクトであり、ロールを通じて付与され、従来の XML エディタから SAP HANA Studioは現在ご利用いただけません。

いいえ。この制限は、[適用権限] プロパティが設定されている情報ビューに対して評価されます。ベーステーブルに対するクエリはオブジェクト権限のみによって制御されるため、機密性の高いテーブルはビューを介して公開する必要があります。

ロールは権限を束ねたものであり、転送とレビューのための推奨されるコンテナです。分析権限はその束に含まれるオブジェクトの1つであり、それをユーザーに直接付与すると、後々の監査で同じ制限を適用することが難しくなります。