使用Azure轻松实现Teams App的全球合规性
我在之前的一篇博客里面講了合規(guī)性對于我們Teams app是非常重要的,因為office365平臺就是面向全世界用戶的,我們開發(fā)的teams app一旦發(fā)布后,立刻就會有各國各地區(qū)的用戶來進(jìn)行安裝使用,所以符合用戶所在地區(qū)的要求是非常重要的。
很多讀者來信問合規(guī)性這么難做,而且不同地區(qū)的要求可能是相互沖突的,有沒有什么好的方法或者是平臺來方便開發(fā)者呢。
實際上大家正在使用的Azure就是一個非常好的平臺,他自己本身已經(jīng)符合了各個地區(qū)的合規(guī)性要求,見下圖:
微軟白皮書
當(dāng)我們把我們開發(fā)的teams app也部署到azure平臺上,實際上已經(jīng)站在了巨人的肩膀上,已經(jīng)符合了一部分的地區(qū)要求了。
對于數(shù)據(jù)保存地問題,現(xiàn)在全球的各個商業(yè)軟件平臺越來越傾向于就地存儲,比如如果這個用戶是一個歐盟的用戶,那數(shù)據(jù)就保存在歐盟的Azure機(jī)房里,如果用戶是中國用戶,那數(shù)據(jù)就保存在中國。Azure目前已經(jīng)涵蓋了全世界大部分區(qū)域,所以我們可以讓我們teams app的用戶根據(jù)用戶所處租戶的區(qū)域,把數(shù)據(jù)進(jìn)行保存。
當(dāng)我們把數(shù)據(jù)保存到不同區(qū)域,但是對于Teams來說,我們還是要暴露出一個統(tǒng)一的接入點。這時候可以使用Azure的front door服務(wù),這個服務(wù)是一個global服務(wù),它目前全球由90個節(jié)點組成。我們可以使用類似于下面的這個infrastructure架構(gòu)。
把Azure FrontDoor的url配置到teams bot service里面,然后在不同區(qū)域部署符合不同區(qū)域合規(guī)性要求的服務(wù),FrontDoor把這些區(qū)域都聯(lián)合在一起。
FrontDoor服務(wù)非常好用,如果你還沒有用過,記得嘗試一下。它幫我們解決了很多全球部署里會遇到的各種問題。
到這里,大家可能會問,我們的teams app如何來判斷當(dāng)前用戶的租戶的地區(qū)或者國家呢?我們可以使用Graph API的一個接口來實現(xiàn):
GET /organization這個接口返回的json格式如下:
{"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#organization","value": [{"id": "dcd219dd-1111-2222-3333-4a33a796be35","city": "redmond","country": null,"countryLetterCode": "US","createdDateTime": "2017-07-29T02:16:17Z","displayName": "Contoso","marketingNotificationEmails": [],"onPremisesLastSyncDateTime": null,"onPremisesSyncEnabled": null,"postalCode": "98052","preferredLanguage": "en","privacyProfile": null,"state": "WA","street": "1 microsoft way",……}] }可以看到countryLetterCode是一個可以拿來判斷的屬性,如果需要再細(xì)致一些,可以使用state屬性。
要實現(xiàn)Teams App的全球合規(guī)性實際上工作量不小,但是有了azure平臺后,事半功倍
總結(jié)
以上是生活随笔為你收集整理的使用Azure轻松实现Teams App的全球合规性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vtk 鼠标操作
- 下一篇: wps如何将字体竖着排列_如何在短时间内