AWS: nega l'accesso alle risorse Amazon S3 al di fuori del tuo account, tranne AWS Data Exchange - AWS Identity and Access Management

AWS: nega l'accesso alle risorse Amazon S3 al di fuori del tuo account, tranne AWS Data Exchange

Questo esempio mostra come creare una policy basata sull'identità che neghi l'accesso a tutte le risorse in AWS che non appartengono al tuo account, ad eccezione delle risorse che AWS Data Exchange richiede per le normali operazioni. Per utilizzare questa policy, sostituisci il testo segnaposto in corsivo nella policy di esempio con le tue informazioni. Quindi, segui le indicazioni fornite in Creazione di una policy o Modifica di una policy.

Puoi creare una policy simile per limitare l'accesso alle risorse all'interno di un'organizzazione o di un'unità organizzativa, tenendo conto delle risorse di proprietà di AWS Data Exchange utilizzando le chiavi di condizione aws:ResourceOrgPaths e aws:ResourceOrgID.

Se utilizzi AWS Data Exchange nel tuo ambiente, il servizio crea risorse, come i bucket Amazon S3 di proprietà dell'account del servizio, e interagisce con esse. Ad esempio, AWS Data Exchange invia richieste ai bucket Amazon S3 di proprietà del servizio AWS Data Exchange per conto del principale IAM (utente o ruolo) che richiama le API AWS Data Exchange. In tal caso, l'utilizzo di aws:ResourceAccount, aws:ResourceOrgPaths o aws:ResourceOrgID in una policy senza tenere conto delle risorse di proprietà di AWS Data Exchange nega l'accesso ai bucket di proprietà dell'account del servizio.

  • L'istruzione DenyAllAwsResourcesOutsideAccountExceptS3 utilizza l'elemento NotAction con l'effetto Deny che nega esplicitamente l'accesso a tutte le operazioni non elencate nell'istruzione e che non appartengono all'account elencato. L'elemento NotAction indica le eccezioni a questa istruzione. Queste operazioni sono l'eccezione a questa istruzione perché, se vengono eseguite su risorse create da AWS Data Exchange, la policy le nega.

  • L'istruzione DenyAllS3ResoucesOutsideAccountExceptDataExchange utilizza una combinazione delle condizioni ResourceAccount e CalledVia per negare l'accesso alle tre operazioni di Amazon S3 escluse nell'istruzione precedente. L'istruzione nega le operazioni se le risorse non appartengono all'account elencato e se il servizio chiamante non è AWS Data Exchange. L'istruzione non nega le operazioni se la risorsa appartiene all'account elencato o l'operazione viene eseguita dal principale del servizio elencato, dataexchange.amazonaws.com.

Importante

Questa policy non consente alcuna operazione. Utilizza l'effetto Deny, che neghi esplicitamente l'accesso a tutte le risorse elencate nell'istruzione che non appartengono all'account elencato. Utilizza questa policy in combinazione con altre policy che consentono l'accesso a risorse specifiche.

L'esempio seguente mostra come configurare la policy per consentire l'accesso ai bucket Amazon S3 richiesti.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAllAwsReourcesOutsideAccountExceptAmazonS3", "Effect": "Deny", "NotAction": [ "s3:GetObject", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:ResourceAccount": [ "111122223333" ] } } }, { "Sid": "DenyAllS3ResourcesOutsideAccountExceptDataExchange", "Effect": "Deny", "Action": [ "s3:GetObject", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:ResourceAccount": [ "111122223333" ] }, "ForAllValues:StringNotEquals": { "aws:CalledVia": [ "dataexchange.amazonaws.com" ] } } } ] }