Delen via


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 de mip::FileHandlermethode.GetProtection()
  • Controleer of de gebruiker EDIT-rechten heeft door de methode aan te roepenAccessCheck().
  • Gebruik mip::FileHandler's GetDecryptedTemporaryFileAsync() of GetDecryptedTemporaryStreamAsync() 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 de SetProtection() opgeslagen als de parameter opgeeft mip::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::ProtectionHandleronderhouden.

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::ProtectionHandlerook 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::FileHandleru '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.

Volgende stappen