Opnieuw publiceren (C++)
Overzicht
Dit overzicht is gericht op opnieuw publiceren in MIP SDK is een specifiek scenario dat wordt aangetroffen wanneer een toepassing een gebruiker moet toestaan het bestand te bewerken, maar de oorspronkelijke publicatielicentiegegevens over eigenaar, rechten, inhoudssleutel, enzovoort wil behouden.
Het patroon kan er ongeveer als volgt uitzien:
- Een gebruiker opent een beveiligd document voor bewerking.
- De gebruiker mag het bestand alleen bewerken als aan de gebruiker de juiste rechten zijn verleend.
- De gebruiker bewerkt het document en slaat het vervolgens op.
De pseudocode van de MIP SDK om deze taak uit te voeren, kan er als volgt uitzien:
- Maak een
mip::FileHandler
bestand dat verwijst naar het doelbestand. - Sla de
mip::ProtectionHandler
weergegeven gegevens op door demip::FileHandler
methode.GetProtection()
- Controleer of de gebruiker EDIT-rechten heeft door de methode aan te roepen
AccessCheck()
. - Gebruik
mip::FileHandler
'sGetDecryptedTemporaryFileAsync()
ofGetDecryptedTemporaryStreamAsync()
om een tijdelijke ontsleutelde uitvoer op te halen. - Bewerk het tijdelijke bestand of de inhoud van de stream en sla het bestand op.
- Maak een nieuw
mip::FileHandler
exemplaar dat verwijst naar het tijdelijke bestand en gebruik de methode, waarbij u deSetProtection()
opgeslagen als de parameter opgeeftmip::ProtectionHandler
. - Voer de wijziging door.
Met behulp van het mip::ProtectionHandler
oorspronkelijke bestand wordt de eigenaar, inhouds-id, inhoudssleutel enzovoort bewaard in het bewerkte document. Voor dit scenario voor opnieuw publiceren moet de toepassing een verwijzing naar het origineel mip::ProtectionHandler
onderhouden.
Implementatie
Zoals eerder besproken, bevat de mip::FileHandler
klasse methoden voor het lezen, schrijven en verwijderen van labels en beveiligingsinformatie. Raadpleeg de referentie voor mip::FileHandler voor de volledige lijst met ondersteunde bewerkingen.
In dit scenario worden de volgende methoden gebruikt:mip::FileHandler
GetProtection()
CommitAsync()
GetDecryptedTemporaryFileAsync()
SetProtection()
In het scenario wordt mip::ProtectionHandler
ook gebruikgemaakt van de functies voor het versleutelen en ontsleutelen van beveiligde streams en buffers, het uitvoeren van toegangscontroles, het verkrijgen van de publicatielicentie en het ophalen van kenmerken van de beveiligde informatie. De AccessCheck()
methode wordt gebruikt om te valideren dat de gebruiker rechten heeft om het bestand te bewerken.
Als u dit scenario voor opnieuw beveiligen wilt voltooien, bekijkt u de quickstart onder 'Volgende stappen' en zorgt u ervoor dat de toepassing wordt gebouwd en labels kan vermelden.
Een beveiligingshandler maken op basis van het bestand en het bestand ontsleutelen
mip::ProtectionHandler
maakt de functies beschikbaar voor het versleutelen en ontsleutelen van beveiligde streams en buffers, het uitvoeren van toegangscontroles, het verkrijgen van de publicatielicentie en het ophalen van kenmerken van de beveiligde informatie.
mip::ProtectionHandler
objecten worden samengesteld door een ProtectionDescriptor of een geserialiseerde publicatielicentie op te geven. Voor deze use-case gebruiken we impliciet de publicatielicentie omdat er een publicatielicentie wordt gebruikt bij het ontsleutelen van al beveiligde inhoud of bij het beveiligen van inhoud waar de licentie al is samengesteld.
mip::FileHandler
maakt een methode beschikbaar met de naam GetProtection()
die wordt opgehaald mip::ProtectionHandler
uit het bestand dat is gekoppeld aan de mip::FileHandler
. Zodra het mip::ProtectionHandler
object is opgehaald, kan hetzelfde worden gebruikt om de toegangsniveaus van de gebruiker voor het bestand te valideren, het bestand te ontsleutelen en het bestand later te versleutelen zodra het is bewerkt.
mip::ProtectionHandler
's AccessCheck()
worden gebruikt om te valideren dat de gebruiker een specifiek recht op het bestand heeft en een Booleaanse reactie retourneert, afhankelijk van het resultaat. Als u bijvoorbeeld wilt controleren of de gebruiker rechten heeft om te bewerken, roept u de methode aan die de waarde BEWERKEN doorgeeft. Als het resultaat waar is, staat u de gebruiker toe het bestand te bewerken. Zodra het EDIT-recht is geverifieerd, gebruikt mip::FileHandler
u 's GetDecryptedTemporaryFileAsync()
om het tijdelijke ontsleutelde bestand op te halen.
Raadpleeg gebruikersrechten voor Azure Information Protection voor meer informatie over verschillende gebruikersrechten.
Belangrijk
Toegangscontroles en afdwinging zijn uitsluitend aan de ontwikkelaar van de toepassing. Een gebruiker met VIEW-rechten kan de beveiligde gegevens ontsleutelen. Het is aan de toepassing om de set rechten te valideren die aan de gebruiker zijn verleend en om deze rechten af te dwingen via besturingselementen voor gegevensbeveiliging, zoals het voorkomen van kopiƫren, bewerken of het maken van schermopnamen. Als u geen beveiligingscontroles goed implementeert, kan dit leiden tot blootstelling aan gevoelige informatie.
Het bewerkte bestand opslaan en publiceren door Beveiliging toe te passen
Nadat het bestand is ontsleuteld, kan het bestand worden bewerkt. Zodra de bewerking is voltooid, kunnen de wijzigingen worden doorgevoerd. Maak een IFileHandler
object met behulp van het bovenstaande tijdelijke bestand voor het verwerken van het vastgelegde bestand. Het tijdelijke bestand kan vervolgens worden beveiligd met behulp van het IProtectionHandler
object dat is opgehaald uit het oorspronkelijke bestand.