Negar downloads anônimos no AWS S3

5

Eu tenho um balde com vários arquivos publicamente para download. Eu quero colocar uma política de bucket depois que esses arquivos só devem ser baixados pelos meus usuários do IAM. A política que tenho até agora é esta:

{
    "Version": "2008-10-17",
    "Id": "Policy1424952346041",
    "Statement": [
        {
            "Sid": "Stmt1424958477350",
            "Effect": "Deny",
            "NotPrincipal": {
                "AWS": "arn:aws:iam::777777777777:root"
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::test/*"
        },
        {
            "Sid": "Stmt1424958477351",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::777777777777:root"
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::test/*"
        }
    ]
}

No entanto, está negando a todos, incluindo os usuários do IAM. Alguém pode por favor apontar o que está errado aqui?

    
por Aditya Patawari 26.02.2015 / 15:30

1 resposta

2

Dependendo de quantos usuários do IAM você tem na conta, você pode especificar as contas em ambas as declarações da seguinte forma (tente um ou dois apenas como um teste para ver se funciona). Eu tive problemas no passado com arn: aws: iam :: XXXXXXXXXXXX: root para realmente cobrir todas as contas do IAM. Você também pode tentar apenas especificar os usuários do IAM e remover a entrada raiz.

{
    "Version": "2008-10-17",
    "Id": "Policy1424952346041",
    "Statement": [
        {
            "Sid": "Stmt1424958477350",
            "Effect": "Deny",
            "NotPrincipal": {
                "AWS": [
                        "arn:aws:iam::777777777777:root",
                        "arn:aws:iam::777777777777:user/user1", 
                        "arn:aws:iam::777777777777:user/user2" ]
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::test/*"
        },
        {
            "Sid": "Stmt1424958477351",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                        "arn:aws:iam::777777777777:root",
                        "arn:aws:iam::777777777777:user/user1",
                        "arn:aws:iam::777777777777:user/user2" ]
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::test/*"
        }
    ]
}
    
por 14.04.2015 / 22:10