запретить доступ к корзинам s3 для пользователей sagemaker - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь добавить пользователя IAM для использования sagemaker.Я использовал политику AmazonSageMakerFullAccess.Но когда я вхожу в систему под этим пользователем, я вижу все корзины s3 корневой учетной записи и загружаю из них файлы.

Документация sagemaker состояния

При подключении политики AmazonSageMakerFullAccess к роли необходимо выполнить одно из следующих действий, чтобы разрешить Amazon SageMaker доступ к вашему корзине S3:

Включите строку «SageMaker» или «sagemaker» в имя корзины, гдевы сохраняете данные обучения, или артефакты модели, полученные в результате обучения модели, или и то, и другое.

Включите строку "SageMaker" или "sagemaker" в имя объекта объекта (ов) обучающих данных.

Пометьте объект S3 как "sagemaker = true".Ключ и значение чувствительны к регистру.Дополнительную информацию см. В разделе «Маркировка объектов» в Руководстве разработчика сервиса Amazon Simple Storage.

Добавьте политику сегмента, которая разрешает доступ для роли выполнения.Дополнительную информацию см. В разделе Использование политик сегментов и политик пользователей в Руководстве разработчика сервиса Amazon Simple Storage.

Кажется, что неточно, пользователь может получить доступ к сегментам s3, в имени которых нет sagemaker.Как мне ограничить доступ?

полная политика ниже

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:GetAuthorizationToken",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage",
                "ecr:BatchCheckLayerAvailability",
                "cloudwatch:PutMetricData",
                "cloudwatch:PutMetricAlarm",
                "cloudwatch:DescribeAlarms",
                "cloudwatch:DeleteAlarms",
                "ec2:CreateNetworkInterface",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:DeleteNetworkInterface",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeVpcs",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "application-autoscaling:DeleteScalingPolicy",
                "application-autoscaling:DeleteScheduledAction",
                "application-autoscaling:DeregisterScalableTarget",
                "application-autoscaling:DescribeScalableTargets",
                "application-autoscaling:DescribeScalingActivities",
                "application-autoscaling:DescribeScalingPolicies",
                "application-autoscaling:DescribeScheduledActions",
                "application-autoscaling:PutScalingPolicy",
                "application-autoscaling:PutScheduledAction",
                "application-autoscaling:RegisterScalableTarget",
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:DescribeLogStreams",
                "logs:GetLogEvents",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:GetBucketLocation",
                "s3:ListBucket",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "s3:ExistingObjectTag/SageMaker": "true"
                }
            }
        },
        {
            "Action": "iam:CreateServiceLinkedRole",
            "Effect": "Allow",
            "Resource": "arn:aws:iam::*:role/aws-service-role/sagemaker.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_SageMakerEndpoint",
            "Condition": {
                "StringLike": {
                    "iam:AWSServiceName": "sagemaker.application-autoscaling.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "sagemaker.amazonaws.com"
                }
            }
        }
    ]
}

1 Ответ

0 голосов
/ 01 мая 2018

похоже на то, что мастер записной книжки sagemaker заставил вас создать роль с ограниченным доступом s3.Если я добавлю это и значение по умолчанию AmazonSageMakerFullAccess, пользователь будет ограничен.Amazon make sagemaker role

choose iam roles

...