Mukautettujen metadatatyyppien suojaus- ja yksityisyysvaihtoehdot
Hallitse mukautettujen metadatatyyppien näkyvyyttä ja käyttöoikeuksia.
Vaaditut versiot
| Käytettävissä: Salesforce Classicissa ja Lightning Experiencessa |
Käytettävissä: Enterprise Edition-, Performance Edition-, Unlimited Edition- ja Developer Edition -versioissa Voit luoda, muokata ja poistaa asennetuissa paketeissa olevia mukautettujen metadatatyyppien tietueita: Essentials Edition-, Group Edition- ja Professional Edition -versioissa |
Paketit
Kun käytät luottamuksellisia tietoja, kuten sovellusten salaisuuksia, on tärkeää, että metadatatyypit on lisätty hallittuun pakettiin. Kun ne sisältyvät hallittuun pakettiin ja asetetaan suojattuun tai paketista suojattuun, niitä ei näytetä tilaavissa organisaatioissa, joten ne ovat hyvä paikka säilyttää tiettyjä salaisuuksia.
Hallittuun pakettiin sisältyvät suojatut mukautetut metadatatyypit käyttäytyvät samalla tavalla kuin julkiset mukautetut metadatatyypit. Varmista, että salaisuudet, henkilötiedot ja muut yksityiset tiedot säilytetään suojatuissa mukautetuissa metadatatyypeissä, jotka on asennettu osana hallittua pakettia.
Näkyvyys
Voit luoda suojattuja mukautettuja metadatatyyppejä kehitys- ja luonnosorganisaatioissa. Nämä mukautettujen metadatatyyppien vaihtoehdot ovat käytettävissä.
- Suojattu paketti — Kun tyyppi on toisen sukupolven hallitussa paketissa, vain samassa hallitussa paketissa oleva Apex-koodi voi nähdä sen. Tyypin ja tietueen nimet ovat näkyvissä, jos niihin viitataan kaavassa.
- Suojattu — Kun tyyppi on hallitussa paketissa, vain samassa nimitilassa oleva Apex-koodi voi nähdä sen. Tyypin ja tietueen nimet ovat näkyvissä, jos niihin viitataan kaavassa.
- Julkinen — Riippumatta paketin tyypistä (hallittu tai ei-hallittu), näillä on käyttöoikeus.
- Apex
- Kaavat
- Kulut
- API käyttäjille, joille on kohdistettu sovelluksen mukautusoikeus tai profiilien tai käyttöoikeusjoukkojen kautta myönnetyt käyttöoikeudet. Mukautetut metadatatyypit, kentät ja suojaamattomat tietueet näytetään Määritykset-valikossa.
Skeema-asetukset
Skeema-asetukset-vaihtoehto, Rajoita mukautettujen metadatatyyppien käyttöä -asetus on organisaationlaajuinen asetus, joka rajoittaa mukautettujen metadatatyyppien käyttöä. Tämä valinta on oletusarvoisesti käytössä ja API:n mukautettujen metadatatyyppien lukuoikeus täytyy myöntää suoraan. Pääkäyttäjät, joilla on sovelluksen mukautusoikeus, voivat myöntää käyttäjille oikeuden profiilien tai käyttöoikeusjoukkojen kautta.
Apexin, Visualforcen ja Auran toimintatavat
Salesforcessa on erilaisia koodin suoritustiloja, jotka vaikuttavat mukautettujen metadatatyyppien käytettävyyteen.
Järjestelmätilassa suoritettu Apex-koodi ohittaa käyttäjäoikeudet ja Apex-koodisi voi käyttää kaikkia objekteja ja kenttiä. Objektien käyttöoikeuksia, kenttätason suojausta tai jakosääntöjä ei sovelleta käyttäjälle. Koodin suorittaminen järjestelmätilassa varmistaa, ettei koodin suoritus epäonnistu käyttäjältä piilotettujen kenttien tai objektien vuoksi.
Käyttäjätilassa Visualforce-komponentit, Visualforce-sähköpostimallit, Aura ja muut kohteet suoritetaan käyttäjän käyttöoikeuksien ja tietueiden jakoasetusten mukaan.
with sharing-muokkaaja ei vaikuta kyselyiden toimintatapaan, kuten isAccessible() ja isCreatable(). Jos kenttäarvo noudetaan Apexissa ja kohdistetaan muuttujaan, joka ei ole sObject, toiminta on sama riippumatta siitä, onko valinta käytössä vai ei.Kun Visualforce-komponentteja, Visualforce-sähköpostimalleja, Aura-komponentteja ja muita kohteita suoritetaan käyttäjätilassa, sinulla täytyy olla mukautettujen metadatatyyppien käyttöoikeudet. Jos sinulla ei ole esimerkiksi Visualforce-sivuilla olevien kenttien käyttöoikeutta, et näe niitä. Globaali $Setup-muuttuja (käytettävissä Visualforcessa ja kaavoissa) lataa arvoja edelleen suoran viitteen avulla (eli sObject-tyyppiin kohdistettu data) riippumatta suorittavasta käyttäjästä.
Kuvittele tämä skenaario:
- (1) Apex lataa tietueen, joka on muuttujaan sisältyvä rivi, kuten
MyCMT__c. - (2) Visualforce näyttää arvon
MyCMT__c.MyPath__c. - (3) Käyttöoikeudet tarkistetaan sivun lataamisen yhteydessä.
- (4) Tarkistuksia ei kuitenkaan suoriteta järjestelmätilassa, joka on Visualforcen tavallinen toimintatapa. Käyttäjät, joilla ei ole mukautetun metadatatyypin käyttöoikeutta, eivät näe Visualforce-sivua, koska Visualforce käynnistää käyttöoikeustarkistuksen uudelleen.
Tämän tilanteen voi korjata kahdella tapaa, jos käyttäjällä ei ole mukautetun metadatatyypin käyttöoikeutta. Voit luoda jokaiselle objektille välitettävän merkkijonon tai luoda sisäkkäisen luokan. Käytä näitä vaihtoehtoja sen sijaan, että kohdistaisit muuttujan, kuten MyCMT__c, ja renderöisit sen sitten myCMT.Path__c myCMT.Name. Esimerkiksi:
class DataHolder{
public string path {get;set;}
public boolean active {get;set;}
}Kun lataat rivejä kokoelmaan, Visualforce-tarkistukset ohitetaan, koska tyyppi on datatyyppi, eikä sObject.
Alla on esimerkki, joka sisältää Aura- tai Lightning-komponentin ohjaimen @AuraEnabled-annotaation.
class with sharing MyController {
@AuraEnabled
public static List<My__mdt> thisWillNotWork() {
return [select developername from my__mdt];
}
@AuraEnabled
public static List<String> thisWill() {
List<String> retVal = new List<String>();
for(My__mdt config: [select developername from my__mdt]) {
retVal.add(config.DeveloperName);
}
return retVal;
}
}Mukautettujen metadatatyyppien tietojen hakeminen
Kun haet mukautettujen metadatatyyppien tietueita tai mukautettujen metadatatyyppien määriä, SOQL:n, Apexin, kaavojen, kulkujen tai API:n palauttama numero voi olla eri kuin käyttöliittymässä oleva numero. Tämä ero johtuu mukautetun metadatatyypin näkyvyysasetuksista ja käyttöoikeuksista, jotka käyttäjällä on tyyppiin profiilien ja käyttöoikeuksien perusteella.
