Exemplarische Vorgehensweise: Ermöglichen der Verwendung von cloudbasiertem RMS für Ihre Dienstanwendung
Wichtig
Versionen des Microsoft Rights Management Service SDK, das vor März 2020 veröffentlicht wurde, sind veraltet; Anwendungen mit früheren Versionen müssen aktualisiert werden, um die Version vom März 2020 zu verwenden. Ausführliche Informationen finden Sie in der Veraltetkeitshinweis.
Für das Microsoft Rights Management Service SDK sind keine weiteren Verbesserungen geplant. Wir empfehlen dringend die Einführung des Microsoft Information Protection SDK für Klassifizierung, Bezeichnung und Schutzdienste.
In diesem Thema werden die Schritte zum Einrichten Ihrer Dienstanwendung zur Verwendung von Azure Rights Management erläutert. Weitere Informationen finden Sie unter Erste Schritte mit Azure Rights Management.
Wichtig
Sie müssen eigene Mandanten erstellen, um die Rights Management Services SDK 2.1-Dienstanwendung mit Azure RMS zu verwenden. Weitere Informationen finden Sie unter Azure RMS-Anforderungen: Cloudabonnements, die Azure RMS unterstützen
Voraussetzungen
- RMS SDK 2.1 muss installiert und konfiguriert sein. Weitere Informationen finden Sie unter Erste Schritte mit RMS SDK 2.1.
- Erstellen Sie eine Dienstidentität über ACS mithilfe der symmetrischen Schlüsseloption oder auf andere Weise, und zeichnen Sie die Schlüsselinformation dieses Prozesses auf.
Verbinden mit dem Azure-Rechteverwaltungsdienst
Rufen Sie IpcInitialize auf.
Legen Sie IpcSetGlobalProperty fest.
int mode = IPC_API_MODE_SERVER; IpcSetGlobalProperty(IPC_EI_API_MODE, &(mode));
Hinweis Weitere Informationen finden Sie unter Festlegen des API-Sicherheitsmodus
Die folgenden Schritte sind das Setup für das Erstellen einer Instanz einer IPC_PROMPT_CTX-Struktur mit dem pcCredential -Element (IPC_CREDENTIAL) mit Verbindungsinformationen aus dem Azure Rights Management Service.
Verwenden Sie die Informationen aus ihrer symmetrischen Schlüsseldienstidentitätserstellung (siehe die in diesem Thema aufgeführten Voraussetzungen), um die wszServicePrincipal-, wszBposTenantId- und cbKey-Parameter festzulegen, wenn Sie eine Instanz einer IPC_CREDENTIAL_SYMMETRIC_KEY-Struktur erstellen.
Hinweis – Aufgrund einer Bedingung unseres Ermittlungsdiensts sind Anmeldeinformationen für symmetrische Schlüssel von anderen Regionen nur zulässig, wenn Sie sich in Nordamerika befinden. Aus diesem Grund müssen Sie Ihre Mandanten-URLs direkt eingeben. Dies erfolgt über den pConnectionInfo-Parameter, geben Sie IPC_CONNECTION_INFO auf Funktionen IpcGetTemplateList oder IpcGetTemplateIssuerList ein.
Generieren Sie einen symmetrischen Schlüssel, und sammeln Sie die benötigten Informationen.
Anweisungen zum Generieren eines symmetrischen Schlüssels
- Installieren Sie den Microsoft Online-Anmeldeassistenten.
- Installieren Sie das Azure AD PowerShell-Modul.
Hinweis – Sie muss ein Mandantenadministrator sein, um die Powershell-Cmdlets verwenden zu können.
Starten Sie PowerShell, und führen Sie die folgenden Befehle zum Generieren eines Schlüssels aus.
Import-Module MSOnline
Connect-MsolService
(Geben Sie Ihre Administrator-Anmeldeinformationen ein.)New-MsolServicePrincipal
(Geben Sie einen Anzeigenamen ein.)Nachdem der symmetrische Schlüssel generiert wurde, werden Informationen zu dem Schlüssel einschließlich des Schlüssels selbst und AppPrincipalId ausgegeben.
The following symmetric key was created as one was not supplied ZYbF/lTtwE28qplQofCpi2syWd11D83+A3DRlb2Jnv8= DisplayName : RMSTestApp ServicePrincipalNames : {7d9c1f38-600c-4b4d-8249-22427f016963} ObjectId : 0ee53770-ec86-409e-8939-6d8239880518 AppPrincipalId : 7d9c1f38-600c-4b4d-8249-22427f016963
Anweisungen zum Ermitteln von TenantBposId und Urls
Installieren Sie das Azure RMS PowerShell-Modul.
Starten Sie Powershell, und führen Sie die folgenden Befehle aus, um die RMS-Konfiguration des Mandanten abzurufen.
Import-Module AIPService
Connect-AipService
(Geben Sie Ihre Administrator-Anmeldeinformationen ein.)Get-AipServiceConfiguration
Erstellen Sie eine Instanz eines IPC_CREDENTIAL_SYMMETRIC_KEY , und legen Sie einige Mitglieder fest.
// Create a key structure. IPC_CREDENTIAL_SYMMETRIC_KEY symKey = {0}; // Set each member with information from service creation. symKey.wszBase64Key = "your service principal key"; symKey.wszAppPrincipalId = "your app principal identifier"; symKey.wszBposTenantId = "your tenant identifier";
Weitere Informationen finden Sie unter IPC_CREDENTIAL_SYMMETRIC_KEY.
Erstellen Sie eine Instanz einer IPC_CREDENTIAL Struktur, die Ihre IPC_CREDENTIAL_SYMMETRIC_KEY Instanz enthält.
Hinweis – Die connectionInfo-Mitglieder sind durch URLs aus dem vorherigen Aufruf von
Get-AipServiceConfiguration
festgelegt und hier mit diesen Feldnamen angegeben.// Create a credential structure. IPC_CREDENTIAL cred = {0}; IPC_CONNECTION_INFO connectionInfo = {0}; connectionInfo.wszIntranetUrl = LicensingIntranetDistributionPointUrl; connectionInfo.wszExtranetUrl = LicensingExtranetDistributionPointUrl; // Set each member. cred.dwType = IPC_CREDENTIAL_TYPE_SYMMETRIC_KEY; cred.pcCertContext = (PCCERT_CONTEXT)&symKey; // Create your prompt control. IPC_PROMPT_CTX promptCtx = {0}; // Set each member. promptCtx.cbSize = sizeof(IPC_PROMPT_CTX); promptCtx.hwndParent = NULL; promptCtx.dwflags = IPC_PROMPT_FLAG_SILENT; promptCtx.hCancelEvent = NULL; promptCtx.pcCredential = &cred;
Identifizieren einer Vorlage und Verschlüsselung
Wählen Sie eine Vorlage für die Verschlüsselung aus. Rufen Sie ipcGetTemplateList auf, die in derselben Instanz von IPC_PROMPT_CTX übergeben wird.
PCIPC_TIL pTemplates = NULL; IPC_TEMPLATE_ISSUER templateIssuer = (pTemplateIssuerList->aTi)[0]; hr = IpcGetTemplateList(&(templateIssuer.connectionInfo), IPC_GTL_FLAG_FORCE_DOWNLOAD, 0, &promptCtx, NULL, &pTemplates);
Rufen Sie mit der Vorlage von früher in diesem Thema ipcfEncrcyptFile auf, indem Sie dieselbe Instanz von IPC_PROMPT_CTX übergeben.
Beispiel für die Verwendung von IpcfEncrcyptFile:
LPCWSTR wszContentTemplateId = pTemplates->aTi[0].wszID; hr = IpcfEncryptFile(wszInputFilePath, wszContentTemplateId, IPCF_EF_TEMPLATE_ID, IPC_EF_FLAG_KEY_NO_PERSIST, &promptCtx, NULL, &wszOutputFilePath);
Beispiel für die Verwendung von IpcfDecryptFile:
hr = IpcfDecryptFile(wszInputFilePath, IPCF_DF_FLAG_DEFAULT, &promptCtx, NULL, &wszOutputFilePath);
Sie haben jetzt die erforderlichen Schritte zum Aktivieren der Anwendung für die Verwendung von Azure Rights Management abgeschlossen.
Zugehörige Themen
- Erste Schritte mit Azure Rights Management
- Erste Schritte mit RMS SDK 2.1
- Erstellen einer Dienstidentität über ACS
- IpcSetGlobalProperty
- IpcInitialize
- IPC_PROMPT_CTX
- IPC_CREDENTIAL
- IPC_CREDENTIAL_SYMMETRIC_KEY
- IpcGetTemplateIssuerList
- IpcGetTemplateList
- IpcfDecryptFile
- IpcfEncrcyptFile
- IpcCreateLicenseFromScratch
- IpcCreateLicenseFromTemplateID