眾所周知,Azure提供了整套的rest api,經過認證和授權,完美闡述了”我是誰,我能做什么“。對資源層的操作,我們很多時候是使用Powershell或者Azure CLI或者各個語言的SDK,
當然我們也可以直接使用rest api去做。這里有個例子演示了如何去用rest api 拿到一個azure訂閱下的各個資源組,有興趣的可以參考,基本就是復制粘貼傳參就好了。它的基本思路是先拿access token,
然后用access token去發送list resource group請求,邏輯很清晰,此文極具參考意義,有興趣的同學可以好好看看。
當你運行這個腳本代碼的時候,你可能會遇到 AADSTS7000215報錯,
會提示你secret不對,但是你回去AAD service principal去查看,你secret並沒有錯。問題出在這個密碼的格式上,AAD sp的secret字符串比較特殊,只能見第一次,並且里面有各種符號,
比如“+”,“/”,“?”之類的,正因為有某些特殊符號的存在,在拼接URL的時候會出現encode的問題。解決辦法也比較簡單:對secret進行一次encode就好了。(更多討論可以參考)
$ClientSecret = [uri]::EscapeDataString($ClientSecret)