Rajoita Microsoft Teamsin käyttöoikeuksia, kun etulinjan työntekijät ovat poissa työvuorosta
Yleiskatsaus
Työaika on ominaisuus, jonka avulla järjestelmänvalvojat voivat rajoittaa Microsoft Teamsin käyttöä android- ja iOS-mobiililaitteiden vuorotyöntekijöille. Nämä ohjausobjektit on suunniteltu tuo oman laitteen (BYOD) tai yrityksen omistamien laitteiden skenaarioihin etulinjan työntekijöille. Lue lisätietoja etulinjan laiteskenaarioita.
Tämän ominaisuuden avulla voit estää Teamsin käytön tai näyttää varoitusviestin, kun vuorossa olevat etulinjan työntekijät avaavat Teamsin. Harkitse työajan käyttöönottoa etulinjan työvoimalle, jos:
- Olet huolissasi siitä, että etulinjan työntekijät pyytävät palkkaa työajan ulkopuolella, jos he käyttävät työsovelluksia.
- Paikalliset lait ja määräykset edellyttävät, että rajoitat työsovellusten käyttöä, kun työntekijät ovat poissa vuorosta.
Miten se toimii?
Kun etulinjan työntekijä kirjautuu vuoroonsa ja avaa Teamsin, sovellus tarkistaa, onko työntekijä vuorossa vai poissa vuorosta.
- Jos työntekijä on vuorossa, hän voi käyttää Teamsia.
- Jos työntekijä on poissa työvuorosta Teamsin ollessa avoinna, työntekijä näkee lohko- tai varoitusnäytön.
- Jos olet määrittänyt lohkonäytön, työntekijä ei voi käyttää Teamsia, ennen kuin hän kirjautua sisään vuoroonsa.
- Jos olet määrittänyt varoitusnäytön, työntekijä voi hylätä sen ja valita, käytetäänkö Teamsia oman harkintansa mukaan.
- Jos työntekijä käyttää Teamsia ulos kirjautuessaan ulos, työntekijä näkee sovellukselle lohko- tai varoitusnäytön uloskuittauksen jälkeen.
Työajan lisäksi suosittelemme, että määrität myös hiljaisen ajan, jotta Teamsin ilmoitukset vaimennetaan automaattisesti, kun työntekijät ovat poissa työvuorosta.
Määritä työaika
Ota työaika käyttöön etulinjassa noudattamalla näitä ohjeita.
Sovellusten suojauskäytäntöjen määrittäminen Androidille ja iOS:lle
Microsoft Intune sovellusten suojauskäytäntöjen avulla voit määrittää työajan, joka estää Tai varoittaa Teamsin käyttöä Android- ja iOS-laitteissa. Lisätietoja käytäntöasetuksista on seuraavissa tiedoissa:
- Android-sovelluksen suojauskäytännön asetukset – Ehdollinen käynnistys
- iOS-sovelluksen suojauskäytännön asetukset – ehdollinen käynnistys
Työvoimanhallintajärjestelmän (WFM) yhdistäminen workingTimeSchedule-ohjelmointirajapintaan
Luo sovellus
Luo sovellus Microsoft Entra workingTimeSchedule Graph -ohjelmointirajapinnalle.
Kun rekisteröit sovelluksesi, varmista, että valitset Tilit vain tässä organisaatiohakemistossa (Yksittäinen vuokraaja) -vaihtoehdon, jotta vain vuokraajasi käyttäjät voivat käyttää sovellusta. Lisätietoja on artikkelissa Sovelluksen rekisteröiminen Microsoftin käyttäjätietoympäristö.
Lisää piilotetun sovelluksen käyttöoikeus Graph-ohjelmointirajapinnan kutsumiseen vaaditulla käyttöalueella,
Schedule-WorkingTime.ReadWrite.All
.Kirjaudu sisään sovellukseesi Azure-portaali.
Siirry Luettelotiedosto-välilehteen . Näkyviin tulee JSON, joka sisältää sovelluksesi täydellisen määrityksen.
Lisää
requiredResourceAccess
ominaisuus luettelotiedoston loppuun.Tämä ominaisuus määrittää käyttöoikeudet, joihin sovelluksesi edellyttää käyttöoikeuksia. Toisin sanoen se sisältää kaikki ohjelmointirajapinnat, joita sovelluksesi voi kutsua. Jos tämä ominaisuus on jo luettelossa, ohjelmointirajapinnallesi on jo myönnetty joitakin käyttöoikeuksia.
requiredResourceAccess
Lisää matriisin sisällä objekti, jonka tunnus00000003-0000-0000-0000-c000-0000000000000000
on , jotta voit määrittää Graph-sovelluksen käyttöoikeudet.Jos matriisissasi on jo objekti, jolla on sama tunnus
requiredResourceAccess
, sinun tarvitsee lisätä matriisiin vain seuraavatresourceAccess
:- Objekti, jolla on uuden piilotetun käyttöoikeuden tunnus,
0b21c159-dbf4-4dbb-a6f6-490e412c716e
. - Käyttöoikeuden tyyppi. Tässä tapauksessa.
Role
Tässä on esimerkki siitä, miltä luettelon loppu voisi näyttää:
{ ... "preAuthorizedApplications": [], "publisherDomain": "microsoft.onmicrosoft.com", "replyUrlsWithType": [ { "url": "https://localhost:44321/signin-oidc", "type": "Web" }, { "url": "https://localhost:44321/", "type": "Web" } ], "requiredResourceAccess": [ { "resourceAppId": "00000003-0000-0000-c000-000000000000", "resourceAccess": [ { "id": "0b21c159-dbf4-4dbb-a6f6-490e412c716e", "type": "Role" } ] } ], "samlMetadataUrl": null, "signInUrl": null, "signInAudience": "AzureADMyOrg", "tags": [], "tokenEncryptionKeyId": null }
- Objekti, jolla on uuden piilotetun käyttöoikeuden tunnus,
Tallenna muutokset.
Myönnä vuokraajanlaajuinen järjestelmänvalvojan suostumus sovelluksen piilotetuille käyttöoikeuksille
Tämän vaiheen suorittaminen edellyttää, että olet vuokraajan järjestelmänvalvoja.
- Siirry selaimessa osoitteeseen https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id={ClientAppId}& response_type=code&scope=https://graph.microsoft.com/.default.
- Korvaa
ClientAppId
URL-osoitteessa sovellustunnuksesi. - Valitse suostumusvalintaikkunassa Hyväksy , jos haluat myöntää vuokraajan laajuisen järjestelmänvalvojan suostumuksen sovelluksen uudelle piilotetulle käyttöoikeudelle.
Kutsu Graphia sovelluksesta
Näin voit kutsua Graphin päätepisteitä sovelluksesta käyttämällä esimerkkikoodia C#:ssä.
Luo uusi konsoliprojekti .NET 6:n tai .NET 7 SDK:n avulla.
Asenna NuGet-paketti
Microsoft.Identity.Client
.Avaa program.cs tiedosto ja kopioi ja liitä siihen seuraava esimerkkikoodi:
using System.Text; using Microsoft.Identity.Client; var userId = "928bf23a-81e8-47c9-ad54-2c0206248afe"; var path = Path.Combine(Path.GetTempPath(), "workingTimeTokenGenerator.txt"); string? accessToken; if (!File.Exists(path) || (DateTime.UtcNow - new FileInfo(path).LastWriteTimeUtc).TotalMinutes > 59) { var clientId = "00001111-aaaa-2222-bbbb-3333cccc4444"; var clientSecret = "Aa1Bb~2Cc3.-Dd4Ee5Ff6Gg7Hh8Ii9_Jj0Kk1Ll2"; var tenantId = "cad3e174-69d3-4707-abd2-f527f45c367a"; var scopes = new string[] { "00000003-0000-0000-c000-000000000000/.default" }; var app = ConfidentialClientApplicationBuilder.Create(clientId) .WithClientSecret(clientSecret) .Build(); var result = await app.AcquireTokenForClient(scopes) .WithAuthority(AzureCloudInstance.AzurePublic, tenantId) .ExecuteAsync(); accessToken = result.AccessToken; File.WriteAllText(path, accessToken); } else { accessToken = File.ReadAllText(path); } int number; while (true) { Console.WriteLine("Press 1 for startWorkingTime, 2 for endWorkingTime."); var choice = Console.ReadLine(); if (!Int32.TryParse(choice, out number) || !new[] { 1, 2}.Contains(number)) { Console.WriteLine("Out-of-range election."); continue; } break; } Console.WriteLine("Performing request..."); var httpClient = new HttpClient(); var message = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri($"https://graph.microsoft.com/beta/users/{userId}/solutions/schedule/{(number == 1 ? "startWorkingTime" : "endWorkingTime")}") }; message.Headers.Add("Authorization", $"Bearer {accessToken}"); message.Content = new StringContent("", Encoding.UTF8, "application/json"); var response = await httpClient.SendAsync(message); if (!response.IsSuccessStatusCode) { string? content = null; try { content = await response.Content?.ReadAsStringAsync(); } catch { } Console.WriteLine($"Graph returned a non success status code: {response.StatusCode}. Reason phrase: {response.ReasonPhrase}." + (content is null ? "Unable to get the response body." : $"Content: {content}")); } else { Console.WriteLine($"Graph returned a success status code: {response.StatusCode}."); } Console.WriteLine("Press any key to exit."); _ = Console.ReadKey();
Muuta koodissa seuraavaa:
-
tenantId
: Korvaa vuokraajatunnuksellasi. -
clientId
: Korvaa sovelluksesi tunnuksella. -
clientSecret
: Sinun on lisättävä asiakassalaisuus sovelluksesi todennusosioon . Voit myös käyttää suojausvarmennetta ja muuttaa koodia vastaavasti. -
userId
: Korvaa käyttäjällä, jolle haluat ottaa käyttöön inWorkingTime- tai outOfWorkingTime-käytännön.
-
Hiljaisen ajan määrittäminen
Tämä vaihe on valinnainen, mutta sitä suositellaan.
Määritä Intune hiljaisen ajan käytännöt, jotta voit automaattisesti vaimentaa Teams-ilmoitukset etulinjan työntekijöille työajan ulkopuolella. Lue lisätietoja hiljaisen ajan käytäntöjen luomisesta.
Usein kysytyt kysymykset
Onko minun käytettävä Teamsin Shifts-sovellusta, jotta voin hyödyntää tätä ominaisuutta?
Ei, tämä ominaisuus käyttää WFM kellon sisään- ja ulos-signaalia.
Voinko käyttää työaikaa, jos käytössä ei ole sisään- tai uloskellojärjestelmää?
Ei. Tämän ominaisuuden käyttäminen edellyttää sisään- ja ulostulosignaalia.