本ブログではSAP Analytics Cloudヘルプに書かれている手順を基に、“SAP HANA Cloud”接続タイプとシングルサインオン (SSO) を使用したライブデータ接続の設定方法をご紹介します。
45分ほどで完了する手順です。

SAP Analytics Cloud公式サイトにサポートされている接続先の最新の状況を公開しています。

前提条件

SAP Analytics Cloudで新規接続を作成

 メインメニュー >    接続 >   (接続の追加) に移動します。

データソース選択のダイアログで、ライブデータに接続 を展開し、SAP HANA を選択します。

ダイアログで、接続の名前と説明を入力します。接続名は作成後、変更できません。

接続タイプを SAP HANA Cloud に設定します。

SAP HANA Cloud ホスト名を追加します。(SAP BTP Cockpitから取得できます。ポート443を記入せず、ホスト名だけ記入してください。)

認証方法で、SAML シングルサインオンを選択します。

接続ダイアログのプロバイダ名フィールドから
SAML アイデンティティプロバイダ (IdP) をコピーし、
証明書をダウンロードします。
SAML SSO を定義する過程で必要となってきます。

SAP HANA Cloud と SAP Analytics Cloud と間の認証関係を設定

    SAP BTP Cockpitから、SAP HANA Cloudが有効化されているスペースにアクセスし、SAP HANA Cockpitを開きます。DB管理者の権限を持つユーザーでログインしてください。

    ①まず証明書ストア(Certificate store)に移動して、証明書インポートします。

    上記でダウンロードした証明書をアップロードします。
    インポートボタンをクリックします。

    ファイルからインポートを選択して証明書をアップロードするか、ダウンロードした証明書ファイルの内容をコピー & ペーストします。OK を選択します。

    下記のスクリーンショットのように、証明書がインポートされていることを確認し、次に進みます。

    ②次にSAML アイデンティティプロバイダを設定します。

    SAML アイデンティティプロバイダに移動し、アイデンティティプロバイダを追加ボタンをクリックします。アイデンティティプロバイダ名を入力します。

    接続ダイアログからコピーした SAML プロバイダ名エンティティ ID フィールドに入力し、新たに追加された証明書を選択します。追加を選択します。

    下記のスクリーンショットのように、SAMLアイデンティティプロバイダーが正しく登録されていることを確認してから次のステップに進みます。

    証明書コレクションを作成し、SAMLアイデンティティプロバイダーと証明書を連携させます。

    SAP HANA Cockpitから証明書コレクション(Certificate collection)に移動し、コレクション追加ボタンをクリックします。

    コレクション名を入力してから、次の画面で証明書追加をクリックします。

    新しい証明書を選択し、OK をクリックします。

    目的の編集ボタン(Edit purpose)を選択します。

    目的 フィールドで、SAML を選択します。

    プロバイダフィールドで、新規作成された SAML プロバイダを選択し、保存します。

    下記のスクリーンショットのように、証明書コレクションが正しく登録されていることを確認してから次のステップに進みます。

      ④SAP Analytics CloudユーザをSAP HANA Cloudユーザにマッピングします。

      SAP HANA Cockpitから、ユーザー管理(User Management)を選択します。
      新規ユーザーでも、既存のユーザーの変更でも同様に設定できます。

      接続に使うユーザーを作成 / 選択します。下記はSACUSERを使います。

      ODBC/JDBC無効化(Disable ODBC/JDBC Access)をオフにします。
      認証(Authentication)タブでSAMLを選択します。
      SAML アイデンティティプロバイダの追加をクリックし、アイデンティティプロバイダを選択します。スクリーンショットでは先ほど作成したPRESALESAPJSACを選択しています。
      プロバイダによる自動マッピングをオフに設定します。
       
      SAP Analytics Cloudのログインに使用するメールアドレスをExternal Identityとして入力します。
       
      注記:デフォルトではSAP Analytics Cloudのログイン方法がE-mailに設定されています。デフォルト以外のログイン方法を用いる際はSAP HANA Cloud接続と SSO を使用した SAP HANA Cloud へのライブデータ接続で詳細をご確認ください。

      以上のステップで、SAMLシングルサインオンの設定が終わりました。
      ユーザーの認証をSAP Analytics Cloudで行います。ログイン(メールアドレス maxime.simon@sap.com)がHANA Cloudに送信され、HANA Cloudのユーザー(SACUSER)にマッピングされます。

      データベースにはSACUSERでアクセスします。しかしSACUSERにはまだデータにアクセスする権限がありません。

      次のステップではHANAデータベースのCalculation Viewにアクセスする権限をSACUSERに付与します。

      この場合、CUBEタイプCalculation Viewが1つ作ってあるHDIコンテナー(HANACLOUD_1)へのアクセスロール(HANACLOUD_1::access_role)を付与します。

      下記のスクリーンショットではHANA Cockpitから権限を付与していますが、プロシージャでの権限付与も可能です。HDI Containerのアクセス権限付与方法を詳細に知りたい方は A live data connection to SAP HANA Cloud in SAP Analytics Cloud をご参照ください。

      上記の設定はユーザー毎に行います。一つのSAP Analytics Cloudのテナントから、複数のユーザーでそれぞれの権限でHANA Cloudにアクセスを設定する場合は、各々のマッピングが必要です。

      単一の SAP HANA ユーザに複数の SAML ID を割当できるため、既存の SAP HANA ユーザに別のアイデンティティプロバイダを追加することもできます。この方法で、単一の SAP HANA データベースユーザを使用し、必要に応じて、複数の SAP Analytics Cloud テナントから SAP HANA Cloud インスタンスにアクセスすることができます。

      SAP Analytics Cloudから接続確認

      SAP Analytics Cloud に戻り、接続ダイアログで OK を選択して接続の作成を終了します。

      新規モデルを作成します。

      「データソースからデータを取得」を選択し、「ライブデータ接続」を選択します。

      システムタイプではSAP HANAを選択し、Connectionでは先ほど作成した接続先を選択します。

      データソース項目に、HANAユーザーが読み込み権限を持っているCUBEタイプのCalculation Viewが表示されます。

      下記のスクリーンショットでは、SACUSERユーザーでHANACLOUD_1というHDI Containerにアクセスしています。HDI Containerに一つのCalculation View calcviewがあることを確認できます。

      モデルを必要に応じて編集し、保存します。

      これでSSOの設定手順が終わります。モデルを基に、自由にストーリーやダッシュボードを作ることができます。

      ライブ接続ですので、データはリアルタイムにHANA Cloudで計算され、結果がSAP Analytics Cloudに送信され描画されます。

      そしてユーザー毎の権限が適用されますので、部署や役職ごとに見える範囲をコントロールすることも可能です。

      最後まで読んでいただきありがとうございます!

      ブログ英語版

      Maxime SIMON

      Randa Khaled

      Randa Khaled

      Author Since: November 19, 2020

      0 0 votes
      Article Rating
      Subscribe
      Notify of
      0 Comments
      Inline Feedbacks
      View all comments
      0
      Would love your thoughts, please comment.x
      ()
      x