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-*" } ] }
Importante

Se un utente ha accesso a un percorso, accederà a tutti i livelli del percorso. Ad esempio, se un utente è autorizzato ad accedere al percorso /a, accederà anche a /a/b. Anche se a un principale è stato esplicitamente negato l'accesso in IAM per i parametri/a/b, può comunque richiamare l'operazione GetParametersByPath API in modo ricorsivo e visualizzarla. /a /a/b

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.

Nota

La chiave default AWS Key Management Service (AWS KMS) è Decrypt autorizzata per tutti i principali IAM all'interno di. Account AWS Se desideri livelli di accesso diversi ai SecureString parametri del tuo account, non ti consigliamo di utilizzare la chiave predefinita.

Se si desidera che tutte le operazioni API recuperino i valori dei parametri al fine di avere lo stesso comportamento, è possibile utilizzare un modello come GetParameter* in una policy. L'esempio seguente mostra come negare GetParameter, GetParameters, GetParameterHistory e GetParametersByPath 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-*" } ] }

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 GetParameterByPath ma è consentito il permesso per GetParameterHistory, possono vedere il parametro corrente, inclusi i parametri SecureString, tramite GetParameterHistory.

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 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" ] } ] }