Разрешить доступ к указанной роли c для доступа к объекту s3 с использованием конечной точки VP C - PullRequest
0 голосов
/ 25 февраля 2020

Моя корзина s3: testbucket , которая приватная . Я создал конечную точку vp c, чтобы я мог получить доступ к объекту корзины без подключения к inte rnet. Политика конечных точек vp c была определена следующим образом:

{
            "Sid": "Access-to-specific-bucket-only",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": [
                "arn:aws:s3:::testbucket",
                "arn:aws:s3:::testbucket/*"
            ]
        }

Я создал роль AB C со следующей политикой

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::testbucket"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::testbucket/*"
        }
    ]
}

Политика корзины определяется следующим образом:

{
    "Version": "2012-10-17",
    "Id": "PolicyToAccessThroughVPCEndPoint",
    "Statement": [
        {
            "Sid": "Access-to-specific-VPCE-only",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::testbucket/*",
            "Condition": {
                "StringEquals": {
                    "aws:sourceVpce": "MY VPCE"
                }
            }
        }
    ]
}

Теперь, чтобы проверить, доступен ли мой объект корзины или нет. Я запустил экземпляр EC2 с той же учетной записью, и я могу получить доступ к объектам на EC2, и он работает правильно.

Теперь вышеуказанная политика все еще широко открыта, и я хочу ограничить использование корзины на основе созданной роли " AB C". Поэтому я добавил основные записи в политику корзины.

"Principal": {
 "AWS": "ARN OF ROLE ABC"
}

с указанным выше изменением, я также прикрепляю роль к экземпляру ec2. Однако я не могу получить доступ к изображению, хранящемуся в корзине, которая была доступна ранее с "Principal": "*" .

Я получаю ошибку "Отказано в доступе".

Как я могу устранить эту ошибку?

...