Nasıl yapılır: Hizmet uygulamanızın bulut tabanlı RMS ile çalışmasını sağlamaHow-to: enable your service application to work with cloud based RMS

Bu konuda hizmet uygulamanızı Azure Rights Management’ı kullanacak şekilde ayarlama adımları açıklanmaktadır.This topic outlines steps for setting up your service application to use Azure Rights Management. Daha fazla bilgi edinmek için bkz. Azure Rights Management’ı Kullanmaya Başlama.For more information, see Getting started with Azure Rights Management.

ÖnemliImportant
Rights Management Services SDK 2.1 hizmet uygulamanızı Azure RMS ile kullanabilmeniz için kendi kiracılarınızı oluşturmanız gerekir.In order to use your Rights Management Services SDK 2.1 service application with Azure RMS, you'll need to create your own tenants. Daha fazla bilgi için Azure RMS gereksinimleri: Azure RMS'yi destekleyen bulut abonelikleriFor more information, see Azure RMS requirements: Cloud subscriptions that support Azure RMS

ÖnkoşullarPrerequisites

Azure Rights Management Hizmetine BağlanmaConnecting to the Azure Rights Management Service

Not Daha fazla bilgi için bkz, API Güvenlik modunu ayarlamaNote For more information, see Setting the API security mode

  • Aşağıdaki adımlarda, Azure Rights Management Service’ten gelen bağlantı bilgileriyle doldurulmuş pcCredential (IPC_CREDENTIAL) üyesiyle bir IPC_PROMPT_CTX yapısı örneğinin oluşturulmasına yönelik ayarlar açıklanmaktadır.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.
  • Simetrik anahtar hizmeti kimlik oluşturma işlemindeki (bu konu başlığı içinde daha önce belirtilen önkoşullara bakın) bu bilgileri, IPC_CREDENTIAL_SYMMETRIC_KEY yapısının bir örneğini oluştururken wszServicePrincipal, wszBposTenantId ve cbKey parametrelerini ayarlamak için kullanın.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.

Not - Bulma hizmetimizdeki bir koşul nedeniyle, diğer bölgelerden simetrik anahtar kimlik bilgileri kabul edilemediğinden Kuzey Amerika’da değilseniz kiracı URL’nizi doğrudan belirtmelisiniz.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. Bu, pConnectionInfo parametresi, IPC_CONNECTION_INFO türü aracılığıyla IpcGetTemplateList veya IpcGetTemplateIssuerList işlevlerinde yapılır.This is done through the pConnectionInfo parameter, type IPC_CONNECTION_INFO, on functions IpcGetTemplateList or IpcGetTemplateIssuerList.

Simetrik anahtarı oluşturma ve gerekli bilgileri toplamaGenerate a symmetric key and collect the needed information

Simetrik anahtar oluşturma yönergeleriInstructions to generate a symmetric key

Not - Powershell cmdlet'lerini kullanmak için kiracı yöneticisi olmanız gerekir.Note - You must be a tenant administrator to use the Powershell cmdlets.

  • PowerShell'i başlatın ve bir anahtar oluşturmak için aşağıdaki komutları çalıştırınStart Powershell and run the following commands to generate a key

    Import-Module MSOnline

    Connect-MsolService (yönetici kimlik bilgilerinizi yazın)Connect-MsolService (type-in your admin credentials)

    New-MsolServicePrincipal (görünen ad yazın)New-MsolServicePrincipal (type-in a display name)

  • Komut, bir simetrik anahtar oluşturduktan sonra anahtar hakkında, anahtarın kendisini ve bir AppPrincipalId içeren bilgileri çıkarır.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
    

TenantBposId ve Urls öğrenme yönergeleriInstructions to find out TenantBposId and Urls

  • Azure RMS Powershell modülünü yükleyin.Install Azure RMS powershell module.

  • PowerShell'i başlatın ve kiracının RMS yapılandırmasını almak için aşağıdaki komutları çalıştırın.Start Powershell and run the following commands to get the RMS configuration of the tenant.

    Import-Module aadrm

    Connect-AadrmService (yönetici kimlik bilgilerinizi yazın)Connect-AadrmService (type-in your admin credentials)

    Get-AadrmConfiguration

  • Bir IPC_CREDENTIAL_SYMMETRIC_KEY örneği oluşturun ve birkaç üye ayarlayın.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";
    

Daha fazla bilgi için bkz. IPC_CREDENTIAL_SYMMETRIC_KEY.For more information see, IPC_CREDENTIAL_SYMMETRIC_KEY.

Not - connectionInfo üyeleri önceki Get-AadrmConfiguration çağrısından alınan URL'lerle ayarlanır ve bu alan adlarıyla buraya kaydedilir.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;

Şablonu belirleyin ve şifreleyinIdentify a template and then encrypt

PCIPC_TIL pTemplates = NULL;
IPC_TEMPLATE_ISSUER templateIssuer = (pTemplateIssuerList->aTi)[0];

hr = IpcGetTemplateList(&(templateIssuer.connectionInfo),
       IPC_GTL_FLAG_FORCE_DOWNLOAD,
       0,
       &promptCtx,
       NULL,
       &pTemplates);

IpcfEncrcyptFile kullanımı örneği: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);

IpcfDecryptFile kullanımı örneği:Example use of IpcfDecryptFile:

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

Artık, uygulamanızı Azure Rights Management’ı kullanmak üzere etkinleştirmek için gerekli adımları tamamladınız.You have now completed the steps needed to enable your application to use Azure Rights Management.