Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
SAMLautenticazione per Amazon OpenSearch Serverless
Con SAML l'autenticazione per Amazon OpenSearch Serverless, puoi utilizzare il tuo provider di identità esistente per offrire single sign-on (SSO) per gli endpoint OpenSearch Dashboard delle raccolte serverless.
SAMLl'autenticazione consente di utilizzare provider di identità di terze parti per accedere alle OpenSearch dashboard per indicizzare e cercare dati. OpenSearch Serverless supporta i provider che utilizzano lo standard SAML 2.0, come IAM Identity Center, Okta, Keycloak, Active Directory Federation Services (AD FS) e Auth0. È possibile configurare IAM Identity Center per sincronizzare utenti e gruppi da altre fonti di identità come Okta e Microsoft Entra ID. OneLogin Per un elenco delle fonti di identità supportate da IAM Identity Center e i passaggi per configurarle, consulta i tutorial introduttivi nella Guida per l'utente di IAMIdentity Center.
Nota
SAMLl'autenticazione è solo per l'accesso alle OpenSearch dashboard tramite un browser Web. Gli utenti autenticati possono effettuare richieste alle OpenSearch API operazioni solo tramite Dev Tools in OpenSearch Dashboards. SAMLLe tue credenziali non ti consentono di effettuare HTTP richieste dirette alle operazioni. OpenSearch API
Per configurare SAML l'autenticazione, devi prima configurare un provider di SAML identità (IdP). Quindi includi uno o più utenti di quell'IdP in una policy di accesso ai dati. Questa policy gli concede determinate autorizzazioni per le raccolte e/o gli indici. Un utente può quindi accedere alle OpenSearch dashboard ed eseguire le azioni consentite nella politica di accesso ai dati.
Argomenti
- Considerazioni
- Autorizzazioni richieste
- Creazione SAML di provider (console)
- Accesso ai OpenSearch pannelli di controllo
- Concedere SAML alle identità l'accesso ai dati della raccolta
- Creazione SAML di fornitori (AWS CLI)
- SAMLVisualizzazione dei provider
- Aggiornamento dei provider SAML
- Eliminazione dei provider SAML
Considerazioni
Quando SAML configuri l'autenticazione, considera quanto segue:
-
Le richieste firmate e crittografate non sono supportate.
-
Le asserzioni crittografate non sono supportate.
-
L'autenticazione e la disconnessione avviate dal'IdP non sono supportate.
-
Le politiche di controllo del servizio (SCP) non saranno applicabili o valutate in caso di non IAM identità (come in SAML Amazon OpenSearch Serverless SAML e nell'autorizzazione utente interna di base per Amazon OpenSearch Service).
Autorizzazioni richieste
SAMLl'autenticazione per OpenSearch Serverless utilizza quanto segue AWS Identity and Access Management (IAM) autorizzazioni:
-
aoss:CreateSecurityConfig
— Creare un SAML provider. -
aoss:ListSecurityConfig
— Elenca tutti i SAML fornitori presenti nell'account corrente. -
aoss:GetSecurityConfig
— Visualizza le informazioni sul SAML fornitore. -
aoss:UpdateSecurityConfig
— Modificare una determinata configurazione del SAML provider, inclusi i XML metadati. -
aoss:DeleteSecurityConfig
— Eliminare un SAML provider.
La seguente policy di accesso basata sull'identità consente a un utente di gestire tutte le configurazioni dell'IdP:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "aoss:CreateSecurityConfig", "aoss:DeleteSecurityConfig", "aoss:GetSecurityConfig", "aoss:UpdateSecurityConfig", "aoss:ListSecurityConfigs" ], "Effect": "Allow", "Resource": "*" } ] }
Nota bene: l'elemento Resource
deve essere un carattere jolly.
Creazione SAML di provider (console)
Questi passaggi spiegano come creare SAML provider. Ciò consente SAML l'autenticazione con l'autenticazione avviata dal provider di servizi (SP) per i OpenSearch dashboard. L'autenticazione avviata dall'IdP non è supportata.
Per abilitare l'autenticazione per le dashboard SAML OpenSearch
-
Accedi alla console di Amazon OpenSearch Service da https://console.aws.amazon.com/aos/casa
. -
Nel pannello di navigazione a sinistra, espandi Serverless e scegli SAMLl'autenticazione.
-
Scegli Aggiungi SAML provider.
-
Fornisci un nome e una descrizione per il provider.
Nota
Il nome specificato è accessibile pubblicamente e verrà visualizzato in un menu a discesa quando gli utenti accedono alle OpenSearch dashboard. Assicurati che il nome sia facilmente riconoscibile e non riveli informazioni sensibili sul tuo provider di identità.
-
In Configura il tuo IdP, copia l'asserzione consumer service (). ACS URL
-
Usa ACS URL quello che hai appena copiato per configurare il tuo provider di identità. La terminologia e le fasi variano in base al provider. Consultare la documentazione del provider.
In Okta, ad esempio, crei un'applicazione web «SAML2.0" e la specifichi ACS URL come Single Sign-On URLURL, Destinatario e Destinazione. URL Per Auth0, lo si specifica in Allowed Callback. URLs
-
Se il tuo IdP prevede un campo apposito, fornisci la restrizione per il pubblico. La restrizione relativa al pubblico è un valore all'interno dell'SAMLasserzione che specifica a chi è destinata l'asserzione. Per OpenSearch Serverless, specificare.
aws:opensearch:<aws account id>
Ad esempioaws:opensearch:
.123456789012
Il nome del campo della restrizione per il pubblico varia in base al provider. Per Okta è Audience URI (SP Entity ID). Per IAM Identity Center è Application SAML Audience.
-
Se utilizzi IAM Identity Center, devi anche specificare la seguente mappatura degli attributi:
Subject=${user:name}
, con un formato diunspecified
. -
Dopo aver configurato il provider di identità, viene generato un file di metadati IdP. Questo XML file contiene informazioni sul provider, come un TLS certificato, endpoint Single Sign-on e l'ID dell'entità del provider di identità.
Copia il testo nel file di metadati dell'IdP e incollalo nel campo Provide metadata from your IdP (Fornisci metadati dal tuo IdP). In alternativa, scegli Importa da XML file e carica il file. Il file dei metadati dovrebbe avere un aspetto simile al seguente:
<?xml version="1.0" encoding="UTF-8"?> <md:EntityDescriptor entityID="
entity-id
" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"> <md:IDPSSODescriptor WantAuthnRequestsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> <md:KeyDescriptor use="signing"> <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:X509Data> <ds:X509Certificate>tls-certificate
</ds:X509Certificate> </ds:X509Data> </ds:KeyInfo>s </md:KeyDescriptor> <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat> <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat> <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="idp-sso-url
"/> <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="idp-sso-url
"/> </md:IDPSSODescriptor> </md:EntityDescriptor> -
Mantieni vuoto il campo dell'attributo ID utente personalizzato per utilizzare l'
NameID
elemento dell'SAMLasserzione per il nome utente. Se l'asserzione non utilizza questo elemento standard e include invece il nome utente come attributo personalizzato, specificare tale attributo qui. Gli attributi rispettano la distinzione tra maiuscole e minuscole. È supportato solo un singolo attributo dell'utente.L'esempio seguente mostra un attributo override per
NameID
nell'SAMLasserzione:<saml2:Attribute Name="
UserId
" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">annie
</saml2:AttributeValue> </saml2:Attribute> -
(Facoltativo) Specifica un attributo personalizzato nel campo Group attribute (Attributo del gruppo), ad esempio
role
ogroup
. È supportato solo un singolo attributo del gruppo. Non esiste un attributo del gruppo predefinito. Se non ne specifichi uno, le policy di accesso ai dati possono contenere solo utenti principali.L'esempio seguente mostra un attributo group nell'asserzioneSAML:
<saml2:Attribute Name="
department
" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">finance
</saml2:AttributeValue> </saml2:Attribute> -
Per impostazione predefinita, OpenSearch Dashboards disconnette gli utenti dopo 24 ore. Puoi configurare questo valore su qualsiasi numero compreso tra 1 e 12 ore (15 e 720 minuti) specificando il timeout del OpenSearch pannello di controllo. Se tenti di impostare il timeout uguale o inferiore a 15 minuti, la sessione verrà reimpostata a un'ora.
-
Scegli Crea SAML fornitore.
Accesso ai OpenSearch pannelli di controllo
Dopo aver configurato un SAML provider, tutti gli utenti e i gruppi associati a tale provider possono accedere all'endpoint OpenSearch Dashboards. The Dashboards URL ha il formato
per tutte le raccolte. collection-endpoint
/_dashboards/
Se l'hai SAML abilitato, selezionando il link nella AWS Management Console ti indirizza alla pagina di selezione dell'IdP, dove puoi accedere utilizzando SAML le tue credenziali. Innanzitutto, utilizza il menu a discesa per selezionare un provider di identità:
Quindi accedi utilizzando le tue credenziali IdP.
Se non l'hai SAML abilitato, selezionando il link nel AWS Management Console ti indirizza ad accedere come IAM utente o ruolo, senza alcuna opzione perSAML.
Concedere SAML alle identità l'accesso ai dati della raccolta
Dopo aver creato un SAML provider, devi comunque concedere agli utenti e ai gruppi sottostanti l'accesso ai dati all'interno delle tue raccolte. L'accesso viene concesso tramite le policy di accesso ai dati. Finché non fornisci l'accesso agli utenti, questi non saranno in grado di leggere, scrivere o eliminare alcun dato contenuto nelle raccolte.
Per concedere l'accesso, crea una politica di accesso ai dati e specifica il tuo SAML utente e/o gruppo IDs nella Principal
dichiarazione:
[ { "Rules":[ ... ], "Principal":[ "saml/
987654321098
/myprovider
/user/Shaheen
", "saml/987654321098
/myprovider
/group/finance
" ] } ]
Puoi concedere l'accesso a raccolte, a indici o a entrambi. Se desideri che utenti diversi dispongano di autorizzazioni diverse, crea più regole. Per un elenco di autorizzazioni disponibili, consulta la sezione Supported policy permissions (Autorizzazioni di policy supportate). Per ulteriori informazioni sul formato di una policy di accesso, consulta la sezione Policy syntax (Sintassi della policy).
Creazione SAML di fornitori (AWS CLI)
Per creare un SAML provider utilizzando OpenSearch ServerlessAPI, invia una CreateSecurityConfigrichiesta:
aws opensearchserverless create-security-config \ --name
myprovider
\ --type saml \ --saml-options file://saml-auth0
.json
Specificatesaml-options
, inclusi i metadatiXML, come mappa chiave-valore all'interno di un file.json. I metadati XML devono essere codificati come stringa di escape. JSON
{ "sessionTimeout":
70
, "groupAttribute": "department
", "userAttribute": "userid
", "metadata": "<EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" ... ... ... IDPSSODescriptor>\r\n<\/EntityDescriptor>
" }
SAMLVisualizzazione dei provider
La seguente ListSecurityConfigsrichiesta elenca tutti i SAML provider del tuo account:
aws opensearchserverless list-security-configs --type saml
La richiesta restituisce informazioni su tutti i SAML provider esistenti, inclusi i metadati IdP completi generati dal provider di identità:
{ "securityConfigDetails": [ { "configVersion": "MTY2NDA1MjY4NDQ5M18x", "createdDate": 1664054180858, "description": "Example SAML provider", "id": "saml/123456789012/myprovider", "lastModifiedDate": 1664054180858, "samlOptions": { "groupAttribute": "department", "metadata": "<EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" ... ... ... IDPSSODescriptor>\r\n<\/EntityDescriptor>", "sessionTimeout": 120, "userAttribute": "userid" } } ] }
Per visualizzare i dettagli su un provider specifico, inclusa la configVersion
per gli aggiornamenti futuri, invia una richiesta GetSecurityConfig
.
Aggiornamento dei provider SAML
Per aggiornare un SAML provider utilizzando la console OpenSearch Serverless, scegli SAMLl'autenticazione, seleziona il tuo provider di identità e scegli Modifica. Puoi modificare tutti i campi, inclusi i metadati e gli attributi personalizzati.
Per aggiornare un provider tramite OpenSearch ServerlessAPI, invia una UpdateSecurityConfigrichiesta e includi l'identificatore della politica da aggiornare. Inoltre, è necessario includere una versione di configurazione, che è possibile recuperare utilizzando i comandi ListSecurityConfigs
o GetSecurityConfig
. L'inclusione della versione più recente garantisce di non sovrascrivere inavvertitamente una modifica apportata da qualcun altro.
La seguente richiesta aggiorna le SAML opzioni per un provider:
aws opensearchserverless update-security-config \ --id saml/
123456789012
/myprovider
\ --type saml \ --saml-options file://saml-auth0
.json \ --config-versionMTY2NDA1MjY4NDQ5M18x
Specificate le opzioni di SAML configurazione come mappa chiave-valore all'interno di un file.json.
Importante
Gli aggiornamenti alle SAML opzioni non sono incrementali. Se non si specifica un valore per un parametro nell'oggetto SAMLOptions
quando si effettua un aggiornamento, i valori esistenti verranno sostituiti da valori vuoti. Ad esempio, se la configurazione corrente contiene un valore per userAttribute
, e poi si effettua un aggiornamento e non lo si include, il valore viene rimosso dalla configurazione. Prima di effettuare un aggiornamento, assicurati di conoscere i valori esistenti richiamando l'operazione GetSecurityConfig
.
Eliminazione dei provider SAML
Quando si elimina un SAML provider, qualsiasi riferimento a utenti e gruppi associati nelle politiche di accesso ai dati non è più funzionale. Per evitare confusione, nelle policy di accesso ti suggeriamo di rimuovere tutti i riferimenti all'endpoint prima di eliminarlo.
Per eliminare un SAML provider utilizzando la console OpenSearch Serverless, scegli Autenticazione, seleziona il provider e scegli Elimina.
Per eliminare un provider tramite OpenSearch ServerlessAPI, invia una DeleteSecurityConfigrichiesta:
aws opensearchserverless delete-security-config --id saml/
123456789012
/myprovider