Power BI Embedded 實做記錄

  • 234
  • 0

Power BI 是微軟推出的視覺化互動報表服務,可以方便建構出企業做為決策參考用的互動式報表,在使用上要看到報表比較常見的兩種模式,一為直接 Host 在 Power BI 網站的報表,觀看者會取得一個特定的報表網址來察看,另一種模式為網頁內嵌的方式。根據察看對象的不同,可以選擇不一樣的模式來呈現,假設是企業內部要察看報表,可以選擇 Power BI Host 的報表,我們只需要將報表製作完成之後發佈上去即可,而觀看者會需要 Power BI Pro 授權 (發佈為 Public 的話可以不需要授權),如果要做成服務提供給企業內部或是客戶察看報表就會用到今天要介紹的 Power BI Embedded,可以將報表內嵌在網頁內,而 Host 的服務則是使用 Azure。

...繼續閱讀 »

自訂支援 ModelExpression 的 TagHelper

  • 96
  • 0

在 ASP.Net Core 微軟提供了 TagHelper 來更精簡我們在寫 View 的語法,整個使用上會比較清爽,而我們也可以很方便的自訂和擴充,但是在實做擴充上想可以支援 asp-for 卻卡住了,後來找了討論和文章,要支援的化需要使用 ModelExpression,因此針對 ModelExpression 的實做上寫了這篇實做的記錄。 

...繼續閱讀 »

如何取得 Azure 服務 IP 範圍

  • 162
  • 0

在實務上偶而會有需要知道 Azure 上面的服務 IP ,比如說針對地端機器設定防火牆,或是服務和服務間串接,僅開放特定服務可以存取,這時候就會需要取得服務的 IP 範圍,這些 IP 範圍是公開的,微軟有提供不少方式可以取得,本文就整理了一些方式來取得服務的 IP 範圍。

...繼續閱讀 »

透過程式設定 Verizon CDN 節點 IP 到儲存體防火牆

  • 34
  • 0

之前在「Azure CDN from Verizon 實做 signed cookies 驗證」透過 cookies 來驗證 signed 的 token,但是在安全性上還有一個隱藏的問題會導致要保護的檔案會公開在網路上,因為 Verizon 並非 Azure 原生的服務,所以在預設上 Verizon 的 CDN 節點是會被儲存體的安全性擋住的,所以為了 CDN 會需要設定儲存體是允許匿名的,雖然檔案基本上是透過 CDN 並且有 signed cookies 來做保護,但是如果儲存體的位置被知道,還是會被直接的存取,這樣也留了一個安全性的漏洞,這次要針對這個問題透過程式來取得 Verizon 的節點 IP 並且設定到儲存體的允許清單內。

...繼續閱讀 »

如何使用 ASP.Net Core 在 App Service 記錄應用程式記錄

  • 292
  • 0

ASP.Net Core 內建 ILogger 介面方便我們可以實做或串接各種 Log 的套件,而當我們把程式部署到 App Service 但是又不想或不需要把 Log 記錄到 Application Insight,只是想比較單純的用文字檔來收集 Log 就好,本文就針對這樣的情境透過簡單的設定和程式碼就可以把 Log 記錄到我們指定的儲存體內。

...繼續閱讀 »

Azure 表單辨識器 (Form Recognizer) 輕鬆玩 (一)

表單辨識器 (form recognizer) 為微軟 Azure AI 中認知服務的其中一個項目,故名思義它就是可以針對表格作辨識的一個服務,透過這個服務我們可以很方便的辨識各種表單,例如說發票、收據、身份證…等。接下來會針對這一個服務出一系列的文章,第一篇就先使用官方提供的線上工具先來體驗服務的威力吧!

...繼續閱讀 »

線上更新微軟認證心得

  • 140
  • 0

微軟有推出很多的認證考試,大部分都會有期限,期限一到就需要重新考試來重新取的認證的資格,我身上有一個認證有 2 年的期限,但是因為疫情和微軟更改規則,延了兩次半年,而微軟改變的規則就是可以透過線上的免費認證考試,可以延長一年的認證資格,而我的認證剛好符合資格,也收到微軟的信件說可以進行延期的認證考試了,因此就把這次難得的經驗整理一下,希望對有需要重新認證的人有所幫助。

...繼續閱讀 »

Azure Web PubSub 實做及時聊天服務

  • 126
  • 0

Azure Web PubSub 是微軟推出的一個新服務,目前還在預覽中,它是即時推撥訊息的服務,透過伺服器和用戶端建立 WebSoket 連線,做到及時的訊息傳遞的服務,它底層還是微軟之前推出的 SignalR ,他簡化了 SignalR 的使用,僅保留 WebSoket 的連線方式,然後支援 CloudEvents 格式,在使用上也不需要限定使用 SignalR 的 JS SDK,可以使用任何 WebSoket 的套件來使用,本文針對官方聊天室範例實做過程做個記錄,並且把一些會卡住的點說明一下。

...繼續閱讀 »

App Service 實做身份識別存取 KeyVault

  • 117
  • 0

在透過程式存取 Azure 資源的時候,基於安全性考量,通常是透過在 AAD 內建立應用程式註冊,透過註冊應用程式設定必要的權限來存取 Azure 資源,但是在使用 KeyVault 的時候就是希望有更高的安全性,會將金鑰或秘密存在服務內,但是這時候又會有一組應用程式註冊的 Secret 會需要被放到程式的參數內,那如果也想在開發階段也隱藏這一個金鑰的話就得使用微軟推出的身份識別功能,透過此功能來存取資源,可以在開發階段避免直接將應用程式註冊的 Id 和 Secret 交付給開發人員或是存放在設定檔內,本文就是介紹整個開發階段和部署到 Azure App Service 時候實做存取 Key Vault 內的 Secret。

...繼續閱讀 »

SQL Database 複寫安全性設定

  • 283
  • 0

為了更高的安全性,我們通常會新增 SQL 帳號,並且針對不同帳號給予不同的權限,避免使用管理者帳號來存取資料庫,否則當程式有漏洞的時候,可能整台 DB 的資料庫都會有安全性的問題。

針對上一篇容錯移轉設定之後,還有些安全性的議題,本文就針對安全性的設定上,說明如何調整資料庫的連線帳號。

...繼續閱讀 »

SQL Database 建立容錯移轉群組

  • 284
  • 0

在高可用性的程式架構上,至少需要針對應用程式和資料庫各建立一組服務,並且搭配負載平衡來分散流量,並且可以在其中一台伺服器無法運作時轉移到可用的服務上,本文就針對資料庫部分說明在 Azure 上面建立 SQL Database 的容錯移轉群組來建置高可用性架構。

...繼續閱讀 »

實做 API Management 使用外部授權驗證

  • 58
  • 0
  • 2021-03-21

現在軟體開發使用 API 架構的設計越來越常見了,針對現有或遺留的舊有 API 可以夠過 Azure API Management 來管理,可以快速的加入驗證或是把 API 變成 Paas 服務,可以設計產品套組和不同訂閱,也提供使用者一個開發者介面,可以申請帳號和測試 API,這次針對沒有驗證的 API 來實做套用驗證。

...繼續閱讀 »

在 LINQPad 中取得 Azure AD Auth Token

  • 40
  • 0
  • 2021-03-21

LINQPad 是我工作上很常使用的工具,可以很方便的連到資料庫並且快速撰寫 LINQ 語法查詢資料,或是想快速測試一些程式碼的時候可以很方便的使用,在 LINQPad 6.10 的更新裡面,提供了一個新的方法,可以方便我們登入 AAD 並且取的 Auth Token,如此一來就可以很方便的測試一些需要微軟 oAuth 驗證的 API,尤其是我工作上會很常需要測試 Azure API ,如果要重頭寫登入驗證那段是比較花時間,透過這個新的方法可以快速的取得 Token 來測試 API,本文就快速的介紹如何使用。

...繼續閱讀 »