Comment : permettre à votre application de service de fonctionner avec le service RMS cloudHow-to: enable your service application to work with cloud based RMS

Cette rubrique décrit les étapes qui permettent de configurer votre application de service pour qu’elle utilise Azure Rights Management.This topic outlines steps for setting up your service application to use Azure Rights Management. Pour plus d’informations, consultez Prise en main d’Azure Rights Management.For more information, see Getting started with Azure Rights Management.

ImportantImportant
Pour utiliser votre application de service de Rights Management Services SDK 2.1 avec Azure RMS, vous devez créer vos propres locataires.In order to use your Rights Management Services SDK 2.1 service application with Azure RMS, you'll need to create your own tenants. Pour plus d’informations, consultez Conditions requises pour Azure RMS : abonnements cloud qui prennent en charge Azure RMS.For more information, see Azure RMS requirements: Cloud subscriptions that support Azure RMS

Conditions préalablesPrerequisites

Connexion au service Rights Management AzureConnecting to the Azure Rights Management Service

Remarque Pour plus d’informations, consultez Définition du mode de sécurité d’APINote For more information, see Setting the API security mode

  • Les étapes suivantes permettent de créer une instance de structure IPC_PROMPT_CTX avec le membre pcCredential (IPC_CREDENTIAL) rempli avec les informations de connexion du service Azure Rights Management.The following steps are the setup for creating an instance of an IPC_PROMPT_CTX structure with the pcCredential (IPC_CREDENTIAL) member populated with connection information from the Azure Rights Management Service.
  • Utilisez les informations obtenues lors de la création de votre identité de service de clé symétrique (voir la configuration requise plus haut dans cette rubrique) pour définir les paramètres wszServicePrincipal, wszBposTenantId et cbKey quand vous créez une instance de structure IPC_CREDENTIAL_SYMMETRIC_KEY.Use the information from your symmetric key service identity creation (see the prerequisites listed earlier in this topic) to set the wszServicePrincipal, wszBposTenantId, and cbKey parameters when you create an instance of an IPC_CREDENTIAL_SYMMETRIC_KEY structure.

Remarque : En raison d’une condition existante avec notre service de découverte, si vous n’êtes pas en Amérique du Nord, les informations d’identification de clé symétrique des autres régions ne sont pas acceptées. Vous devez donc spécifier les URL des locataires directement.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. Cette opération s’effectue par le biais du paramètre pConnectionInfo (type IPC_CONNECTION_INFO) des fonctions IpcGetTemplateList ou IpcGetTemplateIssuerList.This is done through the pConnectionInfo parameter, type IPC_CONNECTION_INFO, on functions IpcGetTemplateList or IpcGetTemplateIssuerList.

Générer une clé symétrique et recueillir les informations nécessairesGenerate a symmetric key and collect the needed information

Instructions pour générer une clé symétriqueInstructions to generate a symmetric key

Remarque : Vous devez être un administrateur client pour utiliser les applets de commande Powershell.Note - You must be a tenant administrator to use the Powershell cmdlets.

  • Démarrez Powershell et exécutez les commandes suivantes pour générer une clé.Start Powershell and run the following commands to generate a key

    Import-Module MSOnline

    Connect-MsolService(entrez vos informations d’identification d’administrateur)Connect-MsolService (type-in your admin credentials)

    New-MsolServicePrincipal(entrez un nom d’affichage)New-MsolServicePrincipal (type-in a display name)

  • Une fois la clé symétrique générée, les informations sur la clé sont transmises, notamment la clé elle-même et 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
    

Instructions pour trouver TenantBposId et les UrlsInstructions to find out TenantBposId and Urls

  • Installez le Module Powershell Azure RMS.Install Azure RMS powershell module.
  • Démarrez Powershell et exécutez les commandes suivantes pour obtenir la configuration RMS du locataire.Start Powershell and run the following commands to get the RMS configuration of the tenant.

    Import-Module aadrm

    Connect-AadrmService(entrez vos informations d’identification d’administrateur)Connect-AadrmService (type-in your admin credentials)

    Get-AadrmConfiguration

  • Créez une instance de IPC_CREDENTIAL_SYMMETRIC_KEY et définissez quelques membres.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";
    

Pour plus d’informations, consultez IPC_CREDENTIAL_SYMMETRIC_KEY.For more information see, IPC_CREDENTIAL_SYMMETRIC_KEY.

Remarque : Les membres de connectionInfo sont définis avec des URL obtenues à partir de l’appel précédent à Get-AadrmConfiguration et notées ici avec ces noms de champs.Note - The connectionInfo members are set with URLs from the previous call to Get-AadrmConfiguration 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;

Identifier un modèle, puis procéder au chiffrementIdentify a template and then encrypt

<span data-ttu-id="7e599-141">PCIPC_TIL pTemplates = NULL; IPC_TEMPLATE_ISSUER templateIssuer = (pTemplateIssuerList->aTi)[0];</span><span class="sxs-lookup"><span data-stu-id="7e599-141">PCIPC_TIL pTemplates = NULL; IPC_TEMPLATE_ISSUER templateIssuer = (pTemplateIssuerList->aTi)[0];</span></span>

<span data-ttu-id="7e599-142">hr = IpcGetTemplateList(&(templateIssuer.connectionInfo),        IPC_GTL_FLAG_FORCE_DOWNLOAD,        0,        &promptCtx,        NULL,        &pTemplates);</span><span class="sxs-lookup"><span data-stu-id="7e599-142">hr = IpcGetTemplateList(&(templateIssuer.connectionInfo),        IPC_GTL_FLAG_FORCE_DOWNLOAD,        0,        &promptCtx,        NULL,        &pTemplates);</span></span>

Exemple d’utilisation de 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);

Exemple d’utilisation de IpcfDecryptFile :Example use of IpcfDecryptFile:

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

Vous avez maintenant terminé les étapes nécessaires pour permettre à votre application d’utiliser Azure Rights Management.You have now completed the steps needed to enable your application to use Azure Rights Management.

Rubriques connexesRelated topics

CommentairesComments

Avant de transmettre vos commentaires, nous vous demandons de consulter notre règlement interne.Before commenting, we ask that you review our House rules.