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à.
Limitazione dell'accesso a Parameter Store parametri che utilizzano le politiche IAM
È possibile limitare l'accesso ai AWS Systems Manager parametri utilizzando AWS Identity and Access Management (IAM). Più precisamente, puoi creare IAM policy che limitano l'accesso alle seguenti API operazioni:
Quando si utilizzano IAM policy per limitare l'accesso ai parametri di Systems Manager, si consiglia di creare e utilizzare IAM Policy restrittive. Ad esempio, la seguente politica consente a un utente di richiamare GetParameters
API le operazioni DescribeParameters
and per un set limitato di risorse. Ciò significa che l'utente può ottenere informazioni e utilizzare tutti i parametri che iniziano con prod-*
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:DescribeParameters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:GetParameters" ], "Resource": "arn:aws:ssm:us-east-2:123456789012:parameter/prod-*" } ] }
Importante
Se un utente ha accesso a un percorso, potrà accedere a tutti i livelli del percorso. Ad esempio, se un utente è autorizzato ad accedere al percorso /a
, potrà accedere anche ad /a/b
. Anche se a un utente è stato esplicitamente negato l'accesso al parametro IAM for/a/b
, può comunque richiamare l'GetParametersByPath
APIoperazione in modo ricorsivo e visualizzare. /a
/a/b
Agli amministratori fidati è possibile concedere l'accesso a tutte le API operazioni 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-*
.
{ "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-2:123456789012:parameter/dbserver-prod-*" }, { "Effect": "Allow", "Action": "ssm:DescribeParameters", "Resource": "*" } ] }
Negare le autorizzazioni
Ciascuna 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) dispone dell'Decrypt
autorizzazione per tutti IAM i principali all'interno di. Account AWS Se desideri avere livelli di accesso diversi ai parametri SecureString
nel tuo account, non è consigliabile utilizzare la chiave di default.
Se si desidera che tutte API le operazioni 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-*
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ssm:GetParameter*" ], "Resource": "arn:aws:ssm:us-east-2:123456789012: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-*
.
{ "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-2:123456789012:parameter/prod-*" } ] }
Nota
La cronologia dei parametri include tutte le versioni dei parametri, inclusa quella corrente. 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
.
Consentire l'esecuzione solo di parametri specifici sui nodi
È possibile controllare l'accesso in modo che i nodi gestiti possano eseguire solo i parametri specificati.
Se scegli il tipo di SecureString
parametro al momento della creazione di un parametro, Systems Manager utilizza AWS KMS per criptare il valore del parametro. AWS KMS crittografa il valore utilizzando una chiave 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.
Puoi visualizzare le Chiave gestita da AWS utilizzando il comando seguente 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 inIAM. Per ulteriori informazioni sulla configurazione dell'accesso alle funzioni di Systems Manager, tra le quali come assegnare policy a utenti e istanze, consulta Gestione delle EC2 istanze con Systems Manager.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetParameters" ], "Resource": [ "arn:aws:ssm:us-east-2:123456789012:parameter/prod-*" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:us-east-2:123456789012:key/4914ec06-e888-4ea5-a371-5b88eEXAMPLE" ] } ] }
IAMautorizzazioni per l'utilizzo di chiavi AWS predefinite e chiavi gestite dal cliente
Parameter Store SecureString
i parametri vengono crittografati e decrittografati utilizzando AWS KMS le chiavi. È possibile scegliere di crittografare i SecureString
parametri utilizzando una chiave AWS KMS key o la KMS chiave predefinita fornita da. AWS
Quando si utilizza una chiave gestita dal cliente, la IAM politica che concede a un utente l'accesso a un parametro o al percorso del parametro deve fornire kms:Encrypt
autorizzazioni esplicite per la chiave. Ad esempio, la seguente politica consente a un utente di creare, aggiornare e visualizzare SecureString
i parametri che iniziano con la e prod-
specificata. Regione AWS Account AWS
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:PutParameter", "ssm:GetParameter", "ssm:GetParameters" ], "Resource": [ "arn:aws:ssm:us-east-2:111122223333:parameter/prod-*" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE" ] } ] }
1L'autorizzazione kms:GenerateDataKey
è necessaria per creare parametri avanzati crittografati utilizzando la chiave gestita dal cliente specificata.
Al contrario, tutti gli utenti all'interno dell'account cliente hanno accesso alla chiave gestita AWS predefinita. Se si utilizza questa chiave predefinita per crittografare SecureString
i parametri e non si desidera che gli utenti utilizzino i SecureString
parametri, le IAM policy devono negare esplicitamente l'accesso alla chiave predefinita, come illustrato nell'esempio seguente.
Nota
È possibile individuare l'Amazon Resource Name (ARN) della chiave predefinita nella AWS KMS console nella pagina chiavi AWS gestiteaws/ssm
nella colonna Alias.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:us-east-2:111122223333:key/abcd1234-ab12-cd34-ef56-abcdeEXAMPLE" ] } ] }
Se è necessario un controllo di accesso dettagliato sui parametri SecureString
del proprio account, è necessario utilizzare una chiave gestita dal cliente per proteggere e limitare l'accesso a tali parametri. Consigliamo inoltre di AWS CloudTrail utilizzarlo per monitorare le attività SecureString
dei parametri.
Per ulteriori informazioni, consulta i seguenti argomenti:
-
Logica di valutazione delle politiche nella Guida IAM per l'utente
-
Utilizzo delle policy chiave AWS KMS nella Guida per gli sviluppatori di AWS Key Management Service
-
Visualizzazione degli eventi con la cronologia degli CloudTrail eventi nella Guida AWS CloudTrail per l'utente