Útmutató: A szolgáltatásalkalmazás alkalmassá tétele a felhőalapú RMS használatára
Fontos
A Microsoft Rights Management Service SDK 2020 márciusa előtt kiadott verziói elavultak; a korábbi verziókat használó alkalmazásokat frissíteni kell a 2020. márciusi kiadás használatához. További részletekért tekintse meg az elavulással kapcsolatos közleményt.
A Microsoft Rights Management Service SDK-hoz nem tervezünk további fejlesztéseket. Határozottan javasoljuk, hogy a besorolási, címkézési és védelmi szolgáltatásokhoz használja a Microsoft-információvédelem SDK-t.
Ez a témakör a szolgáltatásalkalmazás Azure Rights Management használatához végzett beállításának lépéseit ismerteti. További információ: Ismerkedés az Azure Rights Management szolgáltatással.
Fontos
A Rights Management Services SDK 2.1 segítségével készített szolgáltatásalkalmazásának az Azure RMS-sel történő használatához saját bérlőt kell létrehoznia. További információ: Azure RMS-követelmények: Az Azure RMS-t támogató felhőalapú előfizetések.
Előfeltételek
- Telepíteni és konfigurálni kell az RMS SDK 2.1 eszközt. További információkért lásd: Getting started with RMS SDK 2.1 (Ismerkedés az RMS SDK 2.1 szolgáltatással).
- Létre kell hoznia egy szolgáltatásidentitást az ACS-en keresztül a szimmetrikus kulcs lehetőséggel vagy más módszerrel, és rögzítenie kell ezen folyamat kulcsinformációit.
Csatlakozás az Azure Rights Management szolgáltatáshoz
Hívja meg az IpcInitialize függvényt.
Állítsa be az IpcSetGlobalProperty függvényt.
int mode = IPC_API_MODE_SERVER; IpcSetGlobalProperty(IPC_EI_API_MODE, &(mode));
Megjegyzés További információ: Az API biztonsági módjának beállítása
Az alábbi lépések egy IPC_PROMPT_CTX-struktúra példányának létrehozására szolgálnak a pcCredential (IPC_CREDENTIAL) taggal, amely a Azure Tartalomvédelmi szolgáltatások Service-ből származó kapcsolati adatokkal van feltöltve.
A szimmetrikus kulcsú szolgáltatás identitásának létrehozásakor (lásd a jelen témakör korábbi részében felsorolt előfeltételeket) használja a wszServicePrincipal, a wszBposTenantId és a cbKey paraméterek beállításához egy IPC_CREDENTIAL_SYMMETRIC_KEY struktúrapéldány létrehozásakor.
Megjegyzés: Az észlelési szolgáltatás jelenlegi feltételei miatt Észak-Amerikán kívül a szimmetrikus kulcs hitelesítő adatai nem fogadhatók el más régiókból, így közvetlenül kell megadnia a bérlői URL-címeket. Ezt az IpcGetTemplateList vagy az IpcGetTemplateIssuerList függvény pConnectionInfo paramétere IPC_CONNECTION_INFO írja be.
Szimmetrikus kulcs létrehozása és a szükséges információk begyűjtése
Szimmetrikus kulcs létrehozásának utasításai
- Telepítse a Microsoft Online Services bejelentkezési segédet
- Telepítse az Azure AD Powershell-modult.
Megjegyzés: a PowerShell-parancsmagok használatához bérlői rendszergazda jogosultság szükséges.
Indítsa el a Powershellt, és futtassa a következő parancsokat a kulcs létrehozásához
Import-Module MSOnline
Connect-MsolService
(írja be a rendszergazdai hitelesítő adatait)New-MsolServicePrincipal
(írjon be egy megjelenítendő nevet)Miután létrehoz egy szimmetrikus kulcsot, a parancsmag kiírja a kulccsal kapcsolatos információkat, beleértve magát a kulcsot, és az AppPrincipalId azonosítót.
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
A TenantBposId és az Urls megtekintésének utasításai
Telepítse az Azure RMS Powershell-modult.
Indítsa el a Powershellt, és futtassa a következő parancsokat a bérlő RMS-konfigurációjának lekéréséhez.
Import-Module AIPService
Connect-AipService
(írja be a rendszergazdai hitelesítő adatait)Get-AipServiceConfiguration
Hozzon létre egy IPC_CREDENTIAL_SYMMETRIC_KEY egy példányát, és állítson be néhány tagot.
// 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";
További információ: IPC_CREDENTIAL_SYMMETRIC_KEY.
Hozzon létre egy példányt a IPC_CREDENTIAL_SYMMETRIC_KEY-példányt tartalmazó IPC_CREDENTIAL struktúrából.
Megjegyzés: A connectionInfo tagok a
Get-AipServiceConfiguration
előző hívásából származó URL-ekkel vannak beállítva, és azokkal a mezőnevekkel hivatkozunk itt rájuk.// 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;
Sablon azonosítása, majd titkosítása
Válassza ki a titkosításhoz használni kívánt sablont. Hívja meg az IpcGetTemplateList metódust, amely a IPC_PROMPT_CTX ugyanazon példányán adja át.
PCIPC_TIL pTemplates = NULL; IPC_TEMPLATE_ISSUER templateIssuer = (pTemplateIssuerList->aTi)[0]; hr = IpcGetTemplateList(&(templateIssuer.connectionInfo), IPC_GTL_FLAG_FORCE_DOWNLOAD, 0, &promptCtx, NULL, &pTemplates);
A témakör korábbi szakaszában szereplő sablonnal hívja meg az IpcfEncrcyptFile fájlt, és adja át a IPC_PROMPT_CTX ugyanazon példányát.
Példa az IpcfEncrcyptFile használatára:
LPCWSTR wszContentTemplateId = pTemplates->aTi[0].wszID; hr = IpcfEncryptFile(wszInputFilePath, wszContentTemplateId, IPCF_EF_TEMPLATE_ID, IPC_EF_FLAG_KEY_NO_PERSIST, &promptCtx, NULL, &wszOutputFilePath);
Példa az IpcfDecryptFile használatára:
hr = IpcfDecryptFile(wszInputFilePath, IPCF_DF_FLAG_DEFAULT, &promptCtx, NULL, &wszOutputFilePath);
Most elvégezte azon lépéseket, amelyekkel az alkalmazás használhatja az Azure Rights Management eszközt.
Kapcsolódó témakörök
- Ismerkedés az Azure Rights Management szolgáltatással
- Ismerkedés az RMS SDK 2.1 szolgáltatással
- Szolgáltatásidentitás létrehozása ACS-n keresztül
- IpcSetGlobalProperty
- IpcInitialize
- IPC_PROMPT_CTX
- IPC_CREDENTIAL
- IPC_CREDENTIAL_SYMMETRIC_KEY
- IpcGetTemplateIssuerList
- IpcGetTemplateList
- IpcfDecryptFile
- IpcfEncrcyptFile
- IpcCreateLicenseFromScratch
- IpcCreateLicenseFromTemplateID