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à.
Autenticazione SAML per Amazon Serverless OpenSearch
Con l'autenticazione SAML per Amazon OpenSearch Serverless, puoi utilizzare il tuo provider di identità esistente per offrire il Single Sign-On (SSO) per gli endpoint OpenSearch Dashboards delle raccolte serverless.
L'autenticazione SAML consente di utilizzare provider di identità di terze parti per accedere alle dashboard per indicizzare e cercare dati. OpenSearch 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. Puoi 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 IAM Identity Center.
Nota
L'autenticazione SAML serve solo per accedere alle OpenSearch dashboard tramite un browser web. Gli utenti autenticati possono effettuare richieste alle operazioni OpenSearch API solo tramite Dev Tools in Dashboards. OpenSearch Le tue credenziali SAML non ti consentono di effettuare richieste HTTP dirette alle operazioni API. OpenSearch
Per configurare l'autenticazione SAML, è necessario configurare prima un provider di identità (IdP) SAML. 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.

Considerazioni
Durante la configurazione dell'autenticazione SAML tieni presente 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 policy di controllo dei servizi (SCP) non saranno applicabili o valutate in caso di identità non IAM (come SAML in Amazon OpenSearch Serverless e SAML e l'autorizzazione utente interna di base per Amazon Service). OpenSearch
Autorizzazioni richieste
L'autenticazione SAML per OpenSearch Serverless utilizza le seguenti autorizzazioni (IAM): AWS Identity and Access Management
-
aoss:CreateSecurityConfig
: crea un provider SAML. -
aoss:ListSecurityConfig
: elenca tutti i provider SAML nell'account corrente. -
aoss:GetSecurityConfig
: visualizza le informazioni sul provider SAML. -
aoss:UpdateSecurityConfig
: modifica una determinata configurazione del provider SAML, inclusi i metadati XML. -
aoss:DeleteSecurityConfig
: elimina un provider SAML.
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 di provider SAML (console)
Queste fasi spiegano come creare provider SAML. Ciò consente l'autenticazione SAML con l'autenticazione avviata dal provider di servizi (SP) per le dashboard. OpenSearch L'autenticazione avviata dall'IdP non è supportata.
Per abilitare l'autenticazione SAML per le dashboard 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 SAML authentication (Autenticazione SAML).
-
Scegli Add SAML provider (Aggiungi provider SAML).
-
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 Configure your IdP (Configura il tuo IdP), copia l'URL Assertion consumer service (ACS).
-
Utilizza l'URL ACS che hai appena copiato per configurare il provider di identità. La terminologia e le fasi variano in base al provider. Consultare la documentazione del provider.
In Okta, ad esempio, crei una "applicazione Web SAML 2.0" e specifichi l'URL ACS come l'URL di Single Sign-On, l'URL del destinatario e l'URL di destinazione. Per Auth0, lo specifichi in Allowed Callback. URLs
-
Se il tuo IdP prevede un campo apposito, fornisci la restrizione per il pubblico. La restrizione per il pubblico è un valore all'interno dell'asserzione SAML 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 è l'URI del pubblico (ID entità SP). Per IAM Identity Center è il pubblico SAML dell'applicazione.
-
Se si utilizza IAM Identity Center, è necessario anche specificare la seguente mappatura degli attributi:
Subject=${user:name}
, con un formatounspecified
. -
Dopo aver configurato il provider di identità, viene generato un file di metadati IdP. Questo file XML contiene informazioni sul provider, ad esempio un certificato TLS, endpoint Single Sign-On e l'ID 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, scegliere Importa da file XML e caricare 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'asserzione SAML 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 di sovrascrizione per
NameID
nell'asserzione SAML:<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 del gruppo nell'asserzione SAML:
<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 Create SAML provider (Crea provider SAML).
Accesso ai pannelli OpenSearch di controllo
Dopo aver configurato un provider SAML, tutti gli utenti e i gruppi associati a tale provider possono accedere all'endpoint OpenSearch Dashboards. L'URL di Dashboards ha il formato per tutte le raccolte
. collection-endpoint
/_dashboards/
Se hai abilitato SAML, selezionando il link in basso verrai AWS Management Console indirizzato alla pagina di selezione IdP, dove puoi accedere utilizzando le tue credenziali SAML. Innanzitutto, utilizza il menu a discesa per selezionare un provider di identità:

Quindi accedi utilizzando le tue credenziali IdP.
Se non hai abilitato SAML, selezionando il link nelle AWS Management Console istruzioni potrai accedere come utente o ruolo IAM, senza alcuna opzione per SAML.
Concessione alle identità SAML dell'accesso ai dati della raccolta
Dopo aver creato un provider SAML, è comunque necessario concedere agli utenti e ai gruppi sottostanti l'accesso ai dati all'interno delle 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 utente e/o gruppo IDs SAML nella dichiarazione: Principal
[ { "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 di provider SAML (AWS CLI)
Per creare un provider SAML utilizzando l'API OpenSearch Serverless, invia una richiesta: CreateSecurityConfig
aws opensearchserverless create-security-config \ --name
myprovider
\ --type saml \ --saml-options file://saml-auth0
.json
Specifica saml-options
, inclusi i metadati XML, come una mappa chiave-valore all'interno di un file .json. I metadati XML devono essere codificati come stringa con escape JSON
{ "sessionTimeout":
70
, "groupAttribute": "department
", "userAttribute": "userid
", "metadata": "<EntityDescriptor xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" ... ... ... IDPSSODescriptor>\r\n<\/EntityDescriptor>
" }
Visualizzazione di provider SAML
La seguente ListSecurityConfigsrichiesta elenca tutti i provider SAML presenti nel tuo account:
aws opensearchserverless list-security-configs --type saml
La richiesta restituisce informazioni su tutti i provider SAML esistenti, inclusi i metadati completi dell'IdP 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 provider SAML utilizzando la console OpenSearch Serverless, scegli l'autenticazione SAML, 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 l'API OpenSearch Serverless, 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 opzioni SAML per un provider:
aws opensearchserverless update-security-config \ --id saml/
123456789012
/myprovider
\ --type saml \ --saml-options file://saml-auth0
.json \ --config-versionMTY2NDA1MjY4NDQ5M18x
Specifica le opzioni di configurazione SAML come mappa chiave-valore all'interno di un file .json.
Importante
Gli aggiornamenti alle opzioni SAML 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 di provider SAML
Quando elimini un provider SAML, qualsiasi riferimento a utenti e gruppi associati nelle policy 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 provider SAML utilizzando la console OpenSearch Serverless, scegli Autenticazione, seleziona il provider e scegli Elimina.
Per eliminare un provider tramite l'API OpenSearch Serverless, invia una richiesta: DeleteSecurityConfig
aws opensearchserverless delete-security-config --id saml/
123456789012
/myprovider