Bloquear o acesso público com políticas baseadas em recursos no Aurora DSQL - Amazon Aurora DSQL

Bloquear o acesso público com políticas baseadas em recursos no Aurora DSQL

O Bloqueio de Acesso Público (BPA) é um recurso que identifica e impede a anexação de políticas baseadas em recursos que concedem acesso público aos clusters do Aurora DSQL entre suas contas da AWS. Com o BPA, é possível impedir o acesso público aos recursos do Aurora DSQL. O BPA realiza verificações durante a criação ou a modificação de uma política baseada em recursos e ajuda a melhorar o procedimento de segurança com o Aurora DSQL.

O BPA usa raciocínio automatizado para analisar o acesso concedido por sua política baseada em recursos e alerta você se essas permissões forem encontradas no momento da administração de uma política baseada em recursos. A análise verifica o acesso a todas as declarações de políticas baseadas em recursos, ações e ao conjunto de chaves de condição usadas nas políticas.

Importante

O BPA ajuda a proteger os recursos impedindo que o acesso público seja concedido por meio de políticas baseadas em recursos que estão diretamente anexadas aos recursos do Aurora DSQL, como clusters. Além de usar o BPA, inspecione com cuidado as seguintes políticas para garantir que elas não concedam acesso público:

  • Políticas baseadas em identidade vinculadas a entidades principais da AWS associadas (por exemplo, perfis do IAM).

  • Políticas baseadas em recursos anexadas a recursos da AWS associados, por exemplo, chaves do AWS Key Management Service (KMS).

Você deve garantir que a entidade principal não inclua uma entrada * ou que uma das chaves de condição especificadas restrinja o acesso das entidades principais ao recurso. Se a política baseada em recursos conceder acesso público ao seu cluster entre contas da AWS, o Aurora DSQL impedirá você de criar ou modificar a política até que a especificação dentro da política seja corrigida e considerada não pública.

É possível tornar uma política não pública especificando uma ou mais entidades principais no bloco Principal. O exemplo de política baseada em recursos a seguir bloqueia o acesso público ao especificar duas entidades principais.

{ "Effect": "Allow", "Principal": { "AWS": [ "123456789012", "111122223333" ] }, "Action": "dsql:*", "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/cluster-id" }

Políticas que restringem o acesso especificando determinadas chaves de condição também não são consideradas públicas. Junto com a avaliação da entidade principal especificada na política baseada em recursos, as seguintes chaves de condição confiáveis são usadas para concluir a avaliação de uma política baseada em recursos para acesso não público:

  • aws:PrincipalAccount

  • aws:PrincipalArn

  • aws:PrincipalOrgID

  • aws:PrincipalOrgPaths

  • aws:SourceAccount

  • aws:SourceArn

  • aws:SourceVpc

  • aws:SourceVpce

  • aws:UserId

  • aws:PrincipalServiceName

  • aws:PrincipalServiceNamesList

  • aws:PrincipalIsAWSService

  • aws:Ec2InstanceSourceVpc

  • aws:SourceOrgID

  • aws:SourceOrgPaths

Além disso, para que uma política baseada em recursos não seja pública, os valores de nome do recurso da Amazon (ARN) e das chaves de string não devem conter curingas nem variáveis. Se a política baseada em recursos usa a chave aws:PrincipalIsAWSService, você deve garantir que tenha definido o valor da chave como verdadeiro.

A seguinte política limita o acesso ao usuário Ben na conta especificada. A condição faz com que a Principal seja restrita e não seja considerada pública.

{ "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "dsql:*", "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/cluster-id", "Condition": { "StringEquals": { "aws:PrincipalArn": "arn:aws:iam::123456789012:user/Ben" } } }

O exemplo a seguir de uma política baseada em recursos não pública restringe sourceVPC usando o operador StringEquals.

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "dsql:*", "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/cluster-id", "Condition": { "StringEquals": { "aws:SourceVpc": [ "vpc-91237329" ] } } } ] }