View a markdown version of this page

Configurazione Parameter Store - AWS Systems Manager

• La AWS Systems Manager CloudWatch dashboard non sarà più disponibile dopo il 30 aprile 2026. I clienti possono continuare a utilizzare la CloudWatch console Amazon per visualizzare, creare e gestire le proprie CloudWatch dashboard Amazon, proprio come fanno oggi. Per ulteriori informazioni, consulta la documentazione di Amazon CloudWatch Dashboard.

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à.

Configurazione Parameter Store

Prima di impostare i parametri inParameter Store, configura le policy AWS Identity and Access Management (IAM) che forniscono ai titolari del tuo account il permesso di eseguire le azioni specificate.

In questa sezione, imparerai come configurare manualmente queste policy utilizzando la console IAM e come assegnarle a utenti e gruppi di utenti. È inoltre possibile creare e assegnare policy per controllare quali operazioni di parametro vengono eseguite su un nodo gestito.

Questa sezione spiega anche come creare EventBridge regole Amazon che consentano di ricevere notifiche sulle modifiche ai parametri di Systems Manager. Puoi utilizzare EventBridge le regole per richiamare altre azioni in AWS base alle modifiche apportate. Parameter Store

Gestire l'accesso a Parameter Store parametri che utilizzano le politiche IAM

Il responsabile IAM che accede ai AWS Systems Manager parametri deve disporre dell'autorizzazione per eseguire le azioni SSM richieste. Il principale può essere un utente IAM, un ruolo IAM, un profilo di istanza Amazon EC2, un ruolo di esecuzione Lambda, un ruolo di attività Amazon ECS, un ruolo di servizio o un CodeBuild altro ruolo di servizio. AWS

La tabella seguente descrive le autorizzazioni IAM richieste per diverse azioni. Parameter Store

Azione Privilegi IAM richiesti Informazioni di riferimento
Creare o aggiornare un parametro ssm:PutParameter PutParameter
Recupera un parametro ssm:GetParameter GetParameter
Recupera più parametri denominati ssm:GetParameters GetParameters
Recupera i parametri in un percorso ssm:GetParametersByPath GetParametersByPath
Visualizza i metadati dei parametri ssm:DescribeParameters DescribeParameters
Visualizza la cronologia delle versioni dei parametri ssm:GetParameterHistory GetParameterHistory
Eliminare un parametro ssm:DeleteParameter DeleteParameter
Eliminare più parametri ssm:DeleteParameters DeleteParameters

Quando si utilizzano politiche IAM per concedere l'accesso ai parametri di Systems Manager, si consiglia di creare e utilizzare politiche IAM restrittive. Ad esempio, la seguente politica consente a un responsabile di chiamare le operazioni GetParameters API DescribeParameters e per un set limitato di risorse. Il principale può ottenere informazioni e utilizzare tutti i parametri che iniziano conprod-*.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:DescribeParameters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:GetParameters" ], "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/prod-*" } ] }
Nota

La politica precedente consente ssm:GetParameters ma non le altre azioni di recupero. Parameter Storeautorizza ogni operazione di recupero in base alla propria azione IAM, quindi consentire o negare un'azione non influisce sulle altre. Prima di affidarti a una policy per limitare i parametri che un responsabile può leggere, vedere e. In che modo Parameter Store autorizza il recupero dei parametri Limitazione dell'accesso a parametri e percorsi specifici

Importante

Parameter Storeautorizza l'GetParametersByPathoperazione in base al percorso specificato nella richiesta, non in base a ciascun parametro restituito dall'operazione. Un principale a cui è consentito richiamare GetParametersByPath il percorso /a riceve tutti i parametri inclusi in quel percorso, inclusi/a/b. Ciò è vero anche se la stessa politica nega esplicitamente l'accesso /a/b ad altre azioni.

Per impedire la restituzione di un parametroGetParametersByPath, negate l'ssm:GetParametersByPathazione su ogni percorso predecessore che potrebbe includere il parametro nei risultati. Ad esempio, per /a/b evitare che venga restituito, nega sia ssm:GetParametersByPath per che. /a /

Agli amministratori fidati è possibile concedere l'accesso a tutte le operazioni API relative ai parametri di Systems Manager mediante una policy simile a quella riportata nell'esempio seguente. Questa policy concede all'utente l'accesso completo a tutti i parametri di produzione che iniziano con dbserver-prod-*.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:PutParameter", "ssm:DeleteParameter", "ssm:GetParameterHistory", "ssm:GetParametersByPath", "ssm:GetParameters", "ssm:GetParameter", "ssm:DeleteParameters" ], "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/dbserver-prod-*" }, { "Effect": "Allow", "Action": "ssm:DescribeParameters", "Resource": "*" } ] }

Negare le autorizzazioni

Ogni API è univoca e dispone di operazioni e autorizzazioni distinte che può consentire o negare singolarmente. Un rifiuto esplicito in una policy sostituisce il permesso.

Importante

Poiché ogni operazione è autorizzata in base alla propria azione IAM, il rifiuto di una singola azione non impedisce a un principale di recuperare lo stesso parametro tramite un'altra operazione. Ad esempio, la negazione ssm:GetParameter da sola non ha alcun effetto sussm:GetParameters,, o. ssm:GetParameterHistory ssm:GetParametersByPath Nega sempre ogni azione che può restituire il valore. Per una descrizione completa di questo comportamento, consultaIn che modo Parameter Store autorizza il recupero dei parametri.

Nota

La chiave default AWS Key Management Service (AWS KMS) è Decrypt autorizzata per tutti i principali IAM all' Account AWS interno di. Se desideri livelli di accesso diversi ai SecureString parametri del tuo account, non ti consigliamo di utilizzare la chiave predefinita. La limitazione dell'kms:Decryptuso di una chiave gestita dal cliente impedisce la decrittografia di un SecureString valore tramite qualsiasi operazione di recupero. Per ulteriori informazioni, consulta Limitazione della decrittografia dei valori dei parametri SecureString.

Tutti e quattro i nomi delle azioni di recupero iniziano conGetParameter, quindi la singola voce include,, e. ssm:GetParameter* ssm:GetParameter ssm:GetParameters ssm:GetParameterHistory ssm:GetParametersByPath L'esempio seguente utilizza questo modello per negare tutte e quattro le azioni per tutti i parametri che iniziano con. prod-*

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ssm:GetParameter*" ], "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/prod-*" } ] }
Nota

Nell'esempio precedente, il deny on ssm:GetParametersByPath si applica solo alle chiamate che richiedono una corrispondenza del percorso. prod-* Non impedisce la restituzione di un prod-* parametro da una chiamata che richiede un percorso predecessore. Per colmare questa lacuna, ssm:GetParametersByPath nega anche i percorsi antenati. Per ulteriori informazioni, consulta Limitazione dell'accesso a parametri e percorsi specifici.

Nell'esempio seguente viene illustrato come negare alcuni comandi consentendo all'utente di eseguire altri comandi su tutti i parametri che iniziano con prod-*.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ssm:PutParameter", "ssm:DeleteParameter", "ssm:DeleteParameters", "ssm:DescribeParameters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:GetParametersByPath", "ssm:GetParameters", "ssm:GetParameter", "ssm:GetParameterHistory" ], "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/prod-*" } ] }
Nota

La cronologia dei parametri include tutte le versioni dei parametri, inclusa quella attuale. Pertanto, se a un utente viene negata l'autorizzazione per GetParameter, GetParameters, e GetParametersByPath ma è consentito il permesso per GetParameterHistory, possono vedere il parametro corrente, inclusi i parametri SecureString, tramite GetParameterHistory.

Lo stesso comportamento si applica all'eliminazione. ssm:DeleteParametersè autorizzato indipendentemente dassm:DeleteParameter, quindi la sola negazione ssm:DeleteParameter non impedisce al principale di eliminare il parametro con l'operazione. DeleteParameters Negate entrambe le azioni o utilizzate lo schema. ssm:DeleteParameter*

Crittografia e decrittografia dei parametri utilizzando AWS KMS keys

Parameter StoreSecureStringi parametri utilizzano AWS KMS chiavi per la crittografia. AWS KMS crittografa il valore utilizzando una chiave gestita dal cliente Chiave gestita da AWS o una chiave gestita dal cliente. Per ulteriori informazioni su AWS KMS e AWS KMS key, consulta la Guida per gli AWS Key Management Service sviluppatori.

Tutti gli utenti all'interno dell'account cliente hanno accesso alla chiave AWS gestita predefinita. Puoi individuare l'Amazon Resource Name (ARN) della chiave predefinita nella AWS KMS console nella pagina delle chiavi AWS gestite. La chiave predefinita è identificata aws/ssm nella colonna Alias. È possibile utilizzare la chiave predefinita per crittografare SecureString i parametri impedendo agli utenti di utilizzare i SecureString parametri. In questo caso, le policy IAM devono negare esplicitamente l'accesso alla chiave predefinita, come dimostrato nel seguente esempio di policy.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:us-east-1:111122223333:key/abcd1234-ab12-cd34-ef56-abcdeEXAMPLE" ] } ] }

Quando si utilizza una chiave gestita dal cliente, la policy IAM che concede l'accesso principale a un parametro o a un percorso di parametro deve fornire kms:Encrypt autorizzazioni esplicite per la chiave. Ad esempio, la seguente politica consente a un responsabile di creare, aggiornare e visualizzare SecureString i parametri che iniziano con e prod- specificato. Regione AWS Account AWS

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:PutParameter", "ssm:GetParameter", "ssm:GetParameters" ], "Resource": [ "arn:aws:ssm:us-east-1:111122223333:parameter/prod-*" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE" ] } ] }
Nota

L'autorizzazione kms:GenerateDataKey è necessaria per creare parametri avanzati crittografati utilizzando la chiave gestita dal cliente specificata.

Se hai bisogno di un controllo di accesso dettagliato sui SecureString parametri del tuo account, utilizza una chiave gestita dal cliente per proteggere e limitare l'accesso a questi parametri. Ti consigliamo inoltre di utilizzarla AWS CloudTrail per monitorare le attività relative ai parametriSecureString.

Per ulteriori informazioni, consulta i seguenti argomenti:

Consentire ai nodi gestiti di accedere a parametri specifici

Per controllare quali Parameter Store parametri può recuperare un nodo gestito, puoi allegare una policy IAM al ruolo dell'istanza. Se si sceglie il tipo di SecureString parametro al momento della creazione del parametro, Systems Manager lo utilizza AWS KMS per crittografare il valore del parametro. È possibile visualizzarlo Chiave gestita da AWS eseguendo il seguente comando da. AWS CLI

aws kms describe-key --key-id alias/aws/ssm

L'esempio seguente consente ai nodi di ottenere un valore di parametro solo per i parametri che iniziano con prod-. Se il parametro è un parametro SecureString, il nodo decrittografa la stringa utilizzando AWS KMS.

Nota

Le policy dell'istanza, come nell'esempio seguente, sono assegnate al ruolo dell'istanza in IAM. Per ulteriori informazioni sulla configurazione dell'accesso alle funzionalità di Systems Manager, tra le quali come assegnare policy a utenti e istanze, consulta Gestire le istanze EC2 con Systems Manager.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetParameters" ], "Resource": [ "arn:aws:ssm:us-east-1:111122223333:parameter/prod-*" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:us-east-1:111122223333:key/4914ec06-e888-4ea5-a371-5b88eEXAMPLE" ] } ] }