本ブログではSAP Analytics Cloudヘルプに書かれている手順を基に、“SAP HANA Cloud”接続タイプとシングルサインオン (SSO) を使用したライブデータ接続の設定方法をご紹介します。
45分ほどで完了する手順です。
SAP Analytics Cloud公式サイトにサポートされている接続先の最新の状況を公開しています。
前提条件
- SAP HANA Cloud接続タイプは、Cloud Foundry 環境のみで機能します。
Neo 環境 (SAP データセンタ) については、直接接続と SSO を使用した SAP HANA Cloud へのライブデータ接続 を参照してください。 - SAP Analytics Cloudでモデルとストーリーを作成/表示するために、生成されたクエリで使用されるSAP HANA CloudデータベースのCalculation Viewへの読込アクセスが必要です。 アクセス権限の付与方法。
- SAP Analytics Cloudでは、 CUBEタイプのCalculation Viewしかアクセスすることができません。dimensionタイプCalculation ViewやテーブルやSQL Viewにアクセスできません。Calculation Viewの作り方についてはこちらのチュートリアルをを参照してください。
- SAML シングルサインオン (SSO) をSAP Analytics Cloudで有効にする必要があります。詳細については、カスタム SAML アイデンティティプロバイダの有効化 を参照してください。
- 接続を設定するには、SAP HANA CloudおよびSAP Analytics Cloudで管理者レベルの権限を持ち、SAML アイデンティティプロバイダを通じてSAP Analytics Cloudにログオンするユーザが必要です。
SAP Analytics Cloudでのステップについては、BI Admin ロールが必要です。
SAP HANA Cloudシステムでのステップについては、Administrator ロールが必要です。
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 プロバイダを選択し、保存します。
下記のスクリーンショットのように、証明書コレクションが正しく登録されていることを確認してから次のステップに進みます。
接続に使うユーザーを作成 / 選択します。下記はSACUSERを使います。
以上のステップで、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