Anvisningar: Aktivera tjänstprogrammet för molnbaserad RMSHow-to: enable your service application to work with cloud based RMS

Viktigt

Versioner av Microsoft Rights Management Service SDK som lanserades före mars 2020 är inaktuella. program som använder tidigare versioner måste uppdateras för att använda versionen från mars 2020.Versions of the Microsoft Rights Management Service SDK released prior to March 2020 are deprecated; applications using earlier versions must be updated to use the March 2020 release. Fullständig information finns i utfasnings meddelandet.For full details, see the deprecation notice.

Inga ytterligare förbättringar planeras för Microsoft Rights Management Service SDK.No further enhancements are planned for the Microsoft Rights Management Service SDK. Vi rekommenderar starkt att du använder Microsoft Information Protection SDK för klassificering, märkning och skydds tjänster.We strongly recommend adoption of the Microsoft Information Protection SDK for classification, labeling, and protection services.

Det här avsnittet beskriver steg för steg hur du konfigurerar ditt tjänstprogram att använda Azure Rights Management.This topic outlines steps for setting up your service application to use Azure Rights Management. Mer information finns i Komma igång med Azure Rights Management.For more information, see Getting started with Azure Rights Management.

ViktigtImportant
För att kunna använda serviceprogrammet Rights Management Services SDK 2.1 med Azure RMS måste du skapa dina egna klienter.In order to use your Rights Management Services SDK 2.1 service application with Azure RMS, you'll need to create your own tenants. Mer information finns i Azure RMS krav: moln prenumerationer som stöder Azure RMSFor more information, see Azure RMS requirements: Cloud subscriptions that support Azure RMS

FörutsättningarPrerequisites

Ansluta till Azure Rights Management ServiceConnecting to the Azure Rights Management Service

Obs! – På grund av ett befintligt villkor med vår identifieringstjänst måste du ange dina klient-URL:er direkt om du inte befinner dig i Nordamerika eftersom autentiseringsuppgifter för symmetriska nycklar inte accepteras från andra regioner.Note - Due to an existing condition with our discovery service, if you are not in North America, symmetric key credentials are not accepted from other regions therefore, you must specify your tenant URLs directly. Detta görs via parametern pConnectionInfo, skriv IPC_CONNECTION_INFO på funktionerna IpcGetTemplateList eller IpcGetTemplateIssuerList.This is done through the pConnectionInfo parameter, type IPC_CONNECTION_INFO, on functions IpcGetTemplateList or IpcGetTemplateIssuerList.

Generera en symmetrisk nyckel och samla in nödvändig informationGenerate a symmetric key and collect the needed information

Anvisningar för att generera en symmetrisk nyckelInstructions to generate a symmetric key

Obs! – Du måste vara klientadministratör för att kunna använda PowerShell-cmdlets.Note - You must be a tenant administrator to use the Powershell cmdlets.

  • Starta PowerShell och kör följande kommandon för att generera en nyckelStart Powershell and run the following commands to generate a key

    Import-Module MSOnline

    Connect-MsolService (ange dina autentiseringsuppgifter som administratör)Connect-MsolService (type-in your admin credentials)

    New-MsolServicePrincipal (ange ett visningsnamn)New-MsolServicePrincipal (type-in a display name)

  • När den symmetriska nyckeln har skapats visas information om nyckeln, inklusive själva nyckeln och en AppPrincipalId.After it generates a symmetric key, it will output information about the key including the key itself and an AppPrincipalId.

    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
    

Anvisningar för att ta reda på TenantBposId och URL:erInstructions to find out TenantBposId and Urls

  • Installera PowerShell-modulen för Azure RMS.Install Azure RMS powershell module.

  • Starta PowerShell och hämta klientorganisationens RMS-konfiguration genom att köra följande kommandon.Start Powershell and run the following commands to get the RMS configuration of the tenant.

    Import-Module AIPService

    Connect-AipService (ange dina autentiseringsuppgifter som administratör)Connect-AipService (type-in your admin credentials)

    Get-AipServiceConfiguration

  • Skapa en instans av en IPC- _ autentiseringsuppgift _ symmetrisk _ nyckel och ange några medlemmar.Create an instance of an IPC_CREDENTIAL_SYMMETRIC_KEY and set a few members.

    // 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";
    

Mer information finns i den _ _ symmetriska _ nyckeln för IPC-autentiseringsuppgifter.For more information see, IPC_CREDENTIAL_SYMMETRIC_KEY.

  • Skapa en instans av en IPC _ Credential -struktur som innehåller din IPC _ Credential- _ symmetriska _ nyckel instans.Create an instance of an IPC_CREDENTIAL structure containing your IPC_CREDENTIAL_SYMMETRIC_KEY instance.

    Obs!   - ConnectionInfo -medlemmar anges med URL: er från föregående anrop till Get-AipServiceConfiguration och anges här med dessa fält namn.Note - The connectionInfo members are set with URLs from the previous call to Get-AipServiceConfiguration and noted here with those field names.

    // 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;
    

Identifiera en mall och kryptera sedanIdentify a template and then encrypt

  • Välj en mall som du vill använda för krypteringen.Select a template to use for your encryption. Anropa IpcGetTemplateList genom att överföra samma instans av IPC- _ prompten _ CTX.Call IpcGetTemplateList passing in the same instance of IPC_PROMPT_CTX.

    PCIPC_TIL pTemplates = NULL;
    IPC_TEMPLATE_ISSUER templateIssuer = (pTemplateIssuerList->aTi)[0];
    
    hr = IpcGetTemplateList(&(templateIssuer.connectionInfo),
           IPC_GTL_FLAG_FORCE_DOWNLOAD,
           0,
           &promptCtx,
           NULL,
           &pTemplates);
    
  • Med mallen från tidigare i det här avsnittet anropar du IpcfEncrcyptFile, och skickar samma instans av IPC- _ prompten _ CTX.With the template from earlier in this topic, call IpcfEncrcyptFile, passing in the same instance of IPC_PROMPT_CTX.

    Exempel på hur du använder IpcfEncrcyptFile:Example use of IpcfEncrcyptFile:

    LPCWSTR wszContentTemplateId = pTemplates->aTi[0].wszID;
    hr = IpcfEncryptFile(wszInputFilePath,
           wszContentTemplateId,
           IPCF_EF_TEMPLATE_ID,
           IPC_EF_FLAG_KEY_NO_PERSIST,
           &promptCtx,
           NULL,
           &wszOutputFilePath);
    

    Exempel på hur du använder IpcfDecryptFile:Example use of IpcfDecryptFile:

    hr = IpcfDecryptFile(wszInputFilePath,
           IPCF_DF_FLAG_DEFAULT,
           &promptCtx,
           NULL,
           &wszOutputFilePath);
    

Nu har du slutfört stegen som krävs för att konfigurera ditt program att använda Azure Rights Management.You have now completed the steps needed to enable your application to use Azure Rights Management.