Prevenzione del problema "confused deputy" tra servizi - AWS Systems Manager

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

Prevenzione del problema "confused deputy" tra servizi

Con "confused deputy" si intende un problema di sicurezza in cui un'entità che non dispone dell'autorizzazione per eseguire una certa operazione può costringere un'entità con più privilegi a eseguire tale operazione. In AWS, la rappresentazione cross-service può comportare il problema confused deputy. La rappresentazione tra servizi può verificarsi quando un servizio (il servizio chiamante) effettua una chiamata a un altro servizio (il servizio chiamato). Il servizio chiamante può essere manipolato per utilizzare le proprie autorizzazioni e agire sulle risorse di un altro cliente, a cui normalmente non avrebbe accesso. Per evitare ciò, AWS fornisce strumenti per poterti a proteggere i tuoi dati per tutti i servizi con entità di servizio a cui è stato concesso l'accesso alle risorse del tuo account.

Ti consigliamo di utilizzare le chiavi di contesto delle condizioni globali aws:SourceArn e aws:SourceAccount nelle policy delle risorse per limitare le autorizzazioni con cui AWS Systems Manager fornisce un altro servizio alla risorsa. Se il valore aws:SourceArn non contiene l'ID account, ad esempio il nome della risorsa Amazon (ARN) di un bucket S3, è necessario utilizzare entrambe le chiavi di contesto delle condizioni globali per limitare le autorizzazioni. Se si utilizzano entrambe le chiavi di contesto delle condizioni globali e il valore aws:SourceArn contiene l'ID account, il valore aws:SourceAccount e l'account nel valore aws:SourceArn deve utilizzare lo stesso ID account nella stessa dichiarazione di policy. Utilizzare aws:SourceArn se si desidera consentire l'associazione di una sola risorsa all'accesso tra servizi. Utilizzare aws:SourceAccount se si desidera consentire l'associazione di qualsiasi risorsa in tale account all'uso tra servizi.

Nelle seguenti sezioni sono fornite le policy di esempio per funzionalità AWS Systems Manager.

Esempio di policy di attivazione ibrida

Per i ruoli di servizio utilizzati in un'attivazione ibrida, il valore di aws:SourceArn deve essere l'ARN dell'Account AWS. Assicurati di specificare il Regione AWS nell'ARN dove hai creato l'attivazione ibrida. Se non si conosce l'ARN completo della risorsa o se si sta specificando più risorse, utilizzare la chiave di condizione del contesto globale aws:SourceArn con caratteri speciali (*) per le parti sconosciute dell'ARN. Ad esempio, arn:aws:ssm:*:region:123456789012:*.

L'esempio seguente illustra l'utilizzo delle chiavi di contesto delle condizioni globali aws:SourceArn e aws:SourceAccount per permettere all'automazione di prevenire il problema del “confused deputy” nella regione Stati Uniti orientali (Ohio) (us-east-2).

{ "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"123456789012" }, "ArnEquals":{ "aws:SourceArn":"arn:aws:ssm:us-east-2:123456789012:*" } } } ] }

Esempio di policy di sincronizzazione dati risorsa

Inventario Systems Manager, Explorer e Conformità consentono di creare una sincronizzazione dei dati delle risorse per centralizzare l'archiviazione dei dati operativi (OPSData) in un bucket centrale di Amazon Simple Storage Service. (Facoltativo) Se desideri crittografare la sincronizzazione dati risorsa utilizzando AWS Key Management Service (AWS KMS), devi creare una nuova chiave che includa la seguente policy oppure devi aggiornare una chiave esistente e aggiungervi questa policy. Le chiavi delle condizioni aws:SourceArn e aws:SourceAccount in questa policy impediscono il problema confused deputy. Ecco una policy di esempio:

{ "Version": "2012-10-17", "Id": "ssm-access-policy", "Statement": [ { "Sid": "ssm-access-policy-statement", "Action": [ "kms:GenerateDataKey" ], "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Resource": "arn:aws:kms:us-east-2:123456789012:key/KMS_key_id", "Condition": { "StringLike": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:ssm:*:123456789012:role/aws-service-role/ssm.amazonaws.com/AWSServiceRoleForAmazonSSM" } } } ] }
Nota

L'ARN nell'esempio delle policy consente al sistema di crittografare OPSData da tutte le origini, eccetto AWS Security Hub. Se è necessario crittografare i dati di Security Hub, ad esempio se si utilizza Explorer per raccogliere i dati di Security Hub, è necessario allegare una policy aggiuntiva che specifica il seguente ARN:

"aws:SourceArn": "arn:aws:ssm:*:account-id:role/aws-service-role/opsdatasync.ssm.amazonaws.com/AWSServiceRoleForSystemsManagerOpsDataSync"