Come posso consentire solo a specifici endpoint VPC o indirizzi IP di accedere al mio bucket Amazon S3?

3 minuti di lettura
0

Desidero consentire il traffico proveniente solo da specifici endpoint o indirizzi IP di Amazon Virtual Private Cloud (Amazon VPC) verso il mio bucket Amazon Simple Storage Service (Amazon S3).

Risoluzione

Usa una policy del bucket per specificare gli endpoint VPC, gli indirizzi IP privati o gli indirizzi IP pubblici che possono accedere al tuo bucket S3.

Attenzione: i seguenti esempi di policy del bucket negano esplicitamente l'accesso a determinate richieste al di fuori degli endpoint VPC o degli indirizzi IP consentiti. Valuta le policy dei bucket per determinare se influiscono sulle richieste relative alla console.

Se la tua policy nega l'accesso a tutte le azioni S3, ti ritrovi escluso dal bucket. Prima di salvare la policy del bucket, esaminala. Se ti ritrovi escluso dal tuo bucket, consulta Come posso riottenere l'accesso al mio bucket Amazon S3 dopo aver negato accidentalmente a tutti l'accesso?

Limita l'accesso a specifici endpoint VPC

Per consentire il traffico proveniente solo dagli endpoint VPC specificati, utilizza la chiave aws:SourceVpce nella policy del bucket. Il seguente esempio di policy del bucket nega le autorizzazioni di caricamento nel bucket a meno che la richiesta di caricamento non provenga dagli endpoint VPC vpce-1111111 o vpce-2222222:

{   
  "Id": "VPCe",  
  "Version": "2012-10-17",  
  "Statement": [  
    {  
      "Sid": "VPCe",  
      "Action": "s3:PutObject",  
      "Effect": "Deny",  
      "Resource": [  
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET",  
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"  
      ],  
      "Condition": {  
        "StringNotEquals": {  
          "aws:SourceVpce": [  
            "vpce-1111111",  
            "vpce-2222222"  
          ]  
        }  
      },  
      "Principal": "*"  
    }  
  ]  
}

Per utilizzare la policy precedente con la condizione aws:SourceVpce, collega un endpoint gateway VPC per Amazon S3 alla tabella di routing della sottorete dell'istanza Amazon Elastic Compute Cloud (Amazon EC2). L'endpoint deve trovarsi nella stessa regione AWS del bucket.

Limita l'accesso a specifici indirizzi IP privati

Per consentire il traffico proveniente solo dagli indirizzi IP privati specificati, utilizza la chiave aws:VpcSourceIp nella policy del bucket. Il seguente esempio di policy del bucket nega le autorizzazioni di caricamento nel bucket a meno che la richiesta di caricamento non provenga dagli indirizzi IP privati 10.1.1.1/32 o 172.1.1.1/32:

{  
  "Id": "VpcSourceIp",  
  "Version": "2012-10-17",  
  "Statement": [  
    {  
      "Sid": "VpcSourceIp",  
      "Action": "s3:PutObject",  
      "Effect": "Deny",  
      "Resource": [  
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET",  
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"  
      ],  
      "Condition": {  
        "NotIpAddress": {  
          "aws:VpcSourceIp": [  
            "10.1.1.1/32",  
            "172.1.1.1/32"  
          ]  
        }  
      },  
      "Principal": "*"  
    }  
  ]  
}

Per utilizzare la policy precedente con la condizione aws:VPCSourceIP, collega un endpoint gateway VPC per Amazon S3 alla tabella di routing della sottorete dell'istanza EC2. L'endpoint deve trovarsi nella stessa regione del bucket.

Limita l'accesso a specifici indirizzi IP pubblici

Per consentire il traffico proveniente solo dagli indirizzi IP pubblici specificati, utilizza la chiave aws:SourceIp nella policy del bucket. Il seguente esempio di policy del bucket nega le autorizzazioni di caricamento nel bucket a meno che la richiesta di caricamento non provenga dagli indirizzi IP pubblici 11.11.11.11/32 o 22.22.22.22/32:

{  
  "Id": "SourceIP",  
  "Version": "2012-10-17",  
  "Statement": [  
    {  
      "Sid": "SourceIP",  
      "Action": "s3:PutObject",  
      "Effect": "Deny",  
      "Resource": [  
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET",  
        "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"  
      ],  
      "Condition": {  
        "NotIpAddress": {  
          "aws:SourceIp": [  
            "11.11.11.11/32",  
            "22.22.22.22/32"  
          ]  
        }  
      },  
      "Principal": "*"  
    }  
  ]  
}

Per consentire a entità AWS Identity and Access Management (IAM) specifiche nello stesso account AWS di accedere al bucket, includi la chiave aws:PrincipalArn nel blocco Condition della tua policy:

"Condition": {  
    "ArnNotLike": {  
        "aws:PrincipalArn": [  
            "arn:aws:iam::123456789012:role/role-name",  
            "arn:aws:iam::123456789012:user/user-name",  
            "arn:aws:iam::123456789012:root"  
        ]  
    }  
}

Per consentire agli utenti di utilizzare endpoint VPC o indirizzi IP per eseguire azioni S3 sul bucket, concedi esplicitamente autorizzazioni a livello di utente. Puoi modificare una policy IAM o un'altra dichiarazione nella policy del bucket per concedere autorizzazioni a livello di utente.

AWS UFFICIALE
AWS UFFICIALEAggiornata 4 mesi fa