Johdanto
Käyttäjän piilottaminen Outlookin osoitteistosta on helppoa, mutta osoitteistojen piilottaminen käyttäjiltä ei olekaan yhtä suoraviivaista. Siihen ei ole mitään suoraa sisäänrakennettua ominaisuutta Office 365 -palvelussa ja Exchange Onlinessa. Tavoitteenani on siis saada kaikki yleiset osoitteistot piilotettua tietyltä käyttäjältä, jotta hän ei voi selata organisaation henkilöstön nimiä, sähköpostiosoitteita, puhelinnumeroita yms.
Näin voidaan haluta esimerkiksi silloin, jos tehdään ulkoista organisaatiota varten Office 365 -tili, eikä haluta, että ulkoista organisaatiota edustava väki näkee turhaan liikaa tietoja omasta organisaatiosta. Jaettavaa tiliä voidaan sitten käyttää esimerkiksi yhteisiin huonekalenterivarauksiin.
Address Book Policy
Address Book Policy (ABP) mahdollistaa sen, että käyttäjiä voidaan segmentoida tiettyihin ryhmiin, joille näytetään erilaisia kustomoituja osoitelistoja.
Esimerkiksi itse tavoittelen sitä, että organisaation sisäinen henkilöstö näkee osoitelistat normaalisti kaikkine tietoineen, mutta ulkoiselle organisaatiolle jaettava Office 365 -tili näkisi omat tyhjät osoitelistansa. Tarkoituksena on siis piilottaa sisäisen henkilöstön osoitelistat tältä yhdeltä tietyltä käyttäjältä.
Tätä varten tarvitaan uusi Address Book Policy (ABP) ja Office 365 -käyttäjä, jolle se ABP-käytäntö määritetään.
Loin uuden käyttäjän kalenterivaraukset@mapy.fi Office 365 Business Essentials -lisenssillä, josta karsin käyttöoikeudet pois kaikkiin sovelluksiin ja palveluihin. Jätin oikeudet ainoastaan Exhange Online (Plan 1) ja Office for the web -sovelluksiin.
Address Book Policy muodostuu aina neljästä osasta:
- yksilöllinen Global Address List (GAL)
- yksilöllinen Offline Address Book (OAB)
- yksi tai useampi yksilöllinen tavallinen osoitelista (Address List)
- yksilöllinen huonelista (Room List)
ABP-käytäntöjen luominen PowerShellissä
ABP-sääntöihin liittyvät cmdlet-komennot edellyttävät “Address Lists” -roolin lisäämistä Exchangen rooliryhmään, johon admin-käyttäjätunnus kuuluu. Kyseistä roolia ei oletuksena ole lisätty mihinkään rooliryhmään. Itse lisäsin kyseisen roolin “Organizatio Management” -rooliryhmään navigoimalla seuraavasti:
Exchange Admin Centeristä ”Permissions” > ”Admin roles”:
Muokkasin “Organization management”-rooliryhmää ja lisäsin siihen oman hallintakäyttäjäni. Lisäksi lisäsin siihen roolin “Address Lists” ja tallensin muutokset:
Yhdistin Exchange Onlineen PowerShellillä Microsoft Exchange Online PowerShell Modulen kautta:
Connect-EXOPSSession -UserPrincipalName hallinta.kayttaja@mapy.fi
Aloitin luomalla uuden Global Address Listin (GAL):
PS C:\Users\Markus> New-GlobalAddressList -Name "ExternalUsersGAL" Name RecipientFilter ---- --------------- ExternalUsersGAL
Sitten loin uuden Office Address Bookin (OAB):
PS C:\Users\Markus> New-OfflineAddressBook -Name "ExternalUsersOAB" -AddressLists "\ExternalUsersGAL" RunspaceId : ea775c48-7776-47a3-82c2-d1fa411e40de GeneratingMailbox : AddressLists : {\ExternalUsersGAL} Versions : {Version4} IsDefault : False PublicFolderDatabase : PublicFolderDistributionEnabled : False GlobalWebDistributionEnabled : True WebDistributionEnabled : True ShadowMailboxDistributionEnabled : False UseE14SortOrder : False UseE14SortOrderOrdinal : False UseOrdinalSortedMultivaluedProperties : True LastTouchedTime : LastRequestedTime : LastFailedTime : LastNumberOfRecords : HttpHomeMdbLastProcessedBucket : 1000 LastGeneratingData : MaxBinaryPropertySize : 32768 MaxMultivaluedBinaryPropertySize : 65536 MaxStringPropertySize : 3400 MaxMultivaluedStringPropertySize : 65536 ConfiguredAttributes : {} DiffRetentionPeriod : 30 Schedule : {su.5.00-su.5.15, ma.5.00-ma.5.15, ti.5.00-ti.5.15, ke.5.00-ke.5.15...} FullOabDownloadPreventionThreshold : 0 ZipOabFilesBeforeUploading : False VirtualDirectories : {} ExchangeVersion : 0.20 (15.0.0.0) AdminDisplayName : Name : ExternalUsersOAB DistinguishedName : CN=ExternalUsersOAB,CN=Offline Address Lists,CN=Address Lists Container,CN=C onfiguration,CN=mapyfi.onmicrosoft.com,CN=ConfigurationUnits,DC=EURPR05A009, DC=PROD,DC=OUTLOOK,DC=COM Identity : \ExternalUsersOAB ObjectCategory : EURPR05A009.PROD.OUTLOOK.COM/Configuration/Schema/ms-Exch-OAB ObjectClass : {top, msExchOAB} WhenChanged : 30.11.2019 16.04.28 WhenCreated : 30.11.2019 16.04.28 WhenChangedUTC : 30.11.2019 14.04.28 WhenCreatedUTC : 30.11.2019 14.04.28 ExchangeObjectId : 5b3b302b-e365-4c3a-be39-b662296eae6e OrganizationId : EURPR05A009.PROD.OUTLOOK.COM/Microsoft Exchange Hosted Organizations/mapyfi. onmicrosoft.com - EURPR05A009.PROD.OUTLOOK.COM/ConfigurationUnits/mapyfi.onm icrosoft.com/Configuration Id : \ExternalUsersOAB Guid : 5b3b302b-e365-4c3a-be39-b662296eae6e OriginatingServer : VI1PR05A009DC06.EURPR05A009.PROD.OUTLOOK.COM IsValid : True ObjectState : Unchanged
Seuraavaksi loin uuden tavallisen osoitelistan:
PS C:\Users\Markus> New-AddressList -Name "ExternalUsersAddressList" Name DisplayName RecipientFilter ---- ----------- --------------- ExternalUsersAddressList ExternalUsersAddressList
Sitten loin uuden huonelistan:
PS C:\Users\Markus> New-DistributionGroup -Name "ExternalUsersRoomList" -RoomList New! Office 365 Groups are the next generation of distribution lists. Groups give teams shared tools for collaborating using email, files, a calendar, and more. You can start right away using the New-UnifiedGroup cmdlet. Name DisplayName GroupType PrimarySmtpAddress ---- ----------- --------- ------------------ ExternalUsersRoomList ExternalUsersRoomList Universal ExternalUsersRoomList@mapyfi.onmicrosoft.com
Seuraavaksi kokeilin luoda ABP-säännön komennolla:
PS C:\Users\Markus> New-AddressBookPolicy -Name "ExternalUsersABP" -GlobalAddressList "\ExternalUsersGAL" -OfflineAddressBook "\ExternalUsersOAB" -RoomList "\ExternalUsersRoomList" -AddressLists "\ExternalUsersAddressList" All room list "\ExternalUsersRoomList" was not found. Please make sure you typed the identity correctly. + CategoryInfo : NotSpecified: (:) [New-AddressBookPolicy], ManagementObjectNotFoundException + FullyQualifiedErrorId : [Server=AM0PR0502MB3601,RequestId=dfdc2252-1ff5-476e-b8c5-c4e11003d5c5,TimeStamp=30.1 1.2019 14.06.35] [FailureCategory=Cmdlet-ManagementObjectNotFoundException] 379B0544,Microsoft.Exchange.Managem ent.SystemConfigurationTasks.NewAddressBookPolicy + PSComputerName : outlook.office365.com
Jostain syystä huonelistaa ei löydy, vaikka se on kyllä olemassa.
EDIT (12.12.2019): Huonelista olisi pitänyt luoda tavallisena osoitelistana, johon kuuluu vain huoneresursseja. Se ei ole huoneista koostuva jakelulista! Katso: https://docs.microsoft.com/en-us/exchange/address-books/address-book-policies/address-book-policies, jossa määritellään seuraavasti:
One room list. Note that this room list is a custom address list that specifies rooms (contains the filter
RecipientDisplayType -eq 'ConferenceRoomMailbox'
). It’s not a room finder that you create with the RoomList switch on the New-DistributionGroup or Set-DistributionGroup cmdlet.
Lopulta kokeilin luoda ABP-säännön määrittelemättä huonelistaa ollenkaan. Tällöin minua pyydettiin kuitenkin määrittämään huonelista, joten annoin sen arvoksi “All rooms“, mikä mahdollistaa toki sen, että ABP-käytäntö sallii kaikkien huoneiden näkymisen käyttäjälle, jolle käyntäntö määritetään. Omassa tapauksessani se on jopa suotuisaa, joten en lähtenyt tutkimaan tarkemmin, miksi huonelista ei kelpaa.
PS C:\Users\Markus> New-AddressBookPolicy -Name "ExternalUsersABP" -GlobalAddressList "\ExternalUsersGAL" -OfflineAddressBook "\ExternalUsersOAB" -AddressLists "\ExternalUsersAddressList" cmdlet New-AddressBookPolicy at command pipeline position 1 Supply values for the following parameters: RoomList: All rooms Name GlobalAddressList AddressLists OfflineAddressBook RoomList ---- ----------------- ------------ ------------------ -------- ExternalUsersABP \ExternalUsersGAL {\ExternalUsersAddressList} \ExternalUsersOAB \All Rooms
Tarkistin, että ABP varmasi luotiin:
PS C:\Users\Markus> Get-AddressBookPolicy -Identity "ExternalUsersABP" Name GlobalAddressList AddressLists OfflineAddressBook RoomList ---- ----------------- ------------ ------------------ -------- ExternalUsersABP \ExternalUsersGAL {\ExternalUsersAddressList} \ExternalUsersOAB \All Rooms PS C:\Users\Markus> Get-AddressBookPolicy -Identity ExternalUsersABP | Format-List RunspaceId : 95d0bf8c-82a6-4289-be31-40c6a2c26e0f MembershipFilter : RecipientFilter : PendingChanges : False IBPolicyState : Inactive IsVisibilityBlocked : False IsCommunicationBlocked : False AddressLists : {\ExternalUsersAddressList} GlobalAddressList : \ExternalUsersGAL RoomList : \All Rooms OfflineAddressBook : \ExternalUsersOAB IsInformationBarrierPolicy : False InformationBarrierSegment : DisplayName : IsDefault : False AdminDisplayName : ExchangeVersion : 0.10 (14.0.100.0) Name : ExternalUsersABP DistinguishedName : CN=ExternalUsersABP,CN=AddressBook Mailbox Policies,CN=Configuration,CN=mapyfi.onmicros oft.com,CN=ConfigurationUnits,DC=EURPR05A009,DC=PROD,DC=OUTLOOK,DC=COM Identity : ExternalUsersABP ObjectCategory : EURPR05A009.PROD.OUTLOOK.COM/Configuration/Schema/ms-Exch-Address-Book-Mailbox-Policy ObjectClass : {top, msExchRecipientTemplate, msExchAddressBookMailboxPolicy} WhenChanged : 30.11.2019 16.25.04 WhenCreated : 30.11.2019 16.25.04 WhenChangedUTC : 30.11.2019 14.25.04 WhenCreatedUTC : 30.11.2019 14.25.04 ExchangeObjectId : 3f8d4d5f-68e9-4c3a-8c8a-3af1659901e7 OrganizationId : EURPR05A009.PROD.OUTLOOK.COM/Microsoft Exchange Hosted Organizations/mapyfi.onmicrosoft .com - EURPR05A009.PROD.OUTLOOK.COM/ConfigurationUnits/mapyfi.onmicrosoft.com/Configura tion Id : ExternalUsersABP Guid : 3f8d4d5f-68e9-4c3a-8c8a-3af1659901e7 OriginatingServer : VI1PR05A009DC06.EURPR05A009.PROD.OUTLOOK.COM IsValid : True ObjectState : Unchanged PS C:\Users\Markus>
Sitten kokeilin määrittää ABP:n halutulle käyttäjälle:
Set-MailBox -Identity kalenterivaraukset@mapy.fi -AddressBookPolicy ExternalUsersABP
Lisäsin käyttäjätilin Outlook-työpöytäsovellukseeni ja kävin katsomassa, miltä osoitteisto näyttää kyseiselle käyttäjälle:
Kuvasta havaitaan, että kalenterivaraukset@mapy.fi näkee huomattavasti vähemmän kuin esimerkiksi ihan ylimpänä näkyvä sähköpostitili samasta toimialueesta. Molemmat tilit näkevät nyt oman osoitteistonsa. Jos esimerkiksi avaan “Yleinen osoitteisto” -listan kalenterivaraukset@mapy.fi -tilillä, niin listalta ei löydy ketään. Ainoa lista, jossa on sisältöä on “All rooms” -huonelista.
Sama on havaittavissa Outlook Web -sovelluksen kautta, jossa hakemisto on jostain syystä vielä tyhjempi:
HUOM! ABP muutos voi tulla todella hitaasti voimaan. Kannattaa odottaa ainakin pari tuntia, ennen kuin tietää, mitkä osoitelistat oikeasti näkyvät käyttäjälle.