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à.
Integrazione dei broker ActiveMQ con LDAP
Importante
LDAPl'integrazione non è supportata per i broker RabbitMQ.
Amazon MQ non supporta certificati server emessi da una CA privata.
Puoi accedere ai tuoi broker ActiveMQ utilizzando i seguenti protocolli con enabled: TLS
Amazon MQ offre una scelta tra l'autenticazione nativa di ActiveMQ LDAP e l'autenticazione e l'autorizzazione per gestire le autorizzazioni degli utenti. Per informazioni relative alle limitazioni correlate a nomi utente e password ActiveMQ, consulta Utenti.
Per autorizzare gli utenti e i gruppi ActiveMQ a utilizzare code e argomenti, è necessario modificare la configurazione del broker. Amazon MQ utilizza il plugin di autenticazione sempliceauthorizationEntry
.
Nota
Attualmente, Amazon MQ non supporta l'autenticazione dei certificati client.
Argomenti
Integrazione LDAP con ActiveMQ
Puoi autenticare gli utenti di Amazon MQ tramite le credenziali memorizzate nel tuo server Lightweight Directory Access Protocol (LDAP). È inoltre possibile aggiungere, eliminare e modificare gli utenti Amazon MQ e assegnare autorizzazioni ad argomenti e code attraverso di esso. Le operazioni di gestione come la creazione, l'aggiornamento e l'eliminazione dei broker richiedono ancora IAM credenziali e non sono integrate con. LDAP
I clienti che desiderano semplificare e centralizzare l'autenticazione e l'autorizzazione del broker Amazon MQ utilizzando un LDAP server possono utilizzare questa funzionalità. Conservare tutte le credenziali utente nel LDAP server consente di risparmiare tempo e fatica, fornendo una posizione centrale per l'archiviazione e la gestione di tali credenziali.
Amazon MQ fornisce LDAP supporto tramite il plug-in Apache ActiveMQJAAS. Qualsiasi LDAP server, ad esempio Microsoft Active Directory o OpenLDAP, supportato dal plug-in è supportato anche da Amazon MQ. Per ulteriori informazioni sul plugin, consultare la sezione Sicurezza
Oltre agli utenti, puoi specificare l'accesso agli argomenti e alle code per un gruppo o un utente specifico tramite il tuo LDAP server. A tale scopo, create voci che rappresentano argomenti e code nel LDAP server e quindi assegnate le autorizzazioni a un LDAP utente o a un gruppo specifico. È quindi possibile configurare il broker per recuperare i dati di autorizzazione dal server. LDAP
Prerequisiti
Prima di aggiungere LDAP supporto a un broker Amazon MQ nuovo o esistente, devi configurare un account di servizio. Questo account di servizio è necessario per avviare una connessione a un LDAP server e deve disporre delle autorizzazioni corrette per effettuare questa connessione. Questo account di servizio configurerà LDAP l'autenticazione per il tuo broker. Eventuali connessioni client successive verranno autenticate tramite la stessa connessione.
L'account di servizio è un account nel tuo LDAP server, che ha accesso per avviare una connessione. È un LDAP requisito standard e devi fornire le credenziali dell'account di servizio una sola volta. Dopo la configurazione della connessione, tutte le future connessioni client vengono autenticate tramite il LDAP server. Le credenziali dell'account di servizio sono memorizzate in modo sicuro in un formato crittografato, accessibile solo ad Amazon MQ.
Per l'integrazione con ActiveMQ, è necessario uno specifico Directory Information Tree DIT () sul server. LDAP Per un ldif
file di esempio che mostra chiaramente questa struttura, vedere Importare il seguente LDIF file nel LDAP server nella sezione Sicurezza
Guida introduttiva con LDAP
Per iniziare, accedi alla console Amazon MQ e scegli LDAPl'autenticazione e l'autorizzazione quando crei un nuovo Amazon MQ o modifichi un'istanza broker esistente.
Fornire le informazioni seguenti sull'account di servizio:
-
Nome di dominio completo La posizione del LDAP server a cui devono essere inviate le richieste di autenticazione e autorizzazione.
Nota
Il nome di dominio completo del LDAP server fornito non deve includere il protocollo o il numero di porta. Amazon MQ antepone il nome di dominio completo con il protocollo
ldaps
, a cui aggiungerà il numero di porta636
.Ad esempio, se fornisci il seguente dominio completamente qualificato:
example.com
, Amazon MQ accederà al tuo LDAP server utilizzando quanto segueURL:ldaps://example.com:636
.Affinché il broker host sia in grado di comunicare correttamente con il LDAP server, il nome di dominio completo deve essere risolvibile pubblicamente. Per mantenere il LDAP server privato e sicuro, limita il traffico in entrata nelle regole in entrata del server in modo da consentire solo il traffico proveniente dall'interno del broker. VPC
-
Nome utente dell'account di servizio Il nome distinto dell'utente che verrà utilizzato per eseguire l'associazione iniziale al server. LDAP
-
Service account password (Password dell'account del servizio) La password dell'utente che esegue l'associazione iniziale.
L'immagine seguente evidenzia dove fornire questi dettagli.
Nella sezione di configurazione dell'LDAPaccesso, fornisci le seguenti informazioni richieste:
-
Base utenti Il nome distinto del nodo nell'albero delle informazioni sulla directory (DIT) in cui verranno cercati gli utenti.
-
User Search Matching Il filtro di LDAP ricerca che verrà utilizzato per trovare gli utenti all'interno di
userBase
. Il nome utente del client viene sostituito nel placeholder{0}
nel filtro di ricerca. Per ulteriori informazioni, consulta Autenticazione e Autorizzazione. -
Role Base Il nome distinto del nodo in DIT cui verranno cercati i ruoli. I ruoli possono essere configurati come voci di LDAP gruppo esplicite nella directory. Una voce di ruolo tipica può essere costituita da un attributo per il nome del ruolo, ad esempio nome comune (NC) e un altro attributo, come
member
, con valori che rappresentano i nomi distinti o i nomi utente degli utenti appartenenti al gruppo di ruoli. Ad esempio, data l'unità organizzativa,group
, è possibile fornire il nome distinto seguenteou=group,dc=example,dc=com
. -
Role Search Matching Il filtro di LDAP ricerca che verrà utilizzato per trovare i ruoli all'
roleBase
interno di. Il nome distinto dell'utente abbinato dauserSearchMatching
sarà sostituito nel placeholder{0}
nel filtro di ricerca. Il nome utente del cliente verrà sostituito al posto del placeholder{1}
. Ad esempio, se le voci di ruolo nella directory includono un attributo denominatomember
, contenente i nomi utente per tutti gli utenti in tale ruolo, è possibile fornire il seguente filtro di ricerca:(member:=uid={1})
.
L'immagine seguente evidenzia dove specificare questi dettagli.
Nella sezione Optional settings (Impostazioni opzionali), è possibile fornire le informazioni facoltative seguenti:
-
Nome del ruolo utente Il nome dell'LDAPattributo nella voce della directory dell'utente per l'appartenenza al gruppo dell'utente. In alcuni casi, i ruoli utente possono essere identificati dal valore di un attributo nella voce di directory dell'utente. L'opzione
userRoleName
consente di fornire il nome di questo attributo. Ad esempio, consideriamo la seguente voce utente:dn: uid=jdoe,ou=user,dc=example,dc=com objectClass: user uid: jdoe sn: jane cn: Jane Doe mail: j.doe@somecompany.com memberOf: role1 userPassword: password
Per fornire il corretto
userRoleName
per l'esempio precedente, è necessario specificare l'attributomemberOf
. Se l'autenticazione viene completata correttamente, l'utente viene assegnato al ruolorole1
. -
Role Name (Nome del ruolo) Attributo del nome del gruppo in una voce del ruolo il cui valore è il nome di tale ruolo. Ad esempio, è possibile specificare
cn
per il nome comune di una voce del gruppo. Se l'autenticazione ha esito positivo, all'utente viene assegnato il valore dell'attributocn
per ogni voce di ruolo di cui è membro. -
Sottoalbero di ricerca utente Definisce l'ambito della query di ricerca LDAP dell'utente. Se true, l'ambito è impostato per cercare l'intera sottostruttura sotto il nodo definito da
userBase
. -
Role Search Subtree Definisce l'ambito della query di ricerca del LDAP ruolo. Se true, l'ambito è impostato per cercare l'intera sottostruttura sotto il nodo definito da
roleBase
.
L'immagine seguente evidenzia dove specificare queste impostazioni opzionali.
Come funziona LDAP l'integrazione
Si può pensare all'integrazione in due categorie principali: la struttura per l'autenticazione e la struttura per l'autorizzazione.
Autenticazione
Per l'autenticazione, le credenziali client devono essere valide. Queste credenziali vengono convalidate rispetto agli utenti della base utenti del LDAP server.
La base utenti fornita al broker ActiveMQ deve puntare al nodo in cui DIT gli utenti sono archiviati nel server. LDAP Ad esempio, se utilizzi AWS Managed Microsoft AD e disponi dei componenti del dominio e corp
example
, all'interno di questicom
, disponi di unità corp
organizzativeUsers
, utilizzerai quanto segue come base di utenti:
OU=Users,OU=corp,DC=corp,DC=example,DC=com
Il broker ActiveMQ cercherà gli utenti in questa posizione per autenticare DIT le richieste di connessione dei client al broker.
Poiché il codice sorgente ActiveMQ codifica hardcode il nome dell'attributo per gli utenti in uid
, è necessario assicurarsi che ogni utente abbia questo attributo impostato. Per semplicità, è possibile utilizzare il nome utente della connessione. Per ulteriori informazioni, consultare il codice sorgente activemq
Per abilitare l'accesso alla console ActiveMQ per utenti specifici, assicurarsi che appartengano al gruppo amazonmq-console-admins
.
Autorizzazione
Per l'autorizzazione, le basi di ricerca delle autorizzazioni sono specificate nella configurazione del broker. L'autorizzazione viene eseguita in base alla destinazione (o carattere jolly, set di destinazione) tramite l'elemento cachedLdapAuthorizationMap
, che si trova nel file di configurazione activemq.xml
. Per ulteriori informazioni, vedere LDAPCached
Nota
Per poter utilizzare l'cachedLDAPAuthorizationMap
elemento nel file di activemq.xml
configurazione del tuo broker, devi scegliere l'opzione LDAPAutenticazione e autorizzazione quando crei una configurazione tramite o impostare la authenticationStrategy
proprietà su LDAP
quando crei una nuova configurazione utilizzando Amazon MQAPI. AWS Management Console
Occorre fornire i seguenti tre attributi come parte dell'elemento cachedLDAPAuthorizationMap
:
-
queueSearchBase
-
topicSearchBase
-
tempSearchBase
Importante
Per evitare che le informazioni sensibili vengano inserite direttamente nel file di configurazione del broker, Amazon MQ blocca l'utilizzo dei seguenti attributi in cachedLdapAuthorizationMap
:
-
connectionURL
-
connectionUsername
-
connectionPassword
Quando crei un broker, Amazon MQ sostituisce i valori forniti tramite o nella ldapServerMetadata
proprietà della API richiesta con gli attributi di cui sopra. AWS Management Console
Di seguito è mostrato un esempio funzionante di cachedLdapAuthorizationMap
.
<authorizationPlugin> <map> <cachedLDAPAuthorizationMap queueSearchBase="ou=Queue,ou=Destination,ou=corp,dc=corp,dc=example,dc=com" topicSearchBase="ou=Topic,ou=Destination,ou=corp,dc=corp,dc=example,dc=com" tempSearchBase="ou=Temp,ou=Destination,ou=corp,dc=corp,dc=example,dc=com" refreshInterval="300000" legacyGroupMapping="false" /> </map> </authorizationPlugin>
Questi valori identificano le posizioni all'interno delle DIT quali sono specificate le autorizzazioni per ogni tipo di destinazione. Quindi, per l'esempio precedente con AWS Managed Microsoft AD, utilizzando gli stessi componenti di dominio di corp
example
, ecom
, dovresti specificare un'unità organizzativa denominata destination
per contenere tutti i tipi di destinazione. All'interno di quell'unità organizzativa, occorre crearne uno per le destinazioni queues
, uno per topics
e uno per temp
.
Ciò significherebbe che la base di ricerca delle code, che fornisce informazioni di autorizzazione per destinazioni di tipo queue, avrebbe la seguente posizione all'interno dell'utente: DIT
OU=Queue,OU=Destination,OU=corp,DC=corp,DC=example,DC=com
Analogamente, le regole di autorizzazione per gli argomenti e le destinazioni temporanee si troverebbero allo stesso livello in: DIT
OU=Topic,OU=Destination,OU=corp,DC=corp,DC=example,DC=com OU=Temp,OU=Destination,OU=corp,DC=corp,DC=example,DC=com
All'interno dell'unità organizzativa per ogni tipo di destinazione (coda, argomento, temp), è possibile specificare un carattere jolly o un nome di destinazione specifico. Ad esempio, per fornire una regola di autorizzazione per tutte le code che iniziano con il prefisso. DEMO EVENTS.$., è possibile creare la seguente unità organizzativa:
OU=DEMO.EVENTS.$,OU=Queue,OU=Destination,OU=corp,DC=corp,DC=example,DC=com
Nota
L'unità organizzativa DEMO.EVENTS.$
è all'interno dell'unità organizzativa Queue
.
Per altre informazioni sui caratteri jolly in ActiveMQ, fare riferimento ai Caratteri jolly
Per fornire regole di autorizzazione per code specifiche, ad esempio. DEMO MYQUEUE, specifica qualcosa di simile al seguente:
OU=DEMO.MYQUEUE,OU=Queue,OU=Destination,OU=corp,DC=corp,DC=example,DC=com
Gruppi di sicurezza
All'interno di ogni unità organizzativa che rappresenta una destinazione o un carattere jolly, è necessario creare tre gruppi di sicurezza. Come per tutte le autorizzazioni in ActiveMQ, si tratta di autorizzazioni di lettura/scrittura/amministratore. Per ulteriori informazioni sulle operazioni di ciascuna utente, consultare Sicurezza
È necessario assegnare un nome a questi gruppi di sicurezza read
, write
e admin
. All'interno di ciascuno di questi gruppi di sicurezza è possibile aggiungere utenti o gruppi, che avranno quindi l'autorizzazione per eseguire le azioni associate. Questi gruppi di sicurezza sono necessari per ogni set di destinazione jolly o singola destinazione.
Nota
Quando si crea il gruppo di amministrazione, si verificherà un conflitto con il nome del gruppo. Questo conflitto si verifica perché le regole precedenti a Windows 2000 non consentivano ai gruppi di condividere lo stesso nome, anche se i gruppi si trovano in posizioni diverse delDIT. Il valore nella casella di testo Pre-Windows 2000 non ha alcun impatto sulla configurazione, ma deve essere univoco a livello globale. Per evitare questo conflitto, è possibile aggiungere un suffisso uuid
a ciascun gruppo admin
.
L'aggiunta di un utente al gruppo di sicurezza admin
per una determinata destinazione consentirà all'utente di creare ed eliminare tale argomento. Aggiungendoli al gruppo di sicurezza read
consentirà loro di leggere dalla destinazione mentre aggiungerli al gruppo di sicurezza write
consentirà loro di scrivere nella destinazione.
Oltre ad aggiungere singoli utenti alle autorizzazioni dei gruppi di sicurezza, è anche possibile aggiungere interi gruppi. Tuttavia, poiché ActiveMQ di nuovo specifica a livello di codice i nomi degli attributi per i gruppi, è necessario assicurarsi che il gruppo che si desidera aggiungere abbia la classe dell'oggetto groupOfNames
, come mostrato nel codice sorgente activemq
Per fare ciò, seguire lo stesso processo di uid
per gli utenti. Consultare Configurazione delle mappature dell'ID in utenti Active Directory e computer per Windows Server 2016 (e versioni successive)