Todo sobre Apple, Android, Juegos Apks y Sitios de Peliculas

Cómo incluir direcciones IP en la lista blanca para acceder a un depósito AWS S3

Si desea permitir que los servidores de su red accedan a los depósitos internos de S3, sin que los objetos dentro de ellos se abran a Internet, incluir el acceso en la lista blanca con una política de depósito es una solución simple para permitir la descarga de archivos desde un depósito interno.

Acceder a un depósito S3 a través de Internet

El método más ideal para interactuar con S3 desde Linux es simplemente instalar la CLI de AWS y ejecutar comandos como

 get-object 

para recuperar archivos directamente o utilizar la API o el SDK para el idioma que elija. Si está ejecutando EC2, es bastante trivial actualizar la función de IAM para la instancia EC2 y adjuntar una política que le dé acceso al depósito. Siempre que AWS CLI esté instalada, puede utilizarla con el rol de instancia sin administrar claves.

Sin embargo, si no accede a S3 desde EC2 o desde otro recurso de AWS que pueda asumir una función, tendrá que administrar las claves. La AWS CLI necesitará un ID y un secreto para autenticarse, lo que, dependiendo de la complejidad de su implementación, puede ser un problema. Es posible que tengas la tentación de codificarlo en tu script de compilación, pero esa es una solución complicada que no recomendamos. Puede simplemente configurar el depósito u objeto como público, pero eso no funcionará para datos confidenciales que no desea que otros descarguen.

Entonces, la mejor opción es simplemente incluir direcciones IP en la lista blanca. Esto gestiona el acceso implícitamente: si la solicitud proviene de la dirección IP de su servidor, se permitirá. Esto se puede usar para permitir muy fácilmente la descarga de archivos desde la URL de su punto final, como si el depósito se estuviera ejecutando en una subred privada (aunque todavía está en Internet).

https://s3.amazonaws.com/bucketname/object.zip

Sin embargo, sin una política de depósito implementada, obtendrá un error 403. Dirígete a la configuración del depósito y busca el editor de políticas del depósito en Permisos > Política del depósito.

Ingrese la siguiente política, reemplazando las direcciones IP y el nombre del depósito por los suyos propios:

{

"Version": "2012-10-17",

"Id": "S3PolicyId1",

"Statement": [

{

"Sid": "IPAllow",

"Effect": "Allow",

"Principal": "*",

"Action": [

"s3:GetObject"

],

"Resource": "arn:aws:s3:::bucketname/*",

"Condition": {

"IpAddress": {

"aws:SourceIp": [

"192.168.1.1",

"192.168.1.2",

"192.168.1.3"

]

}

}

}

]

}

Esto solo permite la descarga de archivos desde el depósito (GetObject). Si desea habilitar otras acciones de API, puede configurarlas en algo específico con Generador de políticas de depósito de AWSo permitir cada acción en el depósito con un comodín (probablemente una mala idea):

{

"Version": "2012-10-17",

"Id": "S3PolicyId1",

"Statement": [

{

"Sid": "IPAllow",

"Effect": "Allow",

"Principal": "*",

"Action": "s3:*",

"Resource": "arn:aws:s3:::bucketname/*",

"Condition": {

"IpAddress": {

"aws:SourceIp": [

"192.168.1.1",

"192.168.1.2",

"192.168.1.3"

]

}

}

}

]

}