SAP HANA セキュリティ: 完全なチュートリアル

⚡ スマートサマリー

SAP HANA Securityは、認証、認可、ユーザーおよびロール管理、監査、暗号化を通じて、不正アクセスからビジネスデータを保護し、これらの制御をシステム上で実行されているすべてのテナントデータベースコンテナに一貫して適用します。

  • 🔐 認証: Kerberos、ユーザー名とパスワード、SAML、ログオンチケット、X.509証明書によって、誰が接続しているかが検証されます。
  • 🛡️ 承認: 認証されたユーザーが閲覧または変更できる内容は、6種類の権限タイプによって決定されます。
  • 👥 ユーザーの種類: 技術ユーザー、標準ユーザー、制限付きユーザーでは、デフォルトのアクセス権限が大きく異なります。
  • 🧩 役割: ロールは権限を束ねたものであり、大規模なアクセス権限を付与するための標準的な方法です。
  • 📜 ライセンス: 永久キーには有効期限があり、その後28日間有効な一時キーが自動的にインストールされます。
  • 🔎 監査: 監査ポリシーを有効にするには、まずシステムで監査機能を有効にする必要があります。

SAP HANAセキュリティ

何ですか SAP HANAのセキュリティ?

SAP HANA Securityは、ビジネス上重要なデータを不正アクセスから保護し、企業が採用するコンプライアンス基準にシステムを準拠させます。

SAP HANA マルチテナントデータベースをサポートしており、1つのシステム上で複数のデータベースが稼働します。各データベースはテナントデータベースコンテナであり、以下のセキュリティ機能はコンテナごとに適用されます。

SAP HANAは、以下のセキュリティ関連機能を提供します。

  • ユーザーと役割の管理
  • Authorization
  • 認証
  • 永続化レイヤーにおけるデータの暗号化
  • ネットワーク層におけるデータの暗号化

SAP HANA ユーザーとロール

SAP HANAのユーザーとロールの管理構成は、 建築、以下に説明します。

3層 Archi構造

SAP HANAは3層リレーショナルデータベースとして使用できます Archi構造。

このアーキテクチャでは、セキュリティ機能(認可、認証、暗号化、監査)はアプリケーションサーバー層にインストールされます。

その SAP アプリケーション(ERP、BWなど)は、以下に示すように、技術ユーザーまたはデータベース管理者(Basis担当者)の支援を受けてのみデータベースに接続します。エンドユーザーは、データベースまたはデータベースサーバーに直接アクセスすることはできません。

SAP HANA 3層 Archiアプリケーションサーバー層にセキュリティを備えた構造

2層 Archi構造

SAP HANA拡張アプリケーションサービス(SAP HANA XS) は 2 層アーキテクチャに基づいています Archi以下に示すように、アプリケーションサーバー、Webサーバー、開発環境が単一のシステムに組み込まれたアーキテクチャ。

SAP HANA 2層 Archi埋め込み構造 SAP HANA XSアプリケーションサーバー

SAP HANA認証

データベースユーザーは、誰がアクセスしているかを識別します SAP HANAデータベースであり、そのIDは「認証」によって検証されます。 SAP HANAは多くの認証方法をサポートしており、シングルサインオン(SSO)はそれらのいくつかを統合しています。

SAP HANAは以下の認証方法をサポートしています。

  • Kerberos: 次のような場合に使用できます。
    • JDBCおよびODBCクライアントから直接(SAP ハナスタジオ).
    • HTTPを使用してアクセスする場合 SAP ハナXS。
  • ユーザー名/パスワード: ユーザーがデータベースのユーザー名とパスワードを入力すると、 SAP HANAデータベースがユーザー認証を行います。
  • セキュリティ アサーション マークアップ言語 (SAML)

    SAMLは認証できます SAP HANAユーザーはODBC/JDBCを介してデータベースに直接アクセスします。外部IDが内部データベースユーザーにマッピングされるため、ユーザーは外部ユーザーIDでログインします。

  • SAP ログオンおよびアサーション チケット

    ユーザーは、その目的のために設定および発行されるログオンチケットまたはアサーションチケットによって認証される。

  • X.509クライアント証明書

       SAP HANA XSへのアクセスはHTTP経由で行われ、信頼できる認証局(CA)によって署名されたクライアント証明書によってユーザーが認証されます。

SAP HANA 認証

SAP ユーザーがクライアントインターフェイス(JDBC、ODBC、またはHTTP)を使用してアクセスする場合、HANA認証が必要です。 SAP HANA データベース。

ユーザーに付与された権限に応じて、そのユーザーはデータベースオブジェクトに対してデータベース操作を実行できます。この権限は「特権」と呼ばれます。

権限は、ユーザーに直接付与することも、役割を通じて間接的に付与することもできます。ユーザーに割り当てられたすべての権限は、単一の単位として扱われます。

ユーザーが SAP HANAデータベースオブジェクトの場合、システムはユーザーロールと直接付与された権限を通じて認証を確認します。

要求された権限が見つかった場合、システムはそれ以上のチェックをスキップしてアクセスを許可します。

SAP HANAは以下の権限タイプを提供します。

権限の種類 詳細説明
システム特権 通常のシステムアクティビティを制御します。システム権限は主に以下の目的で使用されます。

  • スキーマの作成と削除 SAP HANAデータベース
  • ユーザーと役割の管理 SAP HANAデータベース
  • 監視と tracの SAP HANAデータベース
  • データのバックアップの実行
  • ライセンスの管理
  • バージョン管理
  • 監査の管理
  • インポートとエクスポート コンテンツ
  • 配送ユニットの維持管理
オブジェクト権限 オブジェクト権限は、 SQL データベースオブジェクトの読み取りおよび変更を許可するために使用される権限。データベースオブジェクトにアクセスするには、ユーザーはそのオブジェクト、またはそのオブジェクトが存在するスキーマに対するオブジェクト権限が必要です。オブジェクト権限は、カタログオブジェクト(テーブル、ビューなど)または非カタログオブジェクト(開発オブジェクト)に対して付与できます。
オブジェクトの権限は以下のとおりです。

  • 何でも作成
  • 更新、挿入、選択、削除、ドロップ、変更、実行
  • インデックス、トリガー、デバッグ、リファレンス
分析権限 分析権限により、データへの読み取りアクセスが可能になります。 SAP HANA情報モデル (属性ビュー、分析ビュー、計算ビュー)
この権限はクエリ処理中に評価されます。
分析権限は、ユーザーの役割に基づいて、同じ情報ビュー内の異なるデータ部分へのアクセス権を異なるユーザーに付与します。
これらは SAP HANAデータベースは、個々のユーザーが同じビューで表示できるデータに対して、行レベルでの制御を提供する。
パッケージ特典 パッケージ権限は、パッケージ内の個々のパッケージに対するアクションを許可します。 SAP HANAリポジトリ。リポジトリとXSクラシックは、 SAP HANA 2.0 SPS 02では、新しい作業でHDIベースのロールが使用されます。
アプリケーションの権限 アプリケーション権限は SAP HANA拡張アプリケーションサービス(SAP HANA XS) を使用してアプリケーションにアクセスします。
アプリケーション権限は、_SYS_REPOスキーマ内のGRANT_APPLICATION_PRIVILEGEおよびREVOKE_APPLICATION_PRIVILEGEプロシージャを通じて付与および取り消されます。
ユーザーの権限 これは、ユーザーが自身のユーザーアカウントに付与できるSQL権限です。ATTACH DEBUGGERは、この方法でユーザーに付与できる唯一の権限です。

SAP HANA ユーザー管理とロール管理

アクセスする SAP HANAデータベースにはユーザーが必要です。セキュリティポリシーに応じて、2種類のユーザーが存在します。 SAP ハナ。

1. 技術ユーザー(DBAユーザー) – 直接作業するユーザー SAP 必要な権限を持つHANAデータベース。通常、これらのユーザーはデータベースから削除されません。

これらのユーザーは、オブジェクトの作成や、データベースオブジェクトまたはアプリケーションに対する権限の付与といった管理タスクを実行するために作成されます。

その SAP HANAデータベースシステムは、デフォルトで以下のユーザーを標準ユーザーとして提供します。

  • SYSTEM
  • SYS
  • _SYS_REPO

2. データベースまたは実際のユーザー – に取り組みたい各人 SAP HANAデータベースにはデータベースユーザーが必要です。データベースユーザーは、実際にデータベース上で作業する人物を表します。 SAP ハナ。

データベースユーザーには、以下に示す2つのタイプがあります。

ユーザータイプ 詳細説明 割り当てられた役割
標準ユーザー このユーザーは、独自のスキーマ内にオブジェクトを作成したり、システムビュー内のデータを読み取ったりすることができます。標準ユーザーは、「CREATE USER」ステートメントを使用して作成されます。 PUBLICロールは、システムビューの閲覧に割り当てられます。
制限付きユーザー 制限付きユーザーは、SQLコンソールを介した完全なSQLアクセス権限を持たず、「CREATE RESTRICTED USER」ステートメントで作成されます。アプリケーションを使用するために権限が必要な場合は、ロールを通じて付与されます。

  • 制限付きユーザーはデータベースオブジェクトを作成できません。
  • 制限付きユーザーは、ロールによって許可されるまで、データベース内のデータを閲覧できません。
  • 制限付きユーザーは、HTTP経由でのみデータベースに接続できます。
  • クライアント接続のためのODBC/JDBCアクセスは、SQLステートメントを使用して有効にする必要があります。
ODBC/JDBC の機能を完全に利用するには、RESTRICTED_USER_ODBC_ACCESS または RESTRICTED_USER_JDBC_ACCESS ロールが必要です。

An SAP HANAユーザー管理者は、以下の操作にアクセスできます。

  1. ユーザーを作成または削除します。
  2. 役割を定義し、作成する。
  3. ユーザーに役割を付与する。
  4. ユーザーパスワードをリセットします。
  5. 必要に応じてユーザーを再有効化または無効化します。

1. ユーザーを作成する SAP HANA

ROLE ADMIN権限を持つデータベースユーザーのみがユーザーとロールを作成できます。 SAP ハナ。

ステップ1) 新しいユーザーを作成するには SAP HANA Studioで、下図のように「セキュリティ」タブに移動し、以下の手順に従ってください。

  1. セキュリティノードに移動してください。
  2. ユーザーを選択(右クリック)→新規ユーザー。

右クリックのコンテキストメニューで、セキュリティノードの下に新しいユーザーを作成します。

ステップ2) 以下に示すように、ユーザー作成画面が表示されます。

  1. ユーザー名を入力してください。
  2. ユーザーのパスワードを入力してください。
  3. これらは認証メカニズムです。デフォルトでは、ユーザー名とパスワードによる認証が使用されます。

SAP HANA Studioのユーザー作成画面に、ユーザー名とパスワードの入力欄が表示されます。

下記に表示されている「デプロイ」ボタンをクリックすると、ユーザーが作成されます。

デプロイボタン SAP HANA Studio ユーザーエディターツールバー

2. 役割の定義と作成

ロールとは、他のユーザーやロールに付与できる権限の集合です。業務内容に応じて、データベースオブジェクトやアプリケーションに対する権限が含まれます。

これは権限を付与するための標準的なメカニズムですが、権限は直接付与することもできます。多くの標準ロール(たとえば、モデリングとモニタリング)には、 SAP HANA データベース。

標準ロールは、カスタムロールを作成するためのテンプレートとして使用できます。

ロールには、以下の権限を含めることができます。

  • 管理および開発タスクに必要なシステム権限(カタログ読み取り、監査管理など)
  • データベースオブジェクトに対するオブジェクト権限(SELECT、INSERT、DELETEなど)
  • 分析権限 SAP HANA情報ビュー
  • リポジトリパッケージに対するパッケージ権限(REPO.READ、REPO.EDIT_NATIVE_OBJECTSなど)
  • アプリケーション権限 SAP HANA XSアプリケーション
  • ユーザーに対する権限(プロシージャのデバッグ用)

役割の作成

ステップ1) 以下に示すように、セキュリティノードを使用してください。

  1. セキュリティノードに移動してください。 SAP HANA システム。
  2. 「役割」ノードを選択し(右クリック)、[新しい役割]を選択します。

右クリックのコンテキストメニューで、セキュリティノードの下に新しいロールを作成します。

ステップ2) 以下に示すように、役割作成画面が表示されます。

SAP HANA Studioのロール作成画面で、「付与されたロール」タブが開いている。

  1. 「新しい役割」ブロックで役割に名前を付けてください。
  2. 「付与された役割」タブを選択し、「+」アイコンをクリックして、標準の役割または既存の役割を追加します。
  3. 希望する役割を選択してください(例:モデリングまたはモニタリング)。

ステップ3) 下記のとおり割り当てを確認してください。

  1. 選択した役割は、「付与された役割」タブに追加されます。
  2. 権限は、システム権限、オブジェクト権限、分析権限、パッケージ権限などを選択することで直接割り当てることができます。
  3. ロールを作成するには、「デプロイ」アイコンをクリックしてください。

展開前に選択された役割を一覧表示する「付与された役割」タブ

このロールを他のユーザーやロールに付与する場合は、「他のユーザーやロールに付与可能」オプションにチェックを入れてください。signable 他のユーザーや役割に対して。

3. ユーザーに役割を付与する

ステップ1) 以下のダイアログを使用して、ロール「MODELLING_VIEW」を別のユーザー「ABHI_TEST」に割り当ててください。

  1. セキュリティノードの下にあるユーザーサブノードに移動し、それをダブルクリックします。ユーザーウィンドウが開きます。
  2. 付与された役割の「+」アイコンをクリックします。
  3. ポップアップが表示されます。ユーザーに割り当てる役割名を検索してください。

役割検索ポップアップを使用して、ユーザーのMODELLING_VIEWを選択します。

ステップ2) 以下に示すように、「ロール」の下に「MODELLING_VIEW」というロールが追加されました。

ユーザーABHI_TESTにMODELLING_VIEWが追加されたことを示すロールリストが付与されました

ステップ3) 変更をデプロイし、以下のメッセージを確認してください。

  1. 「デプロイ」ボタンをクリックしてください。
  2. 「ユーザー 'ABHI_TEST' が変更されました」というメッセージが表示されます。

ステータスバーに、ロール付与後にユーザーABHI_TESTが変更されたことが表示されます。

4. ユーザーパスワードのリセット

ユーザーパスワードをリセットするには、セキュリティノードの下にあるユーザーサブノードに移動し、それをダブルクリックします。ユーザーウィンドウが開きます。

ステップ1) 下記に示すように、新しい認証情報を入力してください。

  1. 新しいパスワードを入力します。
  2. 確認用のパスワードを入力してください。

パスワードとパスワード確認フィールド SAP HANA Studioユーザーエディター

ステップ2) 新しいパスワードは以下のように保存してください。

  1. 「デプロイ」ボタンをクリックしてください。
  2. 「ユーザー 'ABHI_TEST' が変更されました」というメッセージが表示されます。

ユーザーABHI_TESTのパスワード変更を確認するステータスバー

5. ユーザーの再有効化または無効化

セキュリティノードの下にあるユーザーサブノードに移動し、それをダブルクリックします。ユーザーウィンドウが開きます。

ツールバーには、下図に示す「ユーザー無効化」アイコンがあります。それをクリックしてください。

ユーザーアイコンを無効化します SAP HANA Studio ユーザーエディターツールバー

下図のような確認ポップアップが表示されます。「はい」ボタンをクリックしてください。

ユーザーABHI_TESTを無効化するかどうかを尋ねる確認ポップアップ

「ユーザー 'ABHI_TEST' が無効化されました」というメッセージが表示されます。無効化アイコンが「ユーザーを有効化」に変わり、同じアイコンからユーザーを再度有効化できるようになります。

SAP HANAライセンス管理

ライセンスキーを使用して SAP HANAデータベース。ライセンスキーは、以下の方法でインストールおよび削除できます。 SAP HANA Studio、 SAP HANA HDBSQLコマンドラインツール、およびHANA SQLクエリエディタ。

その SAP HANAデータベースは、2種類のライセンスキーをサポートしています。

  • 永久ライセンス キー: 永久ライセンスキーは有効期限まで有効です。有効期限前に新しいキーを申請し、適用する必要があります。キーの有効期限が切れた場合、28日間有効な一時ライセンスキーが自動的にインストールされます。
  • 一時ライセンスキー: これは新しい SAP HANAデータベースのインストール。90日間有効で、その後は永続キーをリクエストできます。 SAP.

ライセンス管理の承認

ライセンス管理には「ライセンス管理者」権限が必要です。 SAP HANA Cloudはサブスクリプション管理方式のため、キーを手動でインストールする必要はありません。

SAP HANA監査

SAP HANA の監査機能を使用すると、実行されたアクションを監視および記録できます。 SAP HANAシステム。監査ポリシーを作成するには、事前にシステムで監査を有効にする必要があります。

の認可 SAP HANA監査

「監査管理者」システム権限が必要です SAP HANA監査。

よくあるご質問

カタログロールは実行時にのみ存在し、SQLを使用して作成されます。HDIロールは、.hdbroleというサフィックスを持つ設計時アーティファクトであり、コンテナにデプロイされるため、バージョン管理や移送が可能です。

制限付きユーザーはPUBLICロールなしで作成されるため、システムビュー権限やオブジェクト権限は付与されません。アクセスは付与されたロールを通じてのみ可能となり、ODBCまたはJDBC接続は明示的に有効にする必要があります。

永続層暗号化は、ディスク上のデータボリューム、リドゥログ、およびバックアップを保護します。ネットワーク層暗号化は、クライアントおよび内部トラフィックにTLS/SSLを使用します。ルートキーはセキュアストアに保存され、インストール後に変更する必要があります。

はい。機械学習モデルは、監査ログから通常の権限付与パターンを分析し、突然のシステム権限付与、休眠アカウントのアクセス権回復、職務分掌違反などの異常値を検出します。ただし、モデルはリスクをランク付けするだけなので、最終的な判断はレビュー担当者が行います。

CopilotはCREATE ROLE、GRANT、および.hdbroleファイルを迅速に作成するため、繰り返し行う役割の枠組み作りに適しています。 Rev生成されたすべてのステートメントをセキュリティガイドと照らし合わせて確認してください。提案内容によっては、権限が過剰に付与されていたり、非推奨のリポジトリ構文が使用されている場合があります。

これは、1 つのテナントデータベース上の独立したデータベースです。 SAP HANAシステムでは、各テナントが独自のユーザー、ロール、カタログ、および永続化情報を保持し、システムデータベースはテナントの作成やライセンス付与など、インストール全体に共通するタスクを処理します。

いいえ。 SAP 各タスクに必要な権限のみを持つ管理者ユーザーを個別に作成し、SYSTEMユーザーを無効化することをお勧めします。共有スーパーユーザーを使用すると、監査ログから責任の所在が不明瞭になり、パスワード漏洩の影響が拡大します。

SAP HANA Cloud は同じ権限モデルを維持しつつ、ライセンスキーの処理とホストレベルのタスクを削除しています。 SAP 動作は変更されました。暗号化はデフォルトで有効になり、XS Classicは廃止され、リポジトリの役割はHDIの役割に置き換えられました。