Utilizzo dei parametri condivisi nel Parameter Store - AWS Systems Manager

Utilizzo dei parametri condivisi nel Parameter Store

La condivisione di parametri avanzati semplifica la gestione dei dati di configurazione in un ambiente con più account. È possibile archiviare e gestire centralmente i parametri e condividerli con altri Account AWS che devono farvi riferimento.

Parameter Store si integra con AWS Resource Access Manager (AWS RAM) per abilitare la condivisione avanzata dei parametri. AWS RAM è un servizio che consente di condividere risorse con altri Account AWS o tramite AWS Organizations.

Con AWS RAM, condividi le risorse di cui sei proprietario creando una condivisione delle risorse. Una condivisione delle risorse specifica le risorse da condividere, i permessi da concedere e gli utenti con cui poter condividere. I consumatori includono:

  • Account AWS specifici all'interno o all'esterno dell'organizzazione in AWS Organizations

  • Un'unità organizzativa all'interno dell'organizzazione in AWS Organizations

  • L'intera organizzazione in AWS Organizations

Per ulteriori informazioni su AWS RAM, consulta la Guida per l'utente diAWS RAM.

Questo argomento spiega come condividere i propri parametri e come utilizzare i parametri condivisi.

Prerequisiti per la condivisione dei parametri

È necessario soddisfare i seguenti prerequisiti prima di condividere i parametri dal proprio account:

  • Per condividere un parametro, devi esserne proprietario nell'Account AWS. Non è possibile condividere un parametro che è stato condiviso con te.

  • Per condividere un parametro, è necessario che si trovi in un livello avanzato. Per informazioni sui livelli dei parametri, consulta Gestione dei livelli dei parametri. Per informazioni sulla modifica di un parametro standard esistente in un parametro avanzato, consulta Modifica di un parametro standard in un parametro avanzato.

  • Per condividere un parametro SecureString, è necessario crittografarlo con una chiave gestita dal cliente e condividere la chiave separatamente tramite AWS Key Management Service. Le Chiavi gestite da AWS non sono condivisibili. I parametri crittografati con la Chiave gestita da AWS predefinita vengono aggiornati per utilizzare, invece, una chiave gestita dal cliente. Per le definizioni della chiave AWS KMS, consulta i concetti AWS KMS nella Guida per gli sviluppatori di AWS Key Management Service.

  • Per condividere un parametro con l'organizzazione o unità organizzativa in AWS Organizations, è necessario abilitare la condivisione con AWS Organizations. Per ulteriori informazioni, consulta Abilita la condivisione con AWS Organizations nella Guida per l'utente di AWS RAM.

Condivisione di un parametro

Per condividere un parametro, è necessario aggiungerlo a una condivisione di risorse. Una condivisione di risorse è una risorsa AWS RAM che consente di condividere le risorse tra Account AWS. Una condivisione di risorse specifica le risorse da condividere e i consumatori con cui sono condivise.

Quando si condivide un proprio parametro con altri Account AWS, è possibile scegliere tra due autorizzazioni gestite da AWS concedere ai consumatori. Per ulteriori informazioni, consulta Set di autorizzazioni per la condivisione dei parametri.

Se fai parte di un'organizzazione in AWS Organizations in cui è consentita la condivisione, è possibile concedere agli utenti dell'organizzazione l'accesso al parametro condiviso dalla console AWS RAM. In caso contrario, i consumatori ricevono l'invito a partecipare alla condivisione di risorse e, dopo averlo accettato, ottengono l'accesso al parametro condiviso.

È possibile condividere un parametro tramite la console AWS RAM, o tramite AWS CLI.

Nota

Sebbene sia possibile condividere un parametro utilizzando l'operazione dell'API Systems Manager PutresourcePolicy, consigliamo invece di utilizzare AWS Resource Access Manager (AWS RAM) instead. Questo perché l'utilizzo di PutResourcePolicy richiede il passaggio aggiuntivo di promozione del parametro a una condivisione di risorse standard utilizzando AWS RAM PromoteResourceShareCreatedFromPolicy, operazione API . In caso contrario, il parametro non verrà restituito dall'operazione API del Systems Manager DescribeParameters utilizzando l'opzione --shared.

Per condividere un parametro tramite la console AWS RAM

Consulta Creazione di una condivisione di risorse su AWS RAM nella Guida per l'utente di AWS RAM.

Effettua le seguenti selezioni quando completi la procedura:

  • Nella pagina sulla Fase 1, per le Risorse, vai su Parameter Store Advanced Parameter, quindi seleziona la casella di ogni parametro nel livello dei parametri avanzati che desideri condividere.

  • Nella pagina sulla Fase 2, per le Autorizzazioni gestite, scegli l'autorizzazione da concedere ai consumatori, come descritto più avanti in Set di autorizzazioni per la condivisione dei parametri.

Scegli altre opzioni in base agli obiettivi di condivisione dei parametri.

Per condividere un parametro utilizzando AWS CLI

Utilizza il comando create-resource-share per aggiungere parametri a una nuova condivisione di risorse.

Utilizza il comando associate-resource-share per aggiungere parametri a una condivisione di risorse esistente.

L'esempio seguente crea una nuova condivisione di risorse per condividere i parametri con i consumatori di un'organizzazione e di un account individuale.

aws ram create-resource-share \ --name "MyParameter" \ --resource-arns "arn:aws:ssm:us-east-2:123456789012:parameter/MyParameter" \ --principals "arn:aws:organizations::123456789012:ou/o-63bEXAMPLE/ou-46xi-rEXAMPLE" "987654321098"

Interrompere la condivisione di un parametro

Quando interrompi la condivisione di un parametro condiviso, l'account utente non sarà più in grado di accedere al parametro.

Per interrompere la condivisione di un parametro è necessario rimuoverlo dalla condivisione di risorse. È possibile effettuare tale operazione mediante la console Systems Manager, AWS RAM o tramite AWS CLI.

Per interrompere la condivisione di un parametro tramite la console AWS RAM

Consulta Aggiornamento di una condivisione di risorse su AWS RAM nella Guida per l'utente di AWS RAM.

Per interrompere la condivisione di un parametro utilizzando AWS CLI

Utilizza il comando disassociate-resource-share.

Identificare i parametri condivisi

Proprietari e consumatori identificano i parametri condivisi tramite AWS CLI.

Per identificare i parametri condivisi utilizzando AWS CLI

Per identificare i parametri condivisi utilizzando AWS CLI, è possibile scegliere tra il comando Systems Manager describe-parameters e il comando AWS RAM list-resources.

Quando si utilizza l'opzione --shared con describe-parameters, il comando restituisce i parametri condivisi.

Di seguito è riportato un esempio:

aws ssm describe-parameters --shared

Accesso ai parametri condivisi

I consumatori accedono ai parametri condivisi utilizzando gli strumenti della riga di comando AWS e gli SDK AWS. Per quanto riguarda l'account utente, i parametri condivisi non sono inclusi nella pagina I miei parametri.

Esempio CLI: accesso ai dettagli dei parametri condivisi utilizzando AWS CLI

Per accedere ai dettagli dei parametri condivisi utilizzando AWS CLI, è possibile utilizzare i comandi get-parameter o get-parameters. È necessario specificare il parametro ARN completo, come il --name, per recuperare il parametro da un altro account.

Di seguito è riportato un esempio.

aws ssm get-parameter \ --name arn:aws:ssm:us-east-2:123456789012:parameter/MySharedParameter
Integrazioni supportate e non supportate per parametri condivisi

Attualmente, è possibile utilizzare i parametri condivisi nei seguenti scenari di integrazione:

Attualmente, gli scenari e i servizi integrati indicati di seguito non supportano l'uso di parametri condivisi:

Set di autorizzazioni per la condivisione dei parametri

Gli account utente ricevono l'accesso in sola lettura ai parametri condivisi con loro. L'utente non ha la possibilità di aggiornare o eliminare il parametro. L'utente non ha la possibilità di condividere il parametro con un terzo account.

Quando crei una condivisione di risorse AWS Resource Access Manager per condividere i parametri, è possibile scegliere tra due set di autorizzazioni gestite da AWS per concedere questo accesso in sola lettura:

AWSRAMDefaultPermissionSSMParameterReadOnly

Operazioni consentite: DescribeParameters, GetParameter, GetParameters

AWSRAMPermissionSSMParameterReadOnlyWithHistory

Operazioni consentite: DescribeParameters, GetParameter, GetParameters, GetParameterHistory

Quando segui i passaggi descritti in Creazione di una condivisione di risorse su AWS RAM nella Guida all'utente AWS RAM , scegli Parameter Store Advanced Parameters come tipo di risorsa e una di queste autorizzazioni gestite, a seconda che desideri che gli utenti visualizzino o meno la cronologia dei parametri.

Nota

Se stai recuperando parametri condivisi a livello di codice (ad esempio utilizzando AWS Lambda), potrebbe essere necessario aggiungere ssm:GetResourcePolicies e le autorizzazioni ssm:PutResourcePolicy a tutti i ruoli IAM che richiamano operazioni AWS Resource Access Manager API.

Throughput massimo per i parametri condivisi

Systems Manager limita il throughput massimo (transazioni al secondo) per GetParameter e le operazioni GetParameters. Il throughput viene applicato a livello di account individuale. Pertanto, ogni account che utilizza un parametro condiviso utilizza il throughput massimo consentito senza essere influenzato da altri account. Per ulteriori informazioni sul throughput massimo per i parametri, consulta i seguenti argomenti:

Prezzi per i parametri condivisi

La condivisione tra account è disponibile solo nel livello dei parametri avanzati. Per i parametri avanzati, vengono addebitati i costi al prezzo corrente per l'archiviazione e l'utilizzo dell'API per ciascun parametro avanzato. Lo storage del parametro avanzato è a carico del proprio account. A qualsiasi account utente che effettua una chiamata API a un parametro avanzato condiviso viene addebitato l'utilizzo del parametro.

Ad esempio, se l'account A crea un parametro avanzato, MyAdvancedParameter, a tale account vengono addebitati 0,05 USD al mese per archiviare il parametro.

L'account A condivide poi MyAdvancedParameter con l'account B e l'account C. Durante un mese, i tre account effettuano chiamate verso MyAdvancedParameter. La tabella seguente illustra i costi a cui sarebbero soggetti in base al numero di chiamate effettuate da ciascuno di essi.

Nota

I costi nella tabella seguente sono solo per scopi illustrativi. Per verificare i prezzi correnti, consulta la sezione Prezzi AWS Systems Manager per il Parameter Store.

Account Numero di chiamate Costi
Account A (account proprietario) 10.000 chiamate
  • Archiviazione dei parametri avanzati per un mese: 0,05 USD

  • 10.000 chiamate verso MyAdvancedParameter: 0,05 USD

  • Totale: 0,10 USD

Conto B (account utente) 20.000 chiamate
  • 20.000 chiamate verso MyAdvancedParameter: 0,10 USD

  • Totale: 0,10 USD

Conto C (account utente) 30.000 chiamate
  • 30.000 chiamate verso MyAdvancedParameter: 0,15 USD

  • Totale: 0,15 USD

Accesso multi-account per Account AWS chiusi

Quando l'Account AWS che possiede un parametro condiviso viene chiuso, tutti gli account utente perdono l'accesso al parametro condiviso. Quando l'account proprietario viene riaperto entro 90 giorni dalla chiusura dell'account, gli account utente riacquistano l'accesso ai parametri precedentemente condivisi. Per ulteriori informazioni sulla riapertura di un conto durante il periodo successivo alla chiusura, consulta Come accedere all'Account AWS dopo averlo chiuso nella Guida di riferimento Gestione dell'account AWS.