目次
■はじめに
こんにちは。VAC本部の生島です。
普段はSAP Analytics CloudのBI・Planning機能の導入支援を行っています。
ビジネスユーザのためのデータ活用プラットフォームとしてリリースされたDatasphere(旧Data Warehouse Cloud)が登場してから数年が経過し、日本でも少しずつ導入・移行されるお客様が増えてきた印象があります。
Datasphereのデータを活用するには、SAPのBIツールであるSAP Analytics Cloud以外にも、
TableauやPower BIなどのサードパーティのBIツールをご利用いただくことが可能です。
その際、接続タイプにはODataやODBCをご使用いただけますが、OData接続の場合はOAuth2.0での認証が必須となります。
OData サービスを介したサードパーティクライアント、ツール、およびアプリでの公開データの利用には、タイプ authorization_code の 3-legged OAuth2.0 フローが必要です。
今回は、OData接続時に必須となるOAuth Client設定の手順と、
設定したOAuthからアクセストークンを取得する方法をご紹介したいと思います。
■事前準備
事前に以下のツールのインストールが必要です。
・Postman
以下の手順に沿ってインストールを行ってください。
https://developers.sap.com/tutorials/api-tools-postman-install..html
■OAuth Clientの設定
まず初めに、認証に使用するためのOAuth Clientの設定を行います。
Datasphereにアクセスし、左上のメニューから「システム」→「管理」を開きます。
「アプリ統合」タブを選択し、「新規OAuthクライアントを追加」を選択してください。
「名称」欄を入力し、「目的」欄は「インタラクティブ用途」を選択してください。
「リダイレクトURI」欄は、接続先のツールの仕様をご確認の上、既定のURIをご入力ください。
入力が完了したら、「追加」ボタンを押下してください。
追加が完了すると、OAuthの「クライアントID」と「シークレット」が自動生成されます。
後のPostmanでのアクセストークン取得時に使用するため、両方とも控えておいてください。
また、シークレットを控えることがこのタイミングのみとなります。
一度画面を閉じてしまうと確認できなくなりますので、ご注意ください。
OAuth Client設定が完了したら、Clientが追加されたことを確認し、OAuthの「権限URL」と「トークンURL」を控えてください。
これでOAuth Clientの設定は完了です。
■一時パスコードの取得
Postmanを実行する前に、一時パスコードを取得します。
先程取得したOAuth Clientの「クライアントID」をURIエンコードしてください。
※セキュリティのため、できるだけオフラインで行うことを推奨しますが、以下のリンク先から実施することも可能です。
https://www.urlencoder.org/
エンコードした「クライアントID」と、OAuthの「権限URL」を使用して、以下の文字列に当てはめ、作成したURLをブラウザで実行してください。
「権限URL」?response_type=code&client_id=「クライアントID」
作成したURLにブラウザでアクセスし、表示されたページのURLの「code=」以降の文字列が「一時パスコード」となりますので、控えておいてください。
※セッションが切れた場合はDSPへのログインが求められます。
■Postmanの実行
事前にインストールしたPostmanを開き、新規リクエストを追加します。
GETからPOSTメソッドへ変更し、URLにはOAuth画面で取得した「トークンURL」を入力します。
「認可」タブを開き、Auth Typeを「Basic認証」に変更し、ユーザ名、パスワードには、それぞれ「クライアントID」と「シークレット」を設定します。
「ヘッダー」タブを選択し、カスタムヘッダ「x-sap-sac-custom-auth」を追加し、値を「true」としてください。
「ボディ」タブを選択し、ラジオボタンは「x-www-form-urlencoded」を選択し、以下を追加してください。
〇 KEY:response_type / VALUE:token
〇 KEY:code / VALUE:「一時パスコード」
〇 KEY:grant_type / VALUE:authorization_code
送信ボタンを押すと、レスポンスからアクセストークンとリフレッシュトークンの値を取得することができます。
■さいごに
いかがでしたか。特にSAC以外のサードパーティのBIツールを利用した場合、
OAuthの認証設定を求められる場合がありますので、上記の手順が問題解決の一助になると幸いです。
今後もDatasphereに関する情報を随時発信していきますので、ぜひ今後もBeeXブログにご注目ください。