Förstå användningsbegränsningar

Viktigt

Versioner av Microsoft Rights Management Service SDK som släpptes före mars 2020 är inaktuella. program som använder tidigare versioner måste uppdateras för att använda mars 2020-versionen. Fullständig information finns i utfasningsmeddelandet.

Inga ytterligare förbättringar planeras för Microsoft Rights Management Service SDK. Vi rekommenderar starkt att du använder Microsoft Information Protection SDK för klassificerings-, märknings- och skyddstjänster.

Alla RMS-aktiverade program måste tillämpa användningsrestriktioner. En användningsbegränsning är ett villkor som resulterar i att en användare försöker utföra en åtgärd (t.ex. att skriva ut ett dokument), men RMS-principen för dokumentet inte ger dem behörighet eller rätt att utföra åtgärden (t.ex. utskriftsbehörigheten).

Du kan kontrollera en användares behörigheter för ett dokument med hjälp av funktionen IpcAccessCheck.

Designa med användningsbegränsningar

  • Bekanta dig med standardbehörigheterna för RMS

    Den fullständiga uppsättningen RMS-rättigheter som ditt program kan tillämpa finns i Referens för användningsbegränsningar.

    Observera att programdefinierade rättigheter som är specifika för din situation och som ligger utanför standardbehörigheterna för RMS kan skapas.

  • Identifiera tillämpningspunkter för användningsbegränsningar

    En tillämpningspunkt för användningsbegränsningar är en plats i programmets kontrollflöde där du behöver tillämpa en användningsbegränsning. Avsnittet Referens för användningsbegränsningar innehåller flera exempel på vanliga tillämpningspunkter.

    Utvärdera ditt eget program för att avgöra vilka tillämpningspunkter för användningsbegränsningar som behövs.

    Programmet kanske inte behöver alla tillämpningspunkter som beskrivs i Referens för användningsbegränsningar. Om ditt program till exempel inte tillåter att användare skriver ut innehåll behöver det inte söka efter IPC_GENERIC_PRINT behörighet.

  • Uppdatera din kod för att köra en åtkomstkontroll på varje tillämpningspunkt

    Anvisningar för hur du tillämpar specifika rättigheter finns i Referens för användningsbegränsningar.

Referens för användningsbegränsningar

Användningsbegränsningar definieras av följande konstanter.

Varje användarrättighet, som visas i kolumnen AD RMS-behörighet, har en beskrivning, tvingande punkt och föreslagna metoder för tvingande.

AD RMS-rättighet/beskrivning Metod för tvingande
IPC_GENERIC_ALL

Tilldelar användaren alla rättigheter.

Gemensamma tvingande punkter: Inga
Den här behörigheten används av systemet och bör normalt inte kontrolleras direkt.

IpcAccessCheck använder den här behörigheten för att avgöra om användaren ska tilldelas andra rättigheter som i det här exemplet.

/* fAccessGranted is set to TRUE if either the IPC_GENERIC_WRITE or the IPC_GENERIC_ALL right is granted */

IpcAccessCheck(hKey, IPC_GENERIC_WRITE, &fAccessGranted);
IPC_GENERIC_READ

Behörighet att läsa dokumentinnehåll.

Gemensamma tvingande punkter: Inläsning av dokument
Läs inte in eller visa dokumentinnehållet
IPC_GENERIC_WRITE

Behörighet att redigera dokumentinnehåll.

Gemensamma tvingande punkter: Ändring av dokument
Gör att alla UI-kontroller som kan användas till att ändra innehållet i dokumentet inte kan redigeras.

Inaktivera alla menyalternativ som utlöser dokumentändringar. Redigera>Klipp ut, Redigera>klistra in och Infoga är vanliga exempel.

Inaktivera alla alternativ på snabbmenyn som utlöser dokumentändringar.
Inga AD RMS-behörigheter

Ingen beskrivning

Gemensamma tvingande punkter: Spara
Inaktivera menyn Spara> fil.

Obs! Den här behörigheten styr inte Arkiv>Spara som eftersom det inte innebär en ändring i originaldokumentet.

Inaktivera alla kortkommandon som kan användas till att utlösa att dokumentet sparas (till exempel Ctrl + S).

Tips En bra metod är att uppdatera kärnkoden för Arkiv>Spara till att inte utföras om användaren inte har den behörigheten. Det här fungerar som ett säkerhetsnät om du missar eventuella UX-mekanismer som kan användas till att utlösa Spara.
IPC_GENERIC_EXTRACT

Behörighet att extrahera innehåll från ett skyddat format och ge det ett oskyddat format.

Gemensamma tvingande punkter: Kopiera till urklipp
Inaktivera menyn Redigera>kopia . Inaktivera menyn Redigera>klipp ut .

Inaktivera Kopiera och Klipp ut på eventuella snabbmenyer.

Inaktivera alla kortkommandon som kan användas till att skapa en kopia (till exempel Ctrl + C och Ctrl + X).

Uppdatera fönstrets meddelandehanterare för WM_CUT till att neka datakopiering om användaren inte har den här behörigheten. Om fönstret använder den meddelandehanterare som är standard för Windows underindelar du det här fönstret och anger egna hanterare för WM_COPY och WM_CUT.
Inga AD RMS-behörigheter

Ingen beskrivning

Gemensamma tvingande punkter: Spara som
I dialogrutan Spara som inaktiverar du alla filformat som leder till att dokumentet sparas utan RMS-skydd.
Inga AD RMS-behörigheter

Ingen beskrivning

Gemensamma tvingande punkter: Alt+PrtScn
Anropa IpcProtectWindow i alla fönster som återger dokumentinnehåll.
IPC_GENERIC_EXPORT

Behörighet att extrahera innehåll från ett skyddat format och ge det ett annat AD RMS-skyddat format.

Gemensamma tvingande punkter: Spara som
I dialogrutan Spara som inaktiverar du möjligheten att spara i andra filformat.

Tips Ett bra tips är att uppdatera kärnkoden för Arkiv>Spara som till att inte genomföras om användaren försöker spara filen i ett annat format utan den här behörigheten. Det här fungerar som ett säkerhetsnät om du missar eventuella UX-mekanismer som kan användas till att utlösa Spara som.
IPC_GENERIC_PRINT

Behörighet att skriva ut dokumentinnehåll.

Gemensamma tvingande punkter: Skriv ut
Inaktivera menynFilutskrift>.

Inaktivera alla kortkommandot som kan användas till att utlösa utskrift (till exempel Ctrl+P).

Inaktivera menyobjekt på snabbmenyn som kan användas till att utlösa en utskrift.

Tips Ett bra tips är att uppdatera kärnkoden för Arkiv>Skriv ut till att inte utföras om användaren inte har den behörigheten. Det här fungerar som ett säkerhetsnät om du missar eventuella UX-mekanismer som kan användas till att utlösa en utskrift.
IPC_GENERIC_COMMENT

En del program har stöd för möjligheten att lägga till kommentarer och anteckningar i dokumentet utan att uppdatera innehållet i kärndokumentet.

Den här behörigheten ger användaren åtkomst till den funktionen.

Vanliga tvingande punkter:

Granska > Infoga kommentar

Granska > ta bort kommentar
Inaktivera alla alternativ som kan användas till att ändra dokumentets kommentarer och anteckningar. Recension>Infoga kommentar och Granska>ta bort kommentar är exempel.

Inaktivera alla kortkommandot som kan utlösa ändringar av kommentarer i dokument.

Obs! För en standardimplementering krävs både IPC_GENERIC_COMMENT och IPC_GENERIC_WRITE för att spara nya kommentarer i en fil. Program kan lägga till stöd i det fall där rättigheten IPC_GENERIC_COMMENT är beviljad men rättigheten IPC_GENERIC_WRITE inte är det. I det här fallet är det tillåtet att tillåta Spara så länge som ändringarna endast begränsas till kommentarer.
IPC_VIEW_RIGHTS

Ingen beskrivning

Gemensamma tvingande punkter: Saknas
Tvingas av systemet. Systemet tillåter inte utvecklaren att söka i listan med användarrättigheter från en licens om inte den här rättigheten har beviljats.
IPC_EDIT_RIGHTS

I vissa program tillåts användare att ändra uppsättningen användare och rättigheter för AD RMS-skyddat innehåll.

Den här behörigheten ger användaren åtkomst till den funktionen.

Gemensamma tvingande punkter: Gränssnittskontroll för redigering av programrättigheter
Inaktivera användaråtkomst till gränssnittsalternativ som kan användas till att redigera RMS-principen för ett dokument.