Combine uma política de VPC com uma política de bucket para controlar o acesso ao OSS tanto na origem da rede quanto no nível do recurso. Essa abordagem evita acessos não autorizados e a exfiltração de dados.
Como funciona
Esta solução associa uma política de VPC a uma política de bucket para estabelecer um modelo de autorização na origem e validação no destino. A política de VPC restringe os buckets acessíveis por uma VPC, o que permite gerenciamento granular de permissões e isolamento de riscos. A política de bucket valida a origem da requisição e garante que apenas o tráfego da VPC autorizada chegue ao recurso.
Acesso permitido: requisições enviadas de uma VPC autorizada para um bucket autorizado passam por ambas as políticas.
-
Acesso negado:
Negação pela política de VPC: ocorre quando a VPC tenta acessar um bucket não autorizado pela política de VPC.
Negação pela política de bucket: acontece quando uma requisição chega ao bucket vinda de uma VPC não autorizada.
Implementação
O exemplo a seguir demonstra o controle de acesso duplo. Um usuário corporativo (UID: 174649585760xxxx) armazena dados comerciais em um bucket do OSS chamado example-bucket. As aplicações são executadas em instâncias ECS na VPC vpc-t4nlw426y44rd3iq4xxxx. Todo o acesso utiliza a AccessKey do usuário RAM example-user (UID: 20655703638807****). Os objetivos de controle de acesso são:
Controle na origem (VPC): permitir que a VPC acesse apenas o
example-bucket.Controle no destino (bucket): negar todas as requisições ao OSS que não se originem da VPC especificada.
Etapa 1: Configure uma política de VPC
Crie uma política de endpoint para a VPC vpc-t4nlw426y44rd3iq4xxxx que restrinja o acesso ao example-bucket.
Acesse o console de VPC. No painel de navegação à esquerda, clique em Endpoints.
-
Clique em Create Endpoint e defina as configurações abaixo.
Se esta for a primeira vez que você utiliza endpoints, é necessário primeiro Activate Endpoint Service .
Region: selecione a região onde a VPC está localizada, como Singapore.
Endpoint Name: insira um nome para o endpoint.
Endpoint Type: selecione Gateway Endpoint.
Endpoint Service: escolha Alibaba Cloud Service e, em seguida, selecione o serviço de endpoint do OSS. O nome do serviço termina com
oss.VPC: selecione a VPC de destino.
Route Table: selecione a tabela de rotas de destino.
-
Endpoint Policy: insira a seguinte política no editor.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "oss:*", "Principal": [ "20655703638807****" ], "Resource": [ "acs:oss:*:*:example-bucket", "acs:oss:*:*:example-bucket/*" ] } ] }
Confirme a configuração e clique em OK.
Etapa 2: Configure uma política de bucket
Configure uma política de bucket para negar todo o acesso ao OSS proveniente de qualquer VPC, exceto vpc-t4nlw426y44rd3iq4xxxx.
Acesse a lista de Buckets e clique no bucket de destino.
No painel de navegação à esquerda do bucket, clique em .
-
Selecione Add by Syntax, clique em Edit e insira a política a seguir.
{ "Statement": [ { "Action": [ "oss:*" ], "Effect": "Deny", "Principal": [ "20655703638807****" ], "Resource": "acs:oss:*:*:*", "Condition": { "StringNotEquals": { "acs:SourceVpc": [ "vpc-t4nlw426y44rd3iq4xxxx" ] } } } ], "Version": "1" } Confirme a política, clique em Save e siga as instruções na tela.
Etapa 3: Verifique o controle de acesso
Use o ossutil para validar a configuração. Baixe o ossutil 2.0 e configure-o com a AccessKey do usuário RAM e o endpoint interno. Por exemplo, use oss-ap-southeast-1-internal.aliyuncs.com.
Validar o cenário de acesso permitido
Em uma instância ECS na VPC vpc-t4nlw426y44rd3iq4xxxx, use a AccessKey do usuário 20655703638807**** para listar os objetos no example-bucket.
ossutil ls oss://example-bucket/
A requisição é bem-sucedida porque ambas as políticas concedem acesso.
Validar o cenário de negação pela política de VPC
A partir da mesma VPC, tente acessar um bucket não autorizado pela política de VPC, como other-bucket.
ossutil ls oss://other-bucket/
O acesso é negado com a mensagem Access denied by VPC endpoint policy.., confirmando que a política de VPC restringe os buckets acessíveis na origem.
Validar o cenário de negação pela política de bucket
De uma VPC não autorizada ou da internet pública, use a AccessKey do mesmo usuário para acessar o example-bucket.
ossutil ls oss://example-bucket/
O acesso é negado com a mensagem Access denied by bucket policy.., confirmando que a política de bucket valida a origem da VPC no destino.