Servicegegevens

Integraties met Adobe Experience Manager (AEM) as a Cloud Service moeten veilig kunnen worden geverifieerd voor AEM service. AEM Developer Console verleent toegang tot Service Credentials, die worden gebruikt om externe toepassingen, systemen en diensten te vergemakkelijken om programmatically met AEM de diensten van de Auteur of van Publish over HTTP in wisselwerking te staan.

AEM integreert met andere producten van de Adobe gebruikend S2S OAuth die via Adobe Developer Consolewordt beheerd. Voor douaneintegratie met de dienstrekeningen, worden de geloofsbrieven van JWT gebruikt en beheerd in de AEM Developer Console.

De Referenties van de dienst kunnen gelijkaardige Lokale Tokens van de Toegang van de Ontwikkelinglijken maar zijn verschillend op een paar zeer belangrijke manieren:

  • Servicekredieten zijn gekoppeld aan technische accounts. De veelvoudige de dienstgeloofsbrieven kunnen voor een Technische Rekening actief zijn.
  • De Verantwoordelijkheden van de dienst zijn niet toegangstokens, eerder zijn zij geloofsbrieven die worden gebruikt om __ toegangstokens te verkrijgen.
  • De geloofsbrieven van de dienst zijn duurder (hun certificaat verloopt om de 365 dagen), en veranderen niet tenzij ingetrokken, terwijl de Lokale Tokens van de Toegang van de Ontwikkeling dagelijks verlopen.
  • De Verantwoordelijkheden van de dienst voor een milieu van AEM as a Cloud Service kaart aan één enkele AEM technische rekeningsgebruiker, terwijl de Tokens van de Toegang van de Toegang van de Lokale Ontwikkeling voor authentiek verklaren als AEM gebruiker die het toegangstoken produceerde.
  • Een AEM as a Cloud Service-omgeving kan maximaal tien technische accounts hebben, elk met hun eigen servicekredieten, waarbij elke account wordt toegewezen aan een aparte technische account AEM gebruiker.

Zowel dienen de Geloofsbrieven van de Dienst als de toegangstoken zij produceren, en de Lokale Tokens van de Toegang van de Ontwikkeling, geheim worden gehouden. Aangezien alle drie kunnen worden gebruikt om, toegang tot hun respectieve milieu van AEM as a Cloud Service te verkrijgen.

Servicekredieten genereren

Het genereren van servicekredieten wordt in twee stappen opgedeeld:

  1. Een eenmalige technische account aanmaken door een Adobe IMS-beheerder
  2. Het downloaden en gebruiken van JSON (Service Credentials) van de technische account

Een technische account maken

In tegenstelling tot Local Development Access Tokens, vereisen servicerecertificaten dat een technische account wordt aangemaakt door een Adobe of IMS-beheerder voordat deze kunnen worden gedownload. De afzonderlijke Technische Rekeningen zouden voor elke cliënt moeten worden gecreeerd die programmatic toegang tot AEM vereist.

creeer een Technische Rekening

De technische Rekeningen worden gecreeerd eens, nochtans het gebruik van Privé Sleutels om de Verantwoordelijkheden van de Dienst verbonden aan de Technische Rekening te beheren kan in tijd worden beheerd. Bijvoorbeeld, moeten de nieuwe Persoonlijke Sleutel/de Credentials van de Dienst vóór het verstrijken van de huidige Privé Sleutel worden geproduceerd, om voor ononderbroken toegang door een gebruiker van de Credentials van de Dienst toe te staan.

  1. Controleer of u bent aangemeld als een:

    • Beheerder van het Systeem van Adobe IMS Org
    • Lid van de AEM Beheerders het Profiel van het Product IMS op AEM Auteur
  2. Login aan Adobe Cloud Manager

  3. Open het programma dat de AEM as a Cloud Service-omgeving bevat om de instelling van de servicekredieten voor

  4. Tik de ellips naast het milieu in de sectie van Milieu, en selecteer Developer Console

  5. Tik in het lusje van de Integraties

  6. Tik de Technische Rekeningen tabel

  7. Tik creeer nieuwe technische rekening knoop

  8. De servicekredieten van de technische account worden geïnitialiseerd en weergegeven als JSON

AEM Developer Console - Integraties - krijg de Referenties van de Dienst

Nadat de AEM als servicegegevens van de Cloud Service-omgeving zijn geïnitialiseerd, kunnen andere AEM ontwikkelaars van uw Adobe IMS-organisatie deze downloaden.

Referenties van service downloaden

Referenties van de Dienst van de Download

Het downloaden van de Referentieformals van de Dienst volgt de gelijkaardige stappen zoals de initialisering.

  1. Controleer of u bent aangemeld als een:

    • Beheerder van IMS van Adobe van Org
    • Lid van de AEM Beheerders het Profiel van het Product IMS op AEM Auteur
  2. Login aan Adobe Cloud Manager

  3. Open het programma dat de AEM as a Cloud Service-omgeving bevat om mee te integreren

  4. Tik de ellips naast het milieu in de sectie van Milieu, en selecteer Developer Console

  5. Tik in het lusje van de Integraties

  6. Tik de Technische Rekeningen tabel

  7. Breid Technische Rekening uit die moet worden gebruikt

  8. Breid Persoonlijke Sleutel uit de waarvan Credentials van de Dienst zullen worden gedownload, en verifieer dat de status Actief is

  9. Tik op > Mening verbonden aan de Privé Sleutel, die de Credentials JSON van de Dienst toont

  10. Tik op de downloadknop in de linkerbovenhoek om het JSON-bestand met de waarde Servicekredieten te downloaden en het bestand op een veilige locatie op te slaan

De servicereferenties installeren

De servicekredieten bevatten de gegevens die nodig zijn om een JWT te genereren, die wordt uitgewisseld voor een toegangstoken dat wordt gebruikt voor verificatie met AEM as a Cloud Service. De servicekredieten moeten worden opgeslagen op een beveiligde locatie die toegankelijk is voor externe toepassingen, systemen of services die deze gebruiken voor toegang tot AEM. Hoe en waar de Credentials van de Dienst worden beheerd zijn uniek per klant.

Voor eenvoud, gaat dit leerprogramma de Credentials van de Dienst binnen via de bevellijn over. Werk echter samen met uw IT-beveiligingsteam om te begrijpen hoe deze gegevens moeten worden opgeslagen en geopend in overeenstemming met de beveiligingsrichtlijnen van uw organisatie.

  1. Kopieer downloadde Referenties JSON van de Dienstaan een dossier genoemd service_token.json in de wortel van het project
    • Herinner me, begaat nooit om het even welke geloofsbrieven aan Git!

Servicereferenties gebruiken

De servicekredieten, een volledig samengesteld JSON-object, zijn niet hetzelfde als de JWT of het toegangstoken. In plaats daarvan worden de servicekredieten (die een persoonlijke sleutel bevatten) gebruikt om een JWT te genereren, die wordt uitgewisseld met Adobe IMS API's voor een toegangstoken.

Referenties van de Dienst - Externe Toepassing

  1. Download de servicekredieten van AEM Developer Console naar een beveiligde locatie
  2. De externe toepassing moet programmatisch communiceren met de AEM as a Cloud Service-omgeving
  3. De externe toepassing leest in de Referenties van de Dienst van een veilige plaats
  4. De externe toepassing gebruikt informatie van de Referenties van de Dienst om een Token te construeren JWT
  5. De JWT Token wordt naar Adobe IMS verzonden voor uitwisseling voor een toegangstoken
  6. Adobe IMS retourneert een toegangstoken dat kan worden gebruikt voor toegang tot AEM as a Cloud Service
    • Toegangstokens kunnen een vervaltijd niet veranderen.
  7. De externe toepassing doet HTTP-aanvragen aan AEM as a Cloud Service, waarbij het toegangstoken als een token voor Drager wordt toegevoegd aan de header voor HTTP-aanvragen.
  8. AEM as a Cloud Service ontvangt de HTTP-aanvraag, verifieert de aanvraag en voert het werk uit dat door de HTTP-aanvraag wordt aangevraagd en retourneert een HTTP-reactie terug naar de externe toepassing

Updates voor de externe toepassing

Als u AEM as a Cloud Service wilt benaderen met de servicekredieten, moet de externe toepassing op drie manieren worden bijgewerkt:

  1. Lees in de Referenties van de Dienst
  • Voor eenvoud, worden de Credentials van de Dienst gelezen van het gedownloade JSON dossier, nochtans in real-use scenario's, moeten de Referenties van de Dienst veilig worden opgeslagen in overeenstemming met de veiligheidsrichtlijnen van uw organisatie
  1. Een JWT genereren op basis van de servicerecertificaten
  2. Uitwisseling JWT voor een toegangstoken
  • Wanneer Service Credentials aanwezig is, gebruikt de externe toepassing dit toegangstoken in plaats van het token Local Development Access (Lokale ontwikkelingstoken) bij de toegang tot AEM as a Cloud Service

In deze zelfstudie wordt de @adobe/jwt-auth npm-module van Adobe gebruikt om (1) de JWT te genereren op basis van de servicereferentials en (2) deze te ruilen voor een toegangstoken, in één functieaanroep. Als uw toepassing niet JavaScript gebaseerd is, te herzien gelieve de steekproefcode in andere talenvoor hoe te om JWT van de Referenties van de Dienst tot stand te brengen, en het voor een toegangstoken met Adobe IMS te ruilen.

Lees de Referenties van de Dienst

Controleer getCommandLineParams() zodat zie hoe het dossier van de Verantwoordelijkheid JSON van de Dienst gebruikend de zelfde code wordt gelezen die wordt gebruikt om in het Token JSON van de Toegang van de Lokale Ontwikkeling te lezen.

function getCommandLineParams() {
    ...

    // Read in the credentials from the provided JSON file
    // Since both the Local Development Access Token and Service Credentials files are JSON, this same approach can be re-used
    if (parameters.file) {
        parameters.developerConsoleCredentials = JSON.parse(fs.readFileSync(parameters.file));
    }

    ...
    return parameters;
}

Creeer JWT en ruil voor een Token van de Toegang

Nadat de servicekredieten zijn gelezen, worden deze gebruikt om een JWT te genereren die vervolgens wordt uitgewisseld met Adobe IMS API's voor een toegangstoken. Dit toegangstoken kan dan worden gebruikt om tot AEM as a Cloud Service toegang te hebben.

Deze voorbeeldtoepassing is gebaseerd op Node.js, dus het is beter om @adobe/jwt-authnpm module te gebruiken om de (1) productie van JWT en (20 uitwisseling met Adobe IMS te vergemakkelijken. Als uw toepassing gebruikend een andere taal wordt ontwikkeld, te herzien gelieve de aangewezen codesteekproevenop hoe te om het verzoek van HTTP aan Adobe IMS te construeren gebruikend andere programmeertalen.

  1. Werk getAccessToken(..) bij om de inhoud van het JSON-bestand te inspecteren en te bepalen of dit een token of servicerecertificaat voor lokale ontwikkelingstoegang vertegenwoordigt. Dit kan eenvoudig worden bereikt door te controleren op het bestaan van de eigenschap .accessToken , die alleen bestaat voor Local Development Access Token JSON.

    Als Service Credentials is opgegeven, genereert de toepassing een JWT en wisselt deze uit met Adobe IMS voor een toegangstoken. Gebruik de @adobe/jwt-authauth(...) functie die een JWT produceert en het voor een toegangstoken in één enkele functievraag ruilt. De parameters aan auth(..) methode zijn a JSON voorwerp dat van specifieke informatiewordt samengesteld beschikbaar bij de Referenties JSON van de Dienst, zoals hieronder in code wordt beschreven.

 async function getAccessToken(developerConsoleCredentials) {

     if (developerConsoleCredentials.accessToken) {
         // This is a Local Development access token
         return developerConsoleCredentials.accessToken;
     } else {
         // This is the Service Credentials JSON object that must be exchanged with Adobe IMS for an access token
         let serviceCredentials = developerConsoleCredentials.integration;

         // Use the @adobe/jwt-auth library to pass the service credentials generated a JWT and exchange that with Adobe IMS for an access token.
         // If other programming languages are used, please see these code samples: https://www.adobe.io/authentication/auth-methods.html#!AdobeDocs/adobeio-auth/master/JWT/samples/samples.md
         let { access_token } = await auth({
             clientId: serviceCredentials.technicalAccount.clientId, // Client Id
             technicalAccountId: serviceCredentials.id,              // Technical Account Id
             orgId: serviceCredentials.org,                          // Adobe IMS Org Id
             clientSecret: serviceCredentials.technicalAccount.clientSecret, // Client Secret
             privateKey: serviceCredentials.privateKey,              // Private Key to sign the JWT
             metaScopes: serviceCredentials.metascopes.split(','),   // Meta Scopes defining level of access the access token should provide
             ims: `https://${serviceCredentials.imsEndpoint}`,       // IMS endpoint used to obtain the access token from
         });

         return access_token;
     }
 }
 nu, afhankelijk van welk JSON dossier - of het Lokale Token JSON van de Toegang van de Ontwikkeling of de Referentie JSON van de Dienst - binnen via die het bevellijnparameter van file ` wordt overgegaan, zal de toepassing een toegangstoken afleiden.

 Herinner me, dat terwijl de Referenties van de Dienst elke 365 dagen verlopen, JWT en het overeenkomstige toegangstoken vaak verlopen, en moeten worden verfrist alvorens zij verlopen. Dit kan worden gedaan door ` te gebruiken verfrist_token ` [verstrekt door Adobe IMS] (https://www.adobe.io/authentication/auth-methods.html#!AdobeDocs/adobeio-auth/master/OAuth/OAuth.md#access-tokens).
  1. Als deze wijzigingen zijn aangebracht, is de Service Credentials JSON gedownload van de AEM Developer Console en voor de eenvoud opgeslagen als service_token.json in dezelfde map als deze index.js . Laten we nu de toepassing uitvoeren, waarbij de opdrachtregelparameter file wordt vervangen door service_token.json , en de propertyValue wordt bijgewerkt naar een nieuwe waarde, zodat de effecten zichtbaar zijn in AEM.

    code language-shell
    $ node index.js \
        aem=https://author-p1234-e5678.adobeaemcloud.com \
        folder=/wknd-shared/en/adventures/napa-wine-tasting \
        propertyName=metadata/dc:rights \
        propertyValue="WKND Restricted Use" \
        file=service_token.json
    

    De output aan de terminal kijkt als:

    code language-shell
    200 - OK @ https://author-p1234-e5678.adobeaemcloud.com/api/assets/wknd-shared/en/adventures/napa-wine-tasting.json
    403 - Forbidden @ https://author-p1234-e5678.adobeaemcloud.com/api/assets/wknd-shared/en/adventures/napa-wine-tasting/AdobeStock_277654931.jpg.json
    403 - Forbidden @ https://author-p1234-e5678.adobeaemcloud.com/api/assets/wknd-shared/en/adventures/napa-wine-tasting/AdobeStock_239751461.jpg.json
    403 - Forbidden @ https://author-p1234-e5678.adobeaemcloud.com/api/assets/wknd-shared/en/adventures/napa-wine-tasting/AdobeStock_280313729.jpg.json
    403 - Forbidden @ https://author-p1234-e5678.adobeaemcloud.com/api/assets/wknd-shared/en/adventures/napa-wine-tasting/AdobeStock_286664352.jpg.json
    

    403 - de verboden lijnen, wijzen op fouten in de vraag van HTTP API aan AEM as a Cloud Service. Deze 403 Verboden fouten treden op wanneer wordt geprobeerd de metagegevens van de elementen bij te werken.

    De reden voor dit is het de toegangstoken van Credentials-Afgeleide van de Dienst verklaart het verzoek om AEM gebruikend een auto-gecreeerde technische rekening AEM gebruiker voor authentiek, die door gebrek, slechts gelezen toegang heeft. Om de toepassing te verstrekken schrijf toegang tot AEM, moet de technische rekening AEM gebruiker verbonden aan het toegangstoken toestemming in AEM worden verleend.

Toegang configureren in AEM

Het de toegangstoken van Credentials-afgeleide van de Dienst gebruikt een technische rekening AEM Gebruiker die lidmaatschap in de Medewerkers AEM gebruikersgroep heeft.

Referenties van de Dienst - Technische Rekening AEM Gebruiker

Zodra de technische rekening AEM gebruiker in AEM (na eerste HTTP- verzoek met het toegangstoken) bestaat, kunnen de toestemmingen van deze AEM gebruiker het zelfde als andere AEM gebruikers worden beheerd.

  1. Zoek eerst de aanmeldnaam van de AEM van de technische account door Service Credentials te openen die JSON van AEM Developer Console heeft gedownload en zoek de waarde integration.email , die er ongeveer als volgt moet uitzien: 12345678-abcd-9000-efgh-0987654321c@techacct.adobe.com .
  2. Meld u als AEM beheerder aan bij de bijbehorende AEM-service Auteur.
  3. Ga aan Hulpmiddelen > Veiligheid > Gebruikers
  4. Plaats de AEM gebruiker met de Login Naam die in Stap 1 wordt geïdentificeerd, en open zijn Eigenschappen
  5. Navigeer aan de Groepen tabel, en voeg de Gebruikers DAM groep toe (die als toegang tot activa schrijven)
    • zie de lijst van AEM verstrekte gebruikersgroepenom de de dienstgebruiker aan voor de optimale toestemmingen toe te voegen. Als geen AEM opgegeven gebruikersgroep voldoende is, maakt u uw eigen gebruikersgroep en voegt u de juiste machtigingen toe.
  6. Tik sparen en Sluiten

Voer de toepassing opnieuw uit terwijl de technische account in AEM schrijfmachtigingen voor elementen mag hebben:

$ node index.js \
    aem=https://author-p1234-e5678.adobeaemcloud.com \
    folder=/wknd-shared/en/adventures/napa-wine-tasting \
    propertyName=metadata/dc:rights \
    propertyValue="WKND Restricted Use" \
    file=service_token.json

De output aan de terminal kijkt als:

200 - OK @ https://author-p1234-e5678.adobeaemcloud.com/api/assets/wknd-shared/en/adventures/napa-wine-tasting.json
200 - OK @ https://author-p1234-e5678.adobeaemcloud.com/api/assets/wknd-shared/en/adventures/napa-wine-tasting/AdobeStock_277654931.jpg.json
200 - OK @ https://author-p1234-e5678.adobeaemcloud.com/api/assets/wknd-shared/en/adventures/napa-wine-tasting/AdobeStock_286664352.jpg.json
200 - OK @ https://author-p1234-e5678.adobeaemcloud.com/api/assets/wknd-shared/en/adventures/napa-wine-tasting/AdobeStock_239751461.jpg.json
200 - OK @ https://author-p1234-e5678.adobeaemcloud.com/api/assets/wknd-shared/en/adventures/napa-wine-tasting/AdobeStock_280313729.jpg.json

Wijzigingen controleren

  1. Meld u aan bij de AEM as a Cloud Service-omgeving die is bijgewerkt (met dezelfde hostnaam die in de opdrachtregelparameter aem is opgegeven)
  2. Ga aan Assets > Dossiers
  3. Navigeer het de activaomslag die door de folder bevel-lijn parameter, bijvoorbeeld wordt gespecificeerd WKND > Engels > avonturen > het Tasting van de Wijn van Napa
  4. Open Eigenschappen voor om het even welk element in de omslag
  5. Navigeer aan het Geavanceerde lusje
  6. Herzie de waarde van het bijgewerkte bezit, bijvoorbeeld Copyright dat aan het bijgewerkte metadata/dc:rights bezit JCR in kaart wordt gebracht, dat nu op de waarde wijst die in de propertyValue parameter wordt verstrekt, bijvoorbeeld Beperkt Gebruik WKND

WKND Beperkte Update van Metagegevens van het Gebruik

Gefeliciteerd!

Nu wij programmatically AEM as a Cloud Service gebruikend een lokaal toegangstoken van de ontwikkelingstoegang, en een productie-klaar dienst-aan-dienst toegangstoken hebben betreden!

recommendation-more-help
e25b6834-e87f-4ff3-ba56-4cd16cdfdec4