使ってみるHDEはマルチテナントクラウドサービスを展開していますが、サービスのログは全テナント分が一箇所に集まってきます。embeddedに可能性を探りました。Security)を使って、アクセス毎にそれぞれのテナントのログを表示させるウェブアプリケーションの実装を紹介します。必要なものこのブログで使用したものは以下の通りです。ファイルをおきました。Desktopで作ったものです。開いて中身を見て下さい。一般的にPBIXファイルにはデータやモデル、レポートが含まれています。このPBIXファイルにはサービスへのログイン情報がデータとして含まれています。ここではログイン日時とテナント名(domain)のみを残し、IPアドレス、ユーザーエージェントなどの、ここで使用しない情報は取り除いてあります。ちなみにPBIXファイルを開けない人向けに参照用に生データもリポジトリに置いておきました。このPBIXファイルは毎時のログイン数を表示する簡単なレポートを含んでいます。このレポートは全テナントのログを表示しています。これから作成するウェブアプリケーションでは、テナントAのユーザーにはテナントAのログのみ、テナントBのユーザーにはテナントBのログのみ表示といった具合にアクセスしたユーザーことに表示を切り替えることを可能にします。"tokyo.example.com"のユーザーは以下のようなレポートを見ることになります。tokyo.example.com"osaka.example.com"のユーザーが見るレポートはこちらです。BIのRLSを使うためには「ロール」の設定が必要になります。このサンプルでは「viewer」というロールを設定しています。このロールでは、「domain」が外部から入力される「USERNAME()」に一致する行のみ表示することができます。それではRLSを実装するウェブアプリケーションをみていきましょう。以下のようなフローになっています。tokenを取得します。tokenをブラウザに返します。BIに送り、レポートを取得します。embeddedを作成します。BIのAPIを呼ぶのに必要です。registrations」を検索し新規作成します。registration」は下記のように記載します。「Native」を選択するのか気になりますが、ここではスルーして下さい。ADの権限を以下のように付与します。BIの権限も以下のように付与します。permission」を忘れずにクリックして下さい。ID」はあとで必要になるのでコピーしておいて下さい。embeddedを作成します。Proのライセンスを付与したユーザーを指定します。workspace」を作成します。embeddedを指定します。ワークスペース名はウェブアプリケーション内で指定するので忘れないようにして下さい。「Files」メニューからPBIXファイルをアップロードします。ローカルでウェブアプリケーションの実行クローンしたリポジトリのディレクトリに移動し、アプリケーションをインストールします。.環境変数は以下のように設定します。ProライセンスユーザーのログインIDとパスワードです。ADに登録したアプリケーションのIDです。BIのワークスペース名、「PBI_REPORT_NAME」はPBIXのフィル名です。下記コマンドでウェブアプリケーションを実行します。powerbi-embedded-sample「http://localhost:8000/"」にアクセスするとテナント名「tokyo.example.com」と「osaka.example.com」のリンクが表示されます。RLSで生成されたレポートが表示されます。本来はそれぞれ認証が必要なのですが、ここでは省略しています。embeddedによるRLSの紹介になりますが、少々気になることがあります。2.0のグラントフローは「password」になります。credentials」が適しているはずですが。崎村先生が指摘している通り、パスワードグラントは使うべきではありません。BIの間に問題がありそうです。credentialsグラントでは特定のユーザーのアクセストークンが取得できないようです。BIのライセンス体系にアップデートがない限り、パスワードグラントを使うしかなさそうです。Tumblrもっと読むコメントを書く2018-06-29Azureのマネージドコンテナーサービス「AKS」を使ってみたこんにちは、HDEの楠本です。皆さんはKubernetesというソフトは使ったことありますか?ざっくり言うと、コンテナをクラスタ化するためのプラットフォームです。ついてお話したいと思います。いう、マネージドのコンテナサービスです。azure.microsoft.comコンテナとは何かについては今回の本題ではないので各自で検索してほしいと思いますが、コンテナの環境を用意して実際に扱うのは結構大変です。そこで、その難しい管理部分をAzureにおまかせして、コンテナ化されたアプリケーションを迅速かつ簡単にデプロイおよび管理できるようにするためのサービスがAKSです。2015年にマネージドコンテナサービスとしてACSの提供を開始しました。人気が集まってきます。いう会社を買収します。