CDN-referenties en -verificatie configureren cdn-credentials-authentication
Adobe-Geleide CDN heeft verscheidene eigenschappen en de diensten, waarvan sommige op geloofsbrieven en authentificatie baseren om een aangewezen niveau van ondernemingsveiligheid te verzekeren. Door regels in een configuratiedossier te verklaren dat door de Cloud Manager wordt opgesteld config pijpleidingte gebruiken, kunnen de klanten, op een zelfbediening manier, het volgende vormen:
- De x-AEM-Edge-Zeer belangrijke HTTP- kopbalwaarde die door Adobe CDN wordt gebruikt om verzoeken te bevestigen die van een Klantgeleid CDN komen.
- Het API-token dat wordt gebruikt om bronnen in de CDN-cache leeg te maken.
- Een lijst met combinaties van gebruikersnaam en wachtwoord waarmee toegang kan worden verkregen tot beperkte inhoud door het verzenden van een Basic Authentication-formulier.
Elk van deze, met inbegrip van de configuratiesyntaxis, wordt beschreven in zijn eigen sectie hieronder.
Er is een sectie op hoe te te roteren sleutels, die goede veiligheidspraktijk is.
Door de klant beheerde CDN HTTP-headerwaarde CDN-HTTP-value
Zoals die in CDN in AEM as a Cloud Servicepagina wordt beschreven, kunnen de klanten verkiezen om verkeer door hun eigen CDN te leiden, die als Klant CDN (ook genoemd ook BYOCDN) wordt bedoeld.
Als onderdeel van de setup moeten de Adobe CDN en de Customer CDN akkoord gaan met een waarde van de X-AEM-Edge-Key
HTTP Header. Deze waarde wordt geplaatst op elk verzoek bij Klant CDN, alvorens het aan Adobe CDN wordt verpletterd, die dan bevestigt dat de waarde zoals verwacht is, zodat kan het andere kopballen van HTTP vertrouwen, met inbegrip van die die helpen het verzoek aan de aangewezen oorsprong van AEM leiden.
De x-AEM-Edge-Zeer belangrijke waarde wordt van verwijzingen voorzien door edgeKey1
en edgeKey2
eigenschappen in een dossier genoemd cdn.yaml
of gelijkaardig, ergens onder een top-level config
omslag. Lees Gebruikend Pijpleidingen Configvoor details over de omslagstructuur en hoe te om de configuratie op te stellen. De syntaxis wordt beschreven in het onderstaande voorbeeld.
Voor verdere het zuiveren informatie en gemeenschappelijke fouten, gelieve te controleren Gemeenschappelijke Fouten.
kind: "CDN"
version: "1"
metadata:
envTypes: ["dev"]
data:
authentication:
authenticators:
- name: edge-auth
type: edge
edgeKey1: ${{CDN_EDGEKEY_052824}}
edgeKey2: ${{CDN_EDGEKEY_041425}}
rules:
- name: edge-auth-rule
when: { reqProperty: tier, equals: "publish" }
action:
type: authenticate
authenticator: edge-auth
Zie Gebruikend Pijpleidingen Configvoor een beschrijving van de eigenschappen boven de data
knoop. De kind
bezitswaarde zou CDN moeten zijn en het version
bezit zou aan 1
moeten worden geplaatst.
Zie vorm en stel de regel van CDN van de de Kopbal bevestiging van HTTP- regeltutorial stap voor meer details op.
Tot de aanvullende eigenschappen behoren:
-
Data
die een onderliggendeauthentication
-node bevat. -
Onder
authentication
staan éénauthenticators
node en éénrules
node, die beide arrays zijn. -
Authenticatoren: hiermee kunt u een type token of referentie declareren. Dit is in dit geval een Edge-sleutel. Het bevat de volgende eigenschappen:
- name - a descriptive string.
- type - moet
edge
zijn. - edgeKey1 - de waarde van x-AEM-Edge-Sleutel, die a Cloud Manager moet verwijzen geheim-type milieuvariabele. Selecteer Alle voor het veld Toegepaste service. Men adviseert dat de waarde (bijvoorbeeld,
${{CDN_EDGEKEY_052824}}
) op de dag wijst het werd toegevoegd. - edgeKey2 - die voor de omwenteling van geheimen wordt gebruikt, die in wordt beschreven het roteren geheimen sectiehieronder. Definieer het op dezelfde manier als edgeKey1. Minstens een van
edgeKey1
enedgeKey2
moet worden gedeclareerd.
-
Regels: hiermee kunt u aangeven welke van de authenticatoren moeten worden gebruikt en of dit voor de publicatie- en/of voorvertoningslaag is. Het omvat:
- name - a descriptive string.
- wanneer - een voorwaarde die bepaalt wanneer de regel, volgens de syntaxis in het artikel van de Regels van de Filter van het Verkeerzou moeten worden geëvalueerd. Typisch, zal het een vergelijking van de huidige rij (bijvoorbeeld, publiceren) omvatten zodat wordt al levend verkeer bevestigd zoals verpletterend door klant CDN.
- action - must specify "authenticate", with the intended authenticator referenced.
openssl rand -hex 32
uit te voeren.Veilig migreren om het risico van geblokkeerd verkeer te verminderen migrating-safely
Als uw plaats reeds levend is, oefen voorzichtigheid wanneer het migreren aan klant-geleide CDN aangezien een misconfiguration openbaar verkeer kan blokkeren; dit is omdat slechts de verzoeken met de verwachte x-AEM-Edge-Zeer belangrijke kopbalwaarde door Adobe CDN zullen worden goedgekeurd. Een benadering wordt geadviseerd wanneer een extra voorwaarde tijdelijk inbegrepen in de authentificatieregel is, die het veroorzaakt om het verzoek slechts te blokkeren als een testkopbal inbegrepen is of als een weg wordt aangepast:
- name: edge-auth-rule
when:
allOf:
- { reqProperty: tier, equals: "publish" }
- { reqHeader: x-edge-test, equals: "test" }
action:
type: authenticate
authenticator: edge-auth
- name: edge-auth-rule
when:
allOf:
- { reqProperty: tier, equals: "publish" }
- { reqProperty: path, like: "/test*" }
action:
type: authenticate
authenticator: edge-auth
U kunt het volgende curl
aanvraagpatroon gebruiken:
curl https://publish-p<PROGRAM_ID>-e<ENV-ID>.adobeaemcloud.com -H "X-Forwarded-Host: example.com" -H "X-AEM-Edge-Key: <CONFIGURED_EDGE_KEY>" -H "x-edge-test: test"
Na het met succes testen, kan de extra voorwaarde worden verwijderd en de configuratie wordt opnieuw opgesteld.
Migratieproces als Adobe eerder de waarde voor X-AEM-Edge-Key
HTTP-koptekst heeft gegenereerd migrating-legacy
Eerder, omvatte het proces om met een klant-beheerde CDN te integreren klanten die om een X-AEM-Edge-Zeer belangrijke waarde van de Kopbal van HTTP van de Steun van Adobe vroegen, eerder dan het bepalen van de waarde op hun eigen. Als u wilt migreren naar de nieuwere zelfserverbenadering waarbij u uw eigen Edge-sleutelwaarden definieert, volgt u deze stappen om een vloeiende overgang zonder downtime te garanderen:
-
Configureer de CDN-configuratie met de nieuwe (door de klant gegenereerde) en oude (door Adobe gegenereerde) geheimen die zijn opgegeven als
edgeKey1
enedgeKey2
. Dit is een variatie van het roteren geheimendocumentatie. -
Stel de geheimen en de zelf-gediende configuratie CDN op. Op dit punt in het proces, zou het oude Adobe-bepaalde geheim nog als x-AEM-Edge-Zeer belangrijke waarde moeten blijven die door klant-beheerde CDN wordt overgegaan.
-
Neem contact op met de Adobe-ondersteuning en vraag of Adobe overschakelt naar de configuratie met zelfbediening, waarbij u opgeeft dat u deze al hebt geïmplementeerd.
-
Zodra Adobe bevestigt dat het die actie heeft uitgevoerd, vorm uw klant-geleide CDN om de nieuwe, klant-bepaalde sleutel voor de
X-AEM-Edge-Key
waarde van de Kopbal van HTTP te gebruiken. -
Verwijder de oude sleutel uit de configuratie CDN en stel opnieuw de configuratiepijplijn op.
API-token wissen purge-API-token
De klanten kunnen het CDN geheime voorgeheugenzuiveren door een verklaard Stem API teken te gebruiken. Het token wordt gedeclareerd in een bestand met de naam cdn.yaml
of een vergelijkbaar bestand, ergens onder een map op hoofdniveau config
. Lees Gebruikend Pijpleidingen Configvoor details over de omslagstructuur en hoe te om de configuratie op te stellen.
De syntaxis wordt hieronder beschreven:
kind: "CDN"
version: "1"
metadata:
envTypes: ["dev"]
data:
authentication:
authenticators:
- name: purge-auth
type: purge
purgeKey1: ${{CDN_PURGEKEY_031224}}
purgeKey2: ${{CDN_PURGEKEY_021225}}
rules:
- name: purge-auth-rule
when: { reqProperty: tier, equals: "publish" }
action:
type: authenticate
authenticator: purge-auth
Zie Gebruikend Pijpleidingen Configvoor een beschrijving van de eigenschappen boven de data
knoop. De kind
bezitswaarde zou CDN moeten zijn en het version
bezit zou aan 1
moeten worden geplaatst.
Tot de aanvullende eigenschappen behoren:
-
data
die een onderliggendeauthentication
-node bevat. -
Onder
authentication
staan éénauthenticators
node en éénrules
node, die beide arrays zijn. -
Authenticatoren: hiermee kunt u een type token of referentie declareren. Dit is in dit geval een purge key. Het bevat de volgende eigenschappen:
- name - a descriptive string.
- type - moet leeg zijn .
- purgeKey1 - zijn waarde moet a Cloud Manager geheim-type de Variabele van het Milieuvan verwijzingen voorzien. Selecteer Alle voor het veld Toegepaste service. Het wordt aanbevolen dat de waarde (bijvoorbeeld
${{CDN_PURGEKEY_031224}}
) de dag weergeeft waarop deze is toegevoegd. - purgeKey2 - die voor omwenteling van geheimen wordt gebruikt, die in de het roteren geheimenhieronder sectie wordt beschreven. Minstens een van
purgeKey1
enpurgeKey2
moet worden gedeclareerd.
-
Regels: hiermee kunt u aangeven welke van de authenticatoren moeten worden gebruikt en of dit voor de publicatie- en/of voorvertoningslaag is. Het omvat:
- name - a descriptive string
- wanneer - een voorwaarde die bepaalt wanneer de regel, volgens de syntaxis in het artikel van de Regels van de Filter van het Verkeerzou moeten worden geëvalueerd. Doorgaans bevat dit een vergelijking van de huidige laag (bijvoorbeeld publiceren).
- action - must specify "authenticate", with the intended authenticator referenced.
U kunt een leerprogrammavan verwijzingen voorzien concentreerde zich op het vormen van zuiveringssleutels en het uitvoeren van CDN geheim voorgeheugenzuivering.
Basisverificatie basic-auth
Bescherm bepaalde inhoudsbronnen door een standaarddialoogvenster weer te geven waarin een gebruikersnaam en wachtwoord zijn vereist. Deze functie is vooral bedoeld voor eenvoudige gevallen van verificatiegebruik, zoals het beoordelen van inhoud door belanghebbenden uit het bedrijfsleven, in plaats van als een volledige oplossing voor toegangsrechten voor eindgebruikers.
De eindgebruiker zal een basisauthandboek als het volgende ervaren:
De syntaxis is als volgt:
kind: "CDN"
version: "1"
metadata:
envTypes: ["dev"]
data:
authentication:
authenticators:
- name: my-basic-authenticator
type: basic
credentials:
- user: johndoe
password: ${{JOHN_DOE_PASSWORD}}
- user: janedoe
password: ${{JANE_DOE_PASSWORD}}
rules:
- name: basic-auth-rule
when: { reqProperty: path, like: "/summercampaign" }
action:
type: authenticate
authenticator: my-basic-authenticator
Zie Gebruikend Pijpleidingen Configvoor een beschrijving van de eigenschappen boven de data
knoop. De kind
bezitswaarde zou CDN moeten zijn en het version
bezit zou aan 1
moeten worden geplaatst.
Daarnaast bevat de syntaxis:
-
een
data
-knooppunt dat eenauthentication
-knooppunt bevat. -
Onder
authentication
staan éénauthenticators
node en éénrules
node, die beide arrays zijn. -
Authenticators: in dit scenario verklaart basisauthenticator, die de volgende structuur heeft:
-
name - a descriptive string
-
type - must be
basic
-
een array met maximaal 10 referenties, die elk de volgende naam/waarde-paren bevatten, die eindgebruikers kunnen invoeren in het standaard dialoogvenster voor de verificatie:
- gebruiker - de naam van de gebruiker.
- wachtwoord - zijn waarde moet a Cloud Manager geheim-type milieuvariabelevan verwijzingen voorzien, met allen geselecteerd als de dienstgebied.
-
-
Regels: laat u verklaren welke authentificators zouden moeten worden gebruikt, en welke middelen zouden moeten worden beschermd. Elke regel bevat:
- name - a descriptive string
- wanneer - een voorwaarde die bepaalt wanneer de regel, volgens de syntaxis in het artikel van de Regels van de Filter van het Verkeerzou moeten worden geëvalueerd. Doorgaans bevat dit een vergelijking van de publicatielaag of specifieke paden.
- action - moet "voor authentiek verklaren"specificeren, met de voorgenomen authentificator referenced, die basisauth voor dit scenario is
Geheimen roteren rotating-secrets
Het is een goede veiligheidspraktijk om geloofsbrieven regelmatig te veranderen. Herinner dat de milieuvariabelen niet direct zouden moeten worden veranderd, maar in plaats daarvan tot een nieuw geheim leiden en de nieuwe naam in de configuratie van verwijzingen voorzien.
Dit gebruiksgeval wordt hieronder geïllustreerd door het voorbeeld van een randsleutel te gebruiken, hoewel de zelfde strategie ook voor zuiveringssleutels kan worden gebruikt.
-
Aanvankelijk is alleen
edgeKey1
gedefinieerd, in dit geval wordt${{CDN_EDGEKEY_052824}}
genoemd. Dit wordt aanbevolen voor de datum waarop het is gemaakt.code language-none authentication: authenticators: - name: edge-auth type: edge edgeKey1: ${{CDN_EDGEKEY_052824}}
-
Wanneer het tijd is om de sleutel te roteren, creeer een nieuw geheim van Cloud Manager, bijvoorbeeld
${{CDN_EDGEKEY_041425}}
. -
Verwijs er in de configuratie naar vanuit
edgeKey2
en implementeer deze.code language-none authentication: authenticators: - name: edge-auth type: edge edgeKey1: ${{CDN_EDGEKEY_052824}} edgeKey2: ${{CDN_EDGEKEY_041425}}
-
Als u zeker weet dat de oude Edge-toets niet meer wordt gebruikt, verwijdert u deze door
edgeKey1
uit de configuratie te verwijderen.code language-none authentication: authenticators: - name: edge-auth type: edge edgeKey2: ${{CDN_EDGEKEY_041425}}
-
Verwijder de oude geheime verwijzing (
${{CDN_EDGEKEY_052824}}
) uit Cloud Manager en implementeer deze. -
Wanneer u gereed bent voor de volgende rotatie, volgt u dezelfde procedure, maar deze keer voegt u
edgeKey1
toe aan de configuratie en verwijst u naar een nieuw Cloud Manager-omgevingsgeheim met de naam${{CDN_EDGEKEY_031426}}
.code language-none authentication: authenticators: - name: edge-auth type: edge edgeKey2: ${{CDN_EDGEKEY_041425}} edgeKey1: ${{CDN_EDGEKEY_031426}}
Wanneer het roteren van geheimen die in verzoekkopballen, bijvoorbeeld voor het voor authentiek verklaren tegen een achtergrond worden geplaatst, wordt geadviseerd om de omwenteling in twee stappen te doen om de kopbalwaarde te waarborgen wordt geschakeld zonder tijdelijke hiaten.
-
Eerste configuratie vóór de rotatie. In deze status wordt de oude sleutel naar de achtergrond verzonden.
code language-none requestTransformations: rules: - name: set-api-key-header actions: - type: set reqHeader: x-api-key value ${{API_KEY_1}}
-
Introduceer de nieuwe sleutel
API_KEY_2
door dezelfde kopbal tweemaal te plaatsen (de nieuwe sleutel zou na de oude sleutel moeten worden geplaatst). Na het opstellen van dit zult u de nieuwe sleutel in het achterste eind zien.code language-none requestTransformations: rules: - name: set-api-key-header actions: - type: set reqHeader: x-api-key value ${{API_KEY_1}} - type: set reqHeader: x-api-key value ${{API_KEY_2}}
-
Verwijder de oude sleutel
API_KEY_1
uit de configuratie. Na het opstellen van dit zult u de nieuwe sleutel in het achterste eind zien en het is veilig om de het omgevingsvariabele van de oude sleutel te verwijderen.code language-none requestTransformations: rules: - name: set-api-key-header actions: - type: set reqHeader: x-api-key value ${{API_KEY_2}}