Combine una política de VPC con una política de bucket para controlar el acceso a OSS tanto en el origen de red como en los recursos. De esta manera se previene el acceso no autorizado y la extracción indebida de datos.
Cómo funciona
Esta solución combina una política de VPC con una política de bucket para formar un modelo de autorización en el origen y validación en el destino. La política de VPC restringe los buckets a los que puede acceder una VPC, lo que permite gestionar permisos de forma detallada y aislar riesgos. La política de bucket valida el origen de la solicitud y garantiza que solo el tráfico proveniente de la VPC autorizada llegue al recurso.
Acceso permitido: las solicitudes enviadas desde una VPC autorizada hacia un bucket autorizado superan ambas políticas.
-
Acceso denegado:
Denegación por política de VPC: la VPC intenta acceder a un bucket que no está autorizado en dicha política.
Denegación por política de bucket: una solicitud llega al bucket desde una VPC no autorizada.
Requisitos previos
Antes de configurar el control de acceso dual, recopile la siguiente información:
ID de VPC: vaya a la consola de VPC y busque el ID de la VPC objetivo en la columna Instance ID/Name de la lista de VPC. El ID comienza con
vpc-, por ejemplovpc-t4nlw426y44rd3iq4xxxx.VPC de una instancia ECS: para confirmar a qué VPC pertenece una instancia ECS, vaya a la consola de ECS y revise la columna VPC de la lista de instancias. Haga clic en el ID de la VPC para abrir la página de detalles correspondiente.
Si no hay ninguna VPC disponible: cree primero una VPC en la consola de VPC y luego continúe con los siguientes pasos.
Implementación
El siguiente ejemplo muestra cómo implementar el control de acceso dual. Un usuario empresarial (UID: 174649585760xxxx) almacena datos comerciales en un bucket de OSS llamado example-bucket. Las aplicaciones se ejecutan en instancias ECS dentro de la VPC vpc-t4nlw426y44rd3iq4xxxx (consulte los requisitos previos para saber cómo obtener este ID). Todo el acceso utiliza el accesskey del usuario de RAM example-user (UID: 20655703638807****). Los objetivos de control de acceso son los siguientes:
Control en el origen de la VPC: permitir que la VPC acceda únicamente a
example-bucket.Control en el destino del bucket: denegar todas las solicitudes de OSS que no provengan de la VPC especificada.
Paso 1: Configurar una política de VPC
Cree una política de endpoint para la VPC vpc-t4nlw426y44rd3iq4xxxx que restrinja el acceso a example-bucket.
Vaya a la consola de VPC. En el panel de navegación izquierdo, haga clic en Endpoints.
-
Haga clic en Create Endpoint y configure los siguientes parámetros.
Si es la primera vez que usa endpoints, primero debe hacer clic en Activate Endpoint Service .
Region: seleccione la región donde se encuentra la VPC, por ejemplo Singapore.
Endpoint Name: introduzca un nombre para el endpoint.
Endpoint Type: seleccione Gateway Endpoint.
Endpoint Service: seleccione Alibaba Cloud Service y luego elija el servicio de endpoint de OSS. El nombre del servicio termina con
oss.VPC: seleccione la VPC objetivo.
Route Table: seleccione la tabla de rutas objetivo.
-
Endpoint Policy: introduzca la siguiente política en el editor.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "oss:*", "Principal": [ "20655703638807****" ], "Resource": [ "acs:oss:*:*:example-bucket", "acs:oss:*:*:example-bucket/*" ] } ] }
Confirme la configuración y haga clic en OK.
Paso 2: Configurar una política de bucket
Configure una política de bucket para denegar todo el acceso a OSS desde cualquier VPC, excepto vpc-t4nlw426y44rd3iq4xxxx.
Vaya a la lista de Buckets y haga clic en el bucket objetivo.
En el panel de navegación izquierdo del bucket, seleccione .
-
Seleccione Add by Syntax, haga clic en Edit e introduzca la siguiente política.
{ "Statement": [ { "Action": [ "oss:*" ], "Effect": "Deny", "Principal": [ "20655703638807****" ], "Resource": "acs:oss:*:*:*", "Condition": { "StringNotEquals": { "acs:SourceVpc": [ "vpc-t4nlw426y44rd3iq4xxxx" ] } } } ], "Version": "1" }El valor de
acs:SourceVpces el ID de la VPC objetivo que obtuvo en la consola de VPC, tal como se describe en los requisitos previos. Sustitúyalo por su propio ID de VPC. Confirme la política, haga clic en Save y siga las indicaciones en pantalla.
Paso 3: Comprobar el control de acceso
Use ossutil para comprobar la configuración. Descargue ossutil 2.0 y configúrelo con el accesskey del usuario de RAM y el endpoint interno. Por ejemplo, utilice oss-ap-southeast-1-internal.aliyuncs.com.
Comprobar el escenario de acceso permitido
En una instancia ECS ubicada en la VPC vpc-t4nlw426y44rd3iq4xxxx, use el accesskey del usuario 20655703638807**** para listar los objetos de example-bucket.
ossutil ls oss://example-bucket/
La solicitud se completa correctamente porque ambas políticas otorgan acceso.
Comprobar el escenario de denegación por política de VPC
Desde la misma VPC, intente acceder a un bucket no autorizado por la política de VPC, como other-bucket.
ossutil ls oss://other-bucket/
El acceso se deniega con el mensaje Access denied by VPC endpoint policy... Esto confirma que la política de VPC restringe los buckets accesibles desde el origen.
Comprobar el escenario de denegación por política de bucket
Desde una VPC no autorizada o desde internet público, use el accesskey del mismo usuario para acceder a example-bucket.
ossutil ls oss://example-bucket/
El acceso se deniega con el mensaje Access denied by bucket policy... Esto confirma que la política de bucket valida el origen de la VPC en el destino.