Távoli összetevők biztonsága

Az Oracle Content Management lehetővé teszi külső fejlesztők számára, hogy integrálják egyéni összetevőiket az Oracle Content Management platformjába, de távoli kiszolgálón tárolják ezeket.

Minden egyes távoli összetevőnek regisztrált beállításokat és megjelenítési végpontokat kell tartalmaznia az Oracle Content Management szolgáltatáshoz. A végpontokon kívül a fejlesztők kötelesek a regisztrált összetevő számára egyedi titkos kulcsot is biztosítani.

Az Oracle Content Management meghívja a regisztrált összetevő végpontjait, hogy a tartalmat egy webhelyoldalon realizálja. Mivel ezek a végpontok nyilvánosan elérhetők az interneten, a fejlesztőknek ellenőrizniük kell, hogy egy regisztrált távoli összetevő végpontjait az Oracle Content Management szolgáltatásból hívták-e meg. A hívó hitelességének ellenőrzéséhez egy aláírt tokent kell elküldeni egy adott URL-cím regisztrált végpontjainak. A hívó fél hitelesítéséhez a rendszer a regisztrálási folyamat során megadott távoli összetevői titkos kulcs segítségével ellenőrzi az aláírt tokenbe beágyazott digitális aláírást.

A token formátuma a következő:

{base64 encoded serialized JSON data}.{base64 encoded signature}

Íme egy minta a regisztrált alkalmazási végpontoknak átadott tokenre:

eyJpbnN0YW5jZWlkIjoiQTRGOTE3REY5OTZEN0Q3ODBCMjUzODZFOTFEMDA3ODJGMjVBRjY2Rjc3OTIiLCJzaWduZGF0ZSI6IjE0NDU2MzcwNTk5MTciLCJzaXRlZG9tYWluIjoic2VydmljZTEtdGVuYW50MS51cy5vcmFjbGUuY29tIiwicGVybWlzc2lvbnMiOiJTSVRFX09XTkVSIiwiZW50aXRsZW1lbnRzIjoiIn0=.5p3of7t11OwuysF3zpm+YgICSHH8C/BHczdbVZx2VH8=

A token két különböző részből áll: adatokból és aláírásból, melyeket egy '.' választ el egymástól.

Általános útmutató: a fejlesztőknek mindig hitelesíteniük kell a tokent szerkesztési vagy előnézeti módban, mielőtt hozzáférést biztosítanának egy összetevő regisztrált végpontjaihoz. Ezenkívül a fejlesztőknek, miközben a hívó felet hitelesítik a beállítási végpontnál, ügyelniük kell arra, hogy egy SITE_OWNER értéket megkeressenek a token Engedélyek mezőjében. A token Engedélyek mezőjében csak szerkesztési módban jelenik meg a SITE_OWNER értéke. Egy szerkesztési munkamenet során előállított token soha nem tehető vissza az oldalmodellbe, és egy olyan futásidejű tokennel kapcsolható ki, amely NULL értéket tartalmaz az Engedélyek mezőben.

Adatok

A példány adat része egy Base64 JSON kódolású karakterlánc. A JSON karakterlánc szerkezete a következő:

{
  "instanceid": "BBDC7614F693B75110D811E6C0B77C935FAEC5112E5E",
  "permissions": "",
  "entitlements": "",
  "signdate": "1435426735293",
  "sitedomain": "service1-tenant4.localhost"
}
Mező neve Leírás

instanceid

Az Oracle Content Management bérlőjéhez tartozó összetevő egyedi azonosítója.

signdate

Aláírás előállítási dátuma

sitedomain

Az Oracle Content Management példány tartományneve.

permissions

A webhelytag engedélyeinek készlete. Szerkesztési módban az értéke "SITE_OWNER"; egyébként nem tartalmaz értéket.

entitlements

A webhely tulajdonosa által vásárolt prémiumfunkciók listája.

Aláírás

A távoli összetevő példányának adat részét sorossá alakítják, mielőtt egy APP_SECRET_KEY segítségével aláírják. A titkos kulcsot az összetevő regisztrálásakor állítja elő és jeleníti meg a fejlesztőnek a rendszer. Az aláírás kiszámításához a titkos kulcs segítségével létrehozzák az összetevőpéldány adat részének kivonatát (egy sorossá alakított JSON szerkezetet) az alábbiak szerint:

$signature = HMAC (serialized JSON structure, APP_SECRET_KEY)

Az aláírás előállításakor használt kivonatoló algoritmus az SHA256. A token ezután a soros JSON struktúra és az előállított aláírás összetevő összefűzése:

$instance = {base64encoded serialized JSON structure}.{base64encoded $signature}