方法: クラウド ベース RMS でのサービス アプリケーション使用の有効化How-to: enable your service application to work with cloud based RMS

このトピックでは、Azure Rights Management を使用するようにサービス アプリケーションをセットアップする手順について説明します。This topic outlines steps for setting up your service application to use Azure Rights Management. 詳細については、「Azure Rights Management の概要」を参照してください。For more information, see Getting started with Azure Rights Management.

重要Important
Rights Management Services SDK 2.1 サービスを Azure RMS で利用するには、独自のテナントを作成する必要があります。In order to use your Rights Management Services SDK 2.1 service application with Azure RMS, you'll need to create your own tenants. 詳細については、「Azure RMS の要件: Azure RMS をサポートするクラウド サブスクリプション」を参照してください。For more information, see Azure RMS requirements: Cloud subscriptions that support Azure RMS

必要条件Prerequisites

Azure Rights Management サービスへの接続Connecting to the Azure Rights Management Service

詳細については、「Setting the API security mode (API セキュリティ モードの設定)」を参照してください。Note For more information, see Setting the API security mode

  • 次の手順は、IPC_PROMPT_CTX 構造体のインスタンスを作成するためのセットアップです。pcCredential (IPC_CREDENTIAL) メンバーに 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.
  • 対称キーのサービス ID 作成時にメモした情報 (このトピックの前述の前提条件を参照してください) を使用して、IPC_CREDENTIAL_SYMMETRIC_KEY 構造体のインスタンスを作成するときに wszServicePrincipalwszBposTenantIdcbKey パラメーターを設定します。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.

- 探索サービスの既存の条件により、北米以外の地域では、対称キーの資格情報が他の地域から受け入れられないため、テナント URL を直接指定する必要があります。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. これを行うには、pConnectionInfo パラメーターの IpcGetTemplateList または IpcGetTemplateIssuerListIPC_CONNECTION_INFO を入力します。This is done through the pConnectionInfo parameter, type IPC_CONNECTION_INFO, on functions IpcGetTemplateList or IpcGetTemplateIssuerList.

対称キーの生成と必要な情報の収集Generate a symmetric key and collect the needed information

対称キーを生成する手順Instructions to generate a symmetric key

- Powershell コマンドレットを使用するには、テナントの管理者でなければなりません。Note - You must be a tenant administrator to use the Powershell cmdlets.

  • Powershell を起動し、次のコマンドを実行してキーを生成します。Start Powershell and run the following commands to generate a key

    Import-Module MSOnline

    Connect-MsolService (管理者の資格情報を入力します)Connect-MsolService (type-in your admin credentials)

    New-MsolServicePrincipal (表示名を入力します)New-MsolServicePrincipal (type-in a display name)

  • 対称キーの生成後、キー自体と 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
    

TenantBposIdURL を調べる手順Instructions to find out TenantBposId and Urls

  • Azure RMS PowerShell モジュールをインストールします。Install Azure RMS powershell module.
  • Powershell を起動し、次のコマンドを実行してテナントの RMS 構成を取得します。Start Powershell and run the following commands to get the RMS configuration of the tenant.

    Import-Module aadrm

    Connect-AadrmService (管理者の資格情報を入力します)Connect-AadrmService (type-in your admin credentials)

    Get-AadrmConfiguration

  • IPC_CREDENTIAL_SYMMETRIC_KEY のインスタンスを作成して、いくつかのメンバーを設定します。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";
    

詳細については、「IPC_CREDENTIAL_SYMMETRIC_KEY」を参照してください。For more information see, IPC_CREDENTIAL_SYMMETRIC_KEY.

- connectionInfo メンバーには、直前に Get-AadrmConfiguration を呼び出したときの URL が設定され、ここではそのフィールド名を示します。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;

テンプレートの識別と暗号化Identify a template and then encrypt

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

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

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

IpcfDecryptFile の使用例:Example use of IpcfDecryptFile:

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

アプリケーションでの Azure Rights Management 使用の有効化に必要な手順が完了しました。You have now completed the steps needed to enable your application to use Azure Rights Management.

関連項目Related topics

コメントComments

コメントを投稿する前に、内部ルールを参照してください。Before commenting, we ask that you review our House rules.