Vaiheittainen opas AccessPointin käyttöönottoon Microsoft 365- ja Azure-ympäristössäsi
Last updated: August 09, 2026 by Steve
Käyttöönotto-opas
AccessPoint käyttää jaettua käyttöönottomallia: kevyt SPFx-verkko-osa SharePointissa, Teams-sovellus, joka isännöi samaa verkko-osaa henkilökohtaisena välilehtenä, sekä Azure-taustajärjestelmä, joka ajaa API:a ja tallentaa kaiken tiedon. Jokainen osa sijoittuu omaan Microsoft 365 -vuokraajaasi ja Azure-tilaukseesi — mitään ei isännöi julkaisija, eikä asiakastieto poistu ympäristöstäsi.
Yleiskatsaus
| Komponentti | Hanki täältä | Sijoittuu |
|---|---|---|
SPFx-verkko-osa (accesspoint.sppkg) |
Microsoft AppSource tai suora lataus sovelluskatalogiisi | SharePoint Online -vuokraajaasi |
Teams-sovellus (accesspoint-teams.zip) |
Microsoft AppSource tai lataus Teams Admin Centeriin | Teams-sovelluskatalogiisi |
| Azure-taustajärjestelmä (App Service, SQL, Blob Storage, Application Insights) | Yhden napsautuksen Bicep/ARM-malli Azure-portaalista (suositellaan) tai skriptattu Bicep + PowerShell | Azure-tilaukseesi |
Suvereeneja pilviä / hallintopilviä, versiokiinnitystä tai skriptattuja käyttöönottoja varten kaikki artefaktit julkaistaan myös osoitteessa https://get.realizer.io/public/accesspoint/latest/.
Asennusjärjestyksellä on merkitystä. Asenna SharePoint-ratkaisu ennen kuin kukaan käyttäjä avaa Teamsin henkilökohtaisen välilehden. Teams-sovellus lataa SPFx-verkko-osan SharePointista iframe-kehyksessä — ilman sitä käyttäjät näkevät Teamsin sisällä SharePointin 404-virheen.
Edellytykset
- Aktiivinen AccessPoint-tilaus (hanki AccessPoint) — API aktivoi lisenssinsä automaattisesti Entra-identiteettinsä avulla, joten lisenssiavainta ei tarvita, ellei Realizerin tuki toimita sellaista vuokraajaasi varten
- Azure-tilaus, jossa on Contributor-oikeudet (tai korkeammat) kohderesurssiryhmään
- Vuokraajaasi tarjottu SharePoint-sovelluskatalogi sekä SharePoint Administrator -oikeudet
- Global Administrator- tai Application Administrator -oikeudet Entra ID:ssä Graph-käyttöoikeuksien myöntämistä ja järjestelmänvalvojan suostumusta varten
- Teams Administrator (tai Global Administrator) Teams-sovelluksen julkaisemiseen
- Skriptattuja tai manuaalisia käyttöönottoja varten: Azure CLI (kirjautuneena komennolla
az loginkäyttäjänä, ei palvelun päänimenä) sekä PnP.PowerShell-moduuli
Mikään Microsoft 365 -lisenssitaso, Power Platform tai Dataverse-riippuvuus ei ole tarpeen — kuka tahansa käyttäjä, jolla on SharePoint- tai Teams-käyttöoikeus, voi käyttää AccessPointia.
Vaihe 1: Ota käyttöön Azure-resurssit
Tämä vaihe tarjoaa taustajärjestelmän: Linux App Servicen (API), Azure SQL Databasen, Blob Storagen ja Application Insightsin Log Analyticsin kanssa. Resurssit nimetään muotoon {type}-accesspoint-{tenantName} (esimerkiksi app-accesspoint-contoso) ja ne on oletuksena kovennettu (TLS 1.3, vain Entra-pohjainen SQL-todennus, FTPS ja perustodennus pois käytöstä, Microsoft Defender for SQL päällä oletuksena). SQL-palvelin luodaan Entra-ensin-periaatteella: käyttöönoton suorittavasta käyttäjästä tulee ensimmäinen Entra-pääkäyttäjä, eikä SQL-tunnusta ole koskaan olemassa — mitään ei tarvitse kierrättää tai poistaa käytöstä.
Viikoittaiset "Vulnerability Assessment scan completed" -sähköpostit näyttävät epäonnistuneita tarkistuksia, mutta portaalissa ei näy mitään? Odotettavissa tuoreessa käyttöönotossa — ei haavoittuvuus. Microsoft Defender for SQL ajaa klassista (tallennustilaan perustuvaa) Vulnerability Assessment -tarkistusta, mutta Azure-portaalin Defender-välilehti näyttää nykyään oletuksena uudemman express configuration -näkymän, joten sähköpostin "View results" -linkki voi johtaa näkymään, jossa ei ole yhtään tarkistusta. Epäonnistuneet tarkistukset ovat perustaso-tarkistuksia (baseline), jotka epäonnistuvat, kunnes nykytila hyväksytään perustasoksi — malli hyväksyy etukäteen deterministisen VA2065-tarkistuksen (palomuurisäännöt), mutta sovellustietokannan matalan vakavuuden, vuokraajakohtaista käyttäjäseurantaa koskevaa tarkistusta ei voida esihyväksyä. Ratkaise se kertaalleen: avaa SQL-palvelin (ei tietokanta) → Microsoft Defender for Cloud → Vulnerability assessment → avaa epäonnistunut tarkistus → Approve as baseline → suorita Scan uudelleen; seuraavat viikoittaiset sähköpostit ilmoittavat kaikkien tarkistusten läpäisevän.
Vaihtoehto A: Azure-portaali (suositellaan). Ota AccessPointin Bicep/ARM-malli käyttöön yhdellä napsautuksella Azure-portaalista (Deploy to Azure -painike). Käyttöönottolomake kerää tilauksesi ja resurssiryhmäsi, vuokraajan nimen (esim. contoso osoitteesta contoso.sharepoint.com) sekä pakollisen Käyttöönottotyypin, jolla ei ole oletusarvoa: valitse Uusi asennus ensimmäistä käyttöönottoa varten tai Päivitä olemassa oleva asennus, kun otat käyttöön uudelleen käynnissä olevan AccessPointin päälle — päivitystila säilyttää operaattorin lisäämät sovellusasetukset eikä koske tietokannan käyttöoikeuksiin. Voit valinnaisesti valita App Servicen SKU:n (B1 arviointia varten, S1 vakiotuotantoon, P1v3 oletuksena), hälytyssähköpostiosoitteen sekä alla kuvatut valinnaiset tekoälyominaisuudet. Jätä lisenssin API-avain tyhjäksi — AccessPoint aktivoi lisenssinsä automaattisesti sovelluksen Entra-identiteetin avulla; syötä arvo vain, jos Realizerin tuki toimittaa sellaisen vuokraajaasi varten. API-paketti otetaan käyttöön App Serviceen automaattisesti — käyttöönoton jälkeen ei ole ajonaikaista riippuvuutta ulkoisiin palveluihin.
Viimeistele asennus (Graph-käyttöoikeudet). Malli itsessään ei koskaan myönnä Graph-käyttöoikeuksia. Avaa käyttöönoton jälkeen käyttöönoton tulosteiden (Outputs) finishSetupUrl-linkki ja kirjaudu sisään Global Administratorina — julkaisijan Viimeistele asennus -sivu myöntää kaikki hallitun identiteetin tarvitsemat Graph-käyttöoikeudet yhdellä idempotentilla ajolla. Palaa samaan linkkiin päivityksen jälkeen ottaaksesi käyttöön uudet käyttöoikeudet. Suorita sen jälkeen App Servicelle täysi pysäytys/käynnistys-kierros (ei Restart), jotta käyttöoikeudet tulevat voimaan.

Vaihtoehto B: Bicep + PowerShell. Mukautettuja putkia tai tiukkaa muutoshallintaa varten aja käyttöönottoskripti julkaistua ARM-mallia vastaan:
Invoke-WebRequest -Uri "https://get.realizer.io/public/accesspoint/latest/Deploy-AccessPoint.ps1" -OutFile "Deploy-AccessPoint.ps1"
# End-to-end: infrastructure, configuration, and both apps
.\Deploy-AccessPoint.ps1 `
-SharePointSiteUrl "https://contoso.sharepoint.com/sites/accesspoint" `
-TemplateUri "https://get.realizer.io/public/accesspoint/latest/main.json" `
-DeploySharePointApp -DeployTeamsApp
Skripti tunnistaa automaattisesti käyttöönottotyypin (uusi asennus vai päivitys) ja suorittaa enintään seitsemän vaihetta — infrastruktuurin, vain Entra-pohjaisen SQL-todennuksen (varmistus: nykyiset mallit luovat palvelimen Entra-ensin-periaatteella), Graph-käyttöoikeuksien myöntämisen (Viimeistele asennus -sivun skriptattu vastine), App Servicen pysäytys/käynnistys-syklin, valinnaisen SharePointin tallennusentiteetin (API-osoite), SPFx:n API-käyttöoikeuksien hyväksynnät sekä valinnaiset sovellusasennukset. Jokainen vaihe voidaan ohittaa erikseen (-SkipInfrastructure, -SkipGraphPermissions, -SkipSharePoint). Kiinnitä versio parametrilla -ArtifactBaseUrl "https://get.realizer.io/public/accesspoint/2.0.67" toistettavia, eheystarkastettuja käyttöönottoja varten (skripti tarkistaa julkaistun SHA-256-tarkisteen ja keskeyttää, jos se ei täsmää).
Jos haluat suorittaa infrastruktuuriosat itse:
$TenantName = "contoso"
$ResourceGroup = "rg-accesspoint-$TenantName"
az group create --name $ResourceGroup --location "canadacentral"
$deployment = az deployment group create `
--resource-group $ResourceGroup `
--template-uri "https://get.realizer.io/public/accesspoint/latest/main.json" `
--parameters tenantName=$TenantName appServiceSku=P1v3 `
--output json | ConvertFrom-Json
$appName = $deployment.properties.outputs.appServiceName.value
$apiUrl = $deployment.properties.outputs.appServiceUrl.value
$principalId = $deployment.properties.outputs.appServicePrincipalId.value
# Backstop only: current templates create the SQL server Entra-first, so
# Entra-only auth is already in force and no SQL credential ever exists
az sql server ad-only-auth enable --resource-group $ResourceGroup `
--server-name $deployment.properties.outputs.sqlServerName.value
Graph-käyttöoikeuksien myöntäminen. App Servicen hallitulla identiteetillä on oltava seuraavat Microsoft Graph -sovellusoikeudet: Mail.Send, User.ReadBasic.All, TeamsAppInstallation.ReadForUser.All, Application.Read.All, AppCatalog.Read.All sekä (oletuksena päällä, voidaan jättää pois) AiEnterpriseInteraction.Read.All Copilot-tallennusta varten. Helpoin tapa on Viimeistele asennus -sivu — käyttöönoton finishSetupUrl-tuloste — joka myöntää ne kaikki yhdellä idempotentilla ajolla Global Administratorin delegoidulla sisäänkirjautumisella. Myönnä ne sen sijaan CLI:llä näin:
$graphSpId = az ad sp show --id "00000003-0000-0000-c000-000000000000" --query id -o tsv
$permissions = @(
@{ Name = "Mail.Send"; Id = "b633e1c5-b582-4048-a93e-9f11b44c7e96" }
@{ Name = "User.ReadBasic.All"; Id = "97235f07-e226-4f63-ace3-39588e11d3a1" }
@{ Name = "TeamsAppInstallation.ReadForUser.All"; Id = "9ce09611-f4f7-4abd-a629-a05450422a97" }
@{ Name = "Application.Read.All"; Id = "9a5d68dd-52b0-4cc2-bd40-abcf44ac3a30" }
@{ Name = "AppCatalog.Read.All"; Id = "e12dae10-5a57-4817-b79d-dfbec5348930" }
# Copilot capture (tenant-wide) — granted by default; remove this line to opt out:
@{ Name = "AiEnterpriseInteraction.Read.All"; Id = "839c90ab-5771-41ee-aef8-a562e8487c1e" }
)
foreach ($perm in $permissions) {
$bodyFile = [System.IO.Path]::GetTempFileName()
@{ principalId = $principalId; resourceId = $graphSpId; appRoleId = $perm.Id } |
ConvertTo-Json | Set-Content -Path $bodyFile -Encoding utf8
az rest --method POST `
--uri "https://graph.microsoft.com/v1.0/servicePrincipals/$principalId/appRoleAssignments" `
--body "@$bodyFile" --headers "Content-Type=application/json" --output none
Remove-Item $bodyFile
}
# Full stop/start (NOT restart) clears the managed identity token cache
az webapp stop --name $appName --resource-group $ResourceGroup
Start-Sleep -Seconds 10
az webapp start --name $appName --resource-group $ResourceGroup
Vahvista: siirry osoitteeseen https://<api-url>/api/health ja varmista, että vastaus on toimiva.
Valinnaiset tekoälyominaisuudet
Malli tarjoaa neljä valinnaista ominaisuutta, joista mitään ei vaadita AccessPointin käyttöön. AI Assist, AI Search ja Document Intelligence ovat pois päältä, ellet ota niitä käyttöön käyttöönoton yhteydessä; Copilot-tallennuksen oikeus taas myönnetään oletuksena, mutta siitä voi jättäytyä pois (Deploy to Azure -lomake, -p name=value komennossa az deployment tai alla mainitut Deploy-AccessPoint.ps1-kytkimet hallitsevat kaikkia neljää). Kaikki tekoälyresurssit otetaan käyttöön omassa Azure-tilauksessasi pelkän hallitun identiteetin todennuksella — asiakastietoa ei poistu ympäristöstäsi, eikä Microsoft kouluta malleja sillä.
- Deploy AI Assist (Azure OpenAI) — lisää tilaukseesi Azure OpenAI -resurssin hallitun identiteetin todennuksella (ei API-avaimia). Laskutus on käyttöperusteista, joten jouten oleva vuokraaja maksaa noin 0 $ ja vilkas osasto tyypillisesti yksinumeroisia dollarimääriä kuukaudessa. Sen käyttöönotto ottaa käyttöön AI Assist -ominaisuudet, joista kukin on erikseen kytkettävissä kohdassa Asetukset > Ominaisuudet. Jokainen tekoälyn tuotos on ehdotus tai muokattava luonnos — ihminen tekee aina päätöksen.
- Deploy AI Search (
deployAiSearch=true) — lisää Azure AI Searchin, jotta Asiakirjat-haku löytää sanoja myös asiakirjojen sisältä (puretusta PDF-tekstistä) nimien, tyyppien ja tunnisteiden lisäksi; kun myös AI Assist on otettu käyttöön, se tukee semanttista hakua. Uudet asiakirjat indeksoidaan automaattisesti, ja Administratorin suorittama läpikäynti (Asetukset > Alkuasetukset > Asiakirjasisällön haku) indeksoi kaikki sitä edeltävät. - Deploy Document Intelligence (
deployDocumentIntelligence=true) — lisää Azure AI Document Intelligencen OCR-toimintoa varten: skannattujen, pelkkää kuvaa sisältävien asiakirjojen teksti luetaan, jolloin ne osallistuvat sisältöhakuun, kaksoiskappaleiden tunnistukseen, tekoälyn yhteenvetoihin ja mustausehdotuksiin siinä missä mikä tahansa muukin asiakirja. Laskutus on sivukohtaista (noin 1,50 USD / 1 000 sivua). Ilman sitä skannatut asiakirjat täsmäävät edelleen nimen, tyypin ja tunnisteiden perusteella. - Copilot-tallennuksen oikeus (
AiEnterpriseInteraction.Read.All) — tämä koko vuokraajan laajuinen Graph-oikeus myönnetään oletuksena, joten Custodian-käyttäjät voivat tallentaa Copilot-vuorovaikutushistoriaa heti käyttöönotosta alkaen toiminnolla Asiakirjat > Lisää Microsoft 365:stä. Oikeus on vain sovellustason oikeus (Microsoft Graph ei tarjoa delegoitua muunnelmaa), mutta AccessPoint lukee aina vain sisäänkirjautuneen käyttäjän omaa Copilot-historiaa. Vähimmän käyttöoikeuden periaatetta noudattavat vuokraajat voivat jättäytyä pois valitsemallaDeploy-AccessPoint.ps1 -DisableCopilotCapture(taigrantCopilotCapturePermission=falseARM-/Bicep-mallissa) ja voivat peruuttaa sovellusroolin Entra ID:ssä milloin tahansa; yllä olevat viisi vakiomuotoista Graph-oikeutta eivät muutu.
Vaihe 2: Asenna AccessPoint-sovellukset
Asenna SharePoint-ratkaisu ensin, sitten Teams-sovellus.
SharePoint-ratkaisu. Napsauta AppSource-listauksessa Get it now ja hyväksy se SharePoint-sovelluskatalogiisi käyttöönotettavaksi koko vuokraajan laajuisesti. Vaihtoehtoisesti lataa se manuaalisesti (SharePoint Admin Center > More features > Apps > Upload, valitse "Make this solution available to all sites") tai anna skriptin tehdä se.

Teams-sovellus. Napsauta AppSource-listauksessa Get it now ja hyväksy se Teams Admin Centerissä, tai asenna molemmat sovellukset skriptillä (sisäänkirjautuneella käyttäjällä on oltava SharePoint-järjestelmänvalvojan oikeudet sekä Teams-järjestelmänvalvojan tai Global Administrator -oikeudet):
.\Deploy-AccessPoint.ps1 `
-SharePointSiteUrl "https://contoso.sharepoint.com/sites/accesspoint" `
-SkipInfrastructure -SkipGraphPermissions `
-DeploySharePointApp -DeployTeamsApp
Älä käytä SharePointin "Sync to Teams" -toimintoa. Se ohittaa hiljaisesti manifestin
webApplicationInfo.id-kentän, mikä rikkoo Teamsin toimintosyötteen ilmoitukset. Lataa Teams-sovellus suoraan Teams Admin Centeriin.
Vahvista: ratkaisu näkyy sovelluskatalogissa ilman virheitä, ja AccessPoint näkyy tilassa Allowed kohdassa Teams Admin Center > Manage apps.
Vaihe 3: Hyväksy API-käyttöoikeudet
SPFx-paketti pyytää delegoituja käyttöoikeuksia, jotka SharePoint-järjestelmänvalvojan on hyväksyttävä. Siirry SharePoint Admin Centerissä kohtaan Advanced > API access ja hyväksy jokainen odottava AccessPoint-pyyntö: access_as_user AccessPoint-API:lle sekä Graph-laajuudet henkilövalitsimia ja Lisää Microsoft 365:stä -tallennuslähteitä varten — User.Read.All, Sites.Read.All, Files.Read.All, Mail.Read ja Mail.Read.Shared (oma sekä jaetut/vastaanottopostilaatikot), Calendars.Read ja Calendars.Read.Shared, Chat.Read, ChannelMessage.Read.All, Team.ReadBasic.All, Channel.ReadBasic.All (Teams-keskustelut ja -kanavat) sekä Notes.Read ja Notes.Read.All (OneNote). .Shared-laajuudet eivät koskaan itsessään laajenna käyttöoikeuksia — Graph valvoo edelleen kunkin käyttäjän olemassa olevia Exchange-postilaatikko-oikeuksia.


Tai hyväksy PnP PowerShellin kautta:
Connect-PnPOnline -Url "https://contoso-admin.sharepoint.com" -Interactive
$spfxPermissions = @(
@{ Resource = "ed19c96c-a7c5-4dca-8b47-0899c406329f"; Scope = "access_as_user" }
@{ Resource = "Microsoft Graph"; Scope = "User.Read.All" }
@{ Resource = "Microsoft Graph"; Scope = "Sites.Read.All" }
@{ Resource = "Microsoft Graph"; Scope = "Files.Read.All" }
@{ Resource = "Microsoft Graph"; Scope = "Mail.Read" }
@{ Resource = "Microsoft Graph"; Scope = "Mail.Read.Shared" }
@{ Resource = "Microsoft Graph"; Scope = "Calendars.Read" }
@{ Resource = "Microsoft Graph"; Scope = "Calendars.Read.Shared" }
@{ Resource = "Microsoft Graph"; Scope = "Chat.Read" }
@{ Resource = "Microsoft Graph"; Scope = "ChannelMessage.Read.All" }
@{ Resource = "Microsoft Graph"; Scope = "Team.ReadBasic.All" }
@{ Resource = "Microsoft Graph"; Scope = "Channel.ReadBasic.All" }
@{ Resource = "Microsoft Graph"; Scope = "Notes.Read" }
@{ Resource = "Microsoft Graph"; Scope = "Notes.Read.All" }
)
foreach ($perm in $spfxPermissions) {
Grant-PnPTenantServicePrincipalPermission -Scope $perm.Scope -Resource $perm.Resource
}
Lopuksi Global Administrator myöntää järjestelmänvalvojan suostumuksen julkaisijan monivuokraaja-sovellukselle avaamalla selaimessa osoitteen https://login.microsoftonline.com/common/adminconsent?client_id=ed19c96c-a7c5-4dca-8b47-0899c406329f.
Vahvista: API-käyttösivulla ei näy odottavia AccessPoint-pyyntöjä.
Vaihe 4: Käytä AccessPointia SharePointissa tai Teamsissa
SharePoint: muokkaa tai luo sivu, napsauta +, hae AccessPoint, lisää verkko-osa ja julkaise.
Teams: käyttäjät löytävät AccessPointin kohdasta Apps > Built for your org (hakuindeksointi voi kestää 15 minuutista useisiin tunteihin ensimmäisen asennuksen jälkeen). Voit valinnaisesti kiinnittää sen kaikille kohdassa Teams Admin Center > App setup policies lisäämällä AccessPointin kohtiin Installed apps ja Pinned apps.
Vaihe 5: API-osoitteen määritys (yleensä automaattinen)
Verkko-osa tunnistaa API-osoitteen automaattisesti. AccessPoint-API rekisteröi osoitteensa itse Realizer-alustalle vahvistaessaan lisenssinsä — muutaman minuutin kuluessa App Servicen käynnistymisestä — ja verkko-osa hakee sen sieltä. Useimmissa käyttöönotoissa tässä ei tarvitse tehdä mitään.
Vahvista: lataa verkko-osa uudelleen — kojelauta latautuu asennuskehotteen sijaan. Jos API on juuri otettu käyttöön, tunnistus onnistuu seuraavalla sivun latauksella ensimmäisen onnistuneen lisenssin vahvistuksen jälkeen.
API-osoitteen määrittäminen manuaalisesti (valinnainen)
Tätä tarvitaan vain automaattisen tunnistuksen ohittamiseen — esimerkiksi kiinnittääksesi verkko-osan mukautettuun toimialueeseen.
Vaihtoehto A — Asennuspaneeli. Avaa verkko-osa, siirry kohtaan Asetukset > Asennus, syötä API-osoite (App Service -osoite vaiheesta 1, esim. https://app-accesspoint-contoso.azurewebsites.net) ja napsauta Tallenna. Paneeli tarkistaa HTTPS-muodon ennen tallennusta, ja manuaalisesti syötetty osoite ohittaa automaattisen tunnistuksen.

Vaihtoehto B — tallennusentiteetti (PowerShell). Kiinnitä osoite AccessPoint_ApiUrl-tallennusentiteettiin, joka ohittaa automaattisen tunnistuksen. Tammikuusta 2026 alkaen SharePoint estää ominaisuussäilön (property bag) kirjoitukset no-script-sovelluskatalogissa (viestikeskus MC1186368), joten SharePoint-järjestelmänvalvojan on sallittava ne kertaalleen koko vuokraajan laajuisesti, ennen kuin tallennusentiteetti voidaan kirjoittaa:
# One-time (SharePoint admin): allow property-bag updates on no-script sites
Set-SPOTenant -AllowWebPropertyBagUpdateWhenDenyAddAndCustomizePagesIsEnabled $true
Connect-PnPOnline -Url "https://contoso.sharepoint.com" -Interactive
$appCatalogUrl = Get-PnPTenantAppCatalogUrl
Connect-PnPOnline -Url $appCatalogUrl -Interactive # storage entities live on the App Catalog site
Set-PnPStorageEntity -Key "AccessPoint_ApiUrl" -Value $apiUrl -Description "AccessPoint API base URL"
Get-PnPStorageEntity -Key "AccessPoint_ApiUrl" # verify
Vaihe 6: Tuo lainkäyttöaluepaketti
Siirry kohtaan Asetukset > Lainkäyttöaluepaketit, valitse omaa lainkäyttöaluettasi vastaava paketti (Kanada ATIA, Yhdysvallat FOIA, EU GDPR ja muut) ja napsauta Tuo. Paketti luo pyyntötyypit, jatkoaikaperusteet, valintakentät, ilmoitusmallit ja käännökset. Tarkista ja mukauta tuodut kohteet tuonnin jälkeen.
Vaihe 7: Määritä käyttäjäroolit
Ensimmäiselle käyttäjälle, joka avaa AccessPointin, myönnetään automaattisesti Administrator-rooli — ainoa sisäänrakennettu rooli, joka sisältää aina kaikki käyttöoikeudet. Jokainen muu rooli on vuokraajakohtaisesti määritetty: lainkäyttöaluepaketin tuonti tuo mukanaan valmiit roolit (kuten Request Coordinator, joka toimii käytännössä tietopyyntö- ja tietosuojavastaavan roolina), ja voit nimetä tai muokata niitä uudelleen kohdassa Asetukset > Roolit ja käyttöoikeudet. Siirry kohtaan Asetukset > Käyttäjien hallinta, napsauta Lisää käyttäjä, hae hakemistostasi ja määritä vähintään yksi Administrator ja yksi coordinator; Custodian-, Contributor-, Reviewer- ja Reader-käyttöoikeudet seuraavat automaattisesti siitä työstä, jonka osoitat käyttäjille.
AccessPoint on nyt valmis käyttöön.
AccessPointin päivittäminen
AccessPoint kertoo, kun uudempi versio on saatavilla — mihinkään ei tarvitse tilata tai manuaalisesti kysellä:
- Rutiininomaisen lisenssin vahvistuksen yhteydessä Realizer Platform ilmoittaa viimeisimmän julkaistun AccessPoint-version (version, joka on viimeksi siirretty asiakkaiden julkaisukanavalle). Tämä tarkistus ei käytä käyttö- tai tapaustietoja.
- Kun julkaistu versio on uudempi kuin se, jota API:si käyttää, ylläpitäjät näkevät Päivitys saatavilla -ilmoituksen kojelaudalla ja kohdassa Alkuasetukset, joka näyttää nykyisen ja uusimman versionumeron.
- Kun olet ajan tasalla (tai käytät esijulkaisuversiota, joka on uudempi kuin julkaistu versio), Alkuasetukset näyttää "AccessPoint-API:si on ajan tasalla."
Päivityksen käyttöönotto:
- Napsauta kohdassa Asetukset > Alkuasetukset Ota päivitys käyttöön Azuressa. Tämä avaa Azure-portaalin uusimmalla ARM-mallilla — samalla mallilla, jota käytettiin alkuperäisessä käyttöönotossa.
- Valitse käyttöönottotyypiksi Päivitä olemassa oleva asennus. Tämä säilyttää operaattorin lisäämät sovellusasetukset eikä koske tietokannan käyttöoikeuksiin; tietokannan skeema päivittyy automaattisesti API:n käynnistyessä (DacPac-migraatio).
- Päivitä SPFx-paketti: lataa uusin
accesspoint.sppkgsovelluskatalogiisi (vaihe 2 yllä). Päivitä Teams-sovelluspaketti Teams Admin Centerissä, jos uusiaccesspoint-teams.zipon julkaistu. - Käy uudelleen Viimeistele asennus -sivulla päivityksen jälkeen — se myöntää idempotentisti kaikki Graph-käyttöoikeudet, jotka on otettu käyttöön alkuperäisen käyttöönottosi jälkeen.
Esimerkkidata arviointivuokraajille. Demo- ja arviointiympäristöjä varten erillinen AccessPoint DevTools -verkko-osa (
accesspoint-devtools.sppkg) voi nollata vuokraajan ja luoda lainkäyttöalueelle sopivaa esimerkkidataa — testikäyttäjiä, pyyntöjä, toimeksiantoja ja luotuja asiakirjoja — yhdellä napsautuksella toiminnolla Rakenna demo uudelleen. Se hyödyntää pääsovelluksen API-yhteyttä ja ilmoittaa omat API-käyttöoikeutensa (hyväksy kerran kohdassa SharePoint Admin > Advanced > API access). Ei tuotantoon: tuhoavat nollausrajapinnat aktivoituvat vain, kun App Servicen asetusDevTools:Enabled=trueon asetettu — ota paketti käyttöön vain kehitys-/demovuokraajissa.
Teamsin ilmoitusten tietosuoja (valinnainen)
Kaikki pyyntötietueet, pyytäjän henkilötiedot, asiakirjat ja tarkastushistoria sijaitsevat vain omassa vuokraajassasi. Ilmoitukset noudattavat samaa periaatetta. AccessPoint toimittaa jokaisen ilmoituksen enintään kolmella kanavalla, ja kaksi niistä ei koskaan poistu vuokraajastasi: sovelluksen sisäinen syöte (tarjotaan omasta API:stasi) ja sähköposti/Outlook (lähetetään omasta jaetusta postilaatikostasi Mail.Send-toiminnon kautta). Teams-aktiviteettisyöte on ainoa kanava, joka oletustilassaan lähettää pienen hyötykuorman POST-pyynnöllä Realizer Platform -API:lle — mikä on olemassa vain siksi, että Microsoft Graph edellyttää aktiviteetti-ilmoituksen lähettämistä sovelluksen toimesta, joka omistaa Teams-manifestin. Julkaisija ei tallenna mitään siitä ja kirjaa vain vastaanottajan + vuokraajan GUID-tunnukset, ja samat ilmoitukset saapuvat silti myös sähköpostitse ja sovelluksen sisällä. Kaksi hallintaa tiukentaa tätä edelleen tai poistaa sen kokonaan:
Minimoi (kytkin). Kohdassa Asetukset > Alkuasetukset > Teams-ilmoitukset, ota käyttöön Minimoi Teams-ilmoitusten sisältö (tietosuoja). Välitetty hyötykuorma korvaa tällöin ilmoituksen otsikko-/esikatselutekstin ja toimivan käyttäjän nimen neutraaleilla paikkamerkeillä, joten mitkään tehtävänannon/tehtävän nimet, ilmoitustekstit tai henkilönimet eivät poistu vuokraajasta — vain aktiviteettityyppi, pyyntönumero ja tietuetunnisteet välittyvät edelleen, jotta ilmoitus voidaan reitittää ja syvälinkittää. Täysi teksti näkyy edelleen sovelluksen sisäisessä syötteessä. Manifestin muutosta ei vaadita. (Taustalla: vuokraaja-asetus Notifications:TeamsMinimalPayload.)
Poista kokonaan (isännöi välitys itse). Vuokraaja, jonka on lähetettävä ei mitään ilmoitustietoa julkaisijalle, voi antaa oman API:nsa kutsua Graphia suoraan omalla hallitulla identiteetillään, jolloin mikään ei saavuta osoitetta api.realizer.io:
- Myönnä
TeamsActivity.Send(sovellusoikeus) API:n hallitulle identiteetille ja anna sille järjestelmänvalvojan suostumus — Graph sallii vain sen sovelluksen, joka omistaa Teams-manifestin, lähettää aktiviteetti-ilmoituksia, joten lähettävän identiteetin on vastattava manifestinwebApplicationInfo.id-arvoa. - Osoita Teams-manifesti omaan sovellukseesi. Aseta
manifest.json-tiedostossawebApplicationInfo.idAPI:si sovellusrekisteröinnin / hallitun identiteetin asiakastunnukseksi (korvaten julkaisijan sovellustunnuksen), jättäenwebApplicationInfo.resource-arvon SharePoint-sivuston toimialueeksi. Lataa muokattu zip-tiedosto suoraan Teams Admin Centeriin — älä käytä SharePointin "Sync to Teams" -toimintoa (se kirjoittaawebApplicationInfo-arvon uudelleen). - Vaihda API suoraan välitykseen — lisää App Servicen asetus
Notifications__TeamsRelayMode=Direct(oletus/asettamaton =Publisher) ja käynnistä uudelleen. API kutsuu nyt itsesendActivityNotification-toimintoa; julkaisijan yrityssovelluksen myöntämistä ei enää tarvita ilmoituksia varten. - Vahvista uudelleen — lähetä testi-ilmoitus (varmista, että se syvälinkittää) ja varmista, että Teamsin henkilökohtainen välilehti kirjautuu edelleen sisään, koska muutit
webApplicationInfo.id-arvoa.
Suora välitys pitää 100 % ilmoitussisällöstä vuokraajassa, mutta edellyttää mukautetun Teams-manifestin ylläpitoa ja uudelleensuostumusta, kun sovellustunnus muuttuu. Useimpien vuokraajien, jotka tarvitsevat vain vapaan tekstin ja henkilönimien tukahduttamisen, tulisi sen sijaan käyttää Minimoi-kytkintä — ei manifestin muutosta, ja ilmoitus syvälinkittää edelleen.
Monivuokraajakäyttöönotto
Käytä tätä mallia, kun Azure-taustajärjestelmä sijaitsee eri Entra ID -vuokraajassa kuin Microsoft 365 -vuokraajasi — esimerkiksi jaettujen palveluiden tiimi, joka palvelee useita liiketoimintayksiköitä, MSP-toimija, joka isännöi asiakkaille, tai Azure- ja M365-vuokraajat, jotka on eriytetty hallinnollisista syistä. Yksi käyttöönotto voi palvella useita M365-vuokraajia: API eristää tiedot kunkin käyttäjän tunnisteessa olevan vuokraajatunnuksen perusteella, käyttäen vuokraajakohtaisia tietokantakyselysuodattimia ja vuokraajan etuliitteellä varustettuja blob-polkuja. Jokainen M365-vuokraaja tarvitsee silti oman lisenssinsä, oman SPFx-käyttöönottonsa ja API-käyttöoikeushyväksyntänsä sekä omat Graph-tunnuksensa ja ilmoituspostilaatikkonsa.
Graph-sovellusrekisteröinti. Hallittu identiteetti toimii vain kotivuokraajassaan, joten luo yksittäisvuokraaja-sovellusrekisteröinti M365-vuokraajaan (esim. AccessPoint Graph Connector), myönnä sille samat Graph-sovellusoikeudet, jotka on lueteltu vaiheessa 1, järjestelmänvalvojan suostumuksella, ja luo sitten asiakassalaisuus (client secret) ja kytke se App Serviceen Key Vaultin kautta:
# In the M365 tenant: create the client secret
$secret = az ad app credential reset --id $appId --display-name "AccessPoint" --years 2 --query password -o tsv
# In the Azure subscription: store the secret and reference it from the App Service
az keyvault secret set --vault-name $vaultName --name "GraphClientSecret" --value $secret
az webapp config appsettings set --resource-group $ResourceGroup --name $appName --settings `
"Graph__TenantId=$m365TenantId" `
"Graph__ClientId=$appId" `
"Graph__ClientSecret=@Microsoft.KeyVault(SecretUri=https://$vaultName.vault.azure.net/secrets/GraphClientSecret)"
az webapp restart --resource-group $ResourceGroup --name $appName
Älä koskaan tallenna salaisuutta suoraan App Servicen asetuksiin; App Servicen hallitulla identiteetillä on oltava Key Vault Secrets User -rooli säilössä. Kun kaikki kolme Graph__*-asetusta ovat läsnä, API käyttää sovellusrekisteröintiä; kun ne puuttuvat, se käyttää oletuksena hallittua identiteettiä samassa vuokraajassa tapahtuvissa käyttöönotoissa.
Jaettu postilaatikko ja sovelluksen käyttöoikeuskäytäntö. Luo lisensoimaton jaettu postilaatikko M365-vuokraajaan sähköposti-ilmoituksia varten, ja rajaa Mail.Send-oikeuden laajuus niin, että sovellus voi lähettää vain kyseisestä postilaatikosta:
Connect-ExchangeOnline -Organization "contoso.onmicrosoft.com"
New-Mailbox -Name "AccessPoint Notifications" -Alias "accesspoint-noreply" -Shared
New-DistributionGroup -Name "AccessPoint Mail Senders" -Type Security -ManagedBy "admin@contoso.com"
Add-DistributionGroupMember -Identity "AccessPoint Mail Senders" -Member "accesspoint-noreply@contoso.com"
New-ApplicationAccessPolicy -AppId $appId -PolicyScopeGroupId "AccessPoint Mail Senders" `
-AccessRight RestrictAccess -Description "AccessPoint may send only from the shared mailbox"
# Verify (propagation can take up to 30 minutes)
Test-ApplicationAccessPolicy -AppId $appId -Identity "accesspoint-noreply@contoso.com" # expect: Granted
Test-ApplicationAccessPolicy -AppId $appId -Identity "someother@contoso.com" # expect: Denied
Jokainen M365-vuokraaja toistaa sen jälkeen vaiheet 2–5 (sovellukset, hyväksynnät, API-osoite — sama API-osoite palvelee kaikkia vuokraajia). Teamsin toimintosyötteen ilmoitukset edellyttävät lisäksi järjestelmänvalvojan suostumusta Realizerin yrityssovellukselle (enterprise application) sekä käyttäjille asennetulle Teams-sovellukselle; katso lisätietoja kohdasta Alkuasetukset.
Palautus ja käyttötoiminnot
Vakiomuotoiset Azure-mekanismit kattavat palautuksen: ota käyttöön aiempi API-paketti App Servicen Deployment Center -historiasta, palauta Azure SQL ajankohtaan perustuvalla palautuksella (enintään 35 päivää) ja lataa uudelleen aiempi versioitu .sppkg-tiedosto sovelluskatalogiin. Lainkäyttöaluepakettien tuonnit ovat lisääviä, ja ne perutaan tietokannan palautuksella. Täydellisen operatiivisen toimintaohjeen — yksityiskohtaiset palautusmenettelyt, valvonta ja ylläpitotehtävät — saat ottamalla yhteyttä tukitiimiimme.