Home Машинное обучение Настройте доступ к Amazon S3 между учетными записями для блокнотов Amazon SageMaker в режиме только VPC с помощью точек доступа Amazon S3. | DeepTech

Настройте доступ к Amazon S3 между учетными записями для блокнотов Amazon SageMaker в режиме только VPC с помощью точек доступа Amazon S3. | DeepTech

0
Настройте доступ к Amazon S3 между учетными записями для блокнотов Amazon SageMaker в режиме только VPC с помощью точек доступа Amazon S3.
 | DeepTech

Достижения в области искусственного интеллекта (ИИ) и машинного обучения (МО) произвели революцию в финансовой отрасли в таких случаях, как обнаружение мошенничества, оценка кредитоспособности и оптимизация торговой стратегии. Чтобы разработать модели для таких случаев использования, ученым, работающим с данными, необходим доступ к различным наборам данных, таким как механизмы принятия кредитных решений, транзакции клиентов, склонность к риску и стресс-тестирование. Управление соответствующим контролем доступа к этим наборам данных среди специалистов по обработке данных, работающих над ними, имеет решающее значение для соблюдения строгих требований соответствия и нормативных требований. Обычно эти наборы данных агрегируются в централизованном хранилище Amazon Simple Storage Service (Amazon S3) из различных бизнес-приложений и корпоративных систем. Ученые, работающие с данными в бизнес-подразделениях, работающих над разработкой моделей с использованием Amazon SageMaker, получают доступ к соответствующим данным, что может привести к необходимости управления контролем доступа на уровне префикса. С увеличением случаев использования и наборов данных, использующих инструкции политики сегмента, управление доступом к нескольким учетным записям для каждого приложения становится слишком сложным и длительным, чтобы политика сегмента могла быть реализована.

Точки доступа Amazon S3 упрощают управление и защиту доступа к данным в любом масштабе для приложений, использующих общие наборы данных в Amazon S3. Вы можете создавать уникальные имена хостов, используя точки доступа, чтобы обеспечить отдельные и безопасные разрешения и сетевое управление для любого запроса, сделанного через точку доступа.

Точки доступа S3 упрощают управление разрешениями доступа, специфичными для каждого приложения, обращающегося к общему набору данных. Он обеспечивает безопасное и высокоскоростное копирование данных между точками доступа в одном регионе с использованием внутренних сетей AWS и VPC. Точки доступа S3 могут ограничивать доступ к VPC, что позволяет вам защищать данные брандмауэром в частных сетях, тестировать новые политики контроля доступа, не затрагивая существующие точки доступа, а также настраивать политики конечных точек VPC для ограничения доступа к определенным корзинам S3, принадлежащим идентификатору учетной записи.

В этом посте описаны шаги, необходимые для настройки точек доступа S3 для включения доступа между учетными записями из экземпляра блокнота SageMaker.

Обзор решения

В нашем примере использования у нас есть две учетные записи в организации: учетная запись A (111111111111), которая используется специалистами по данным для разработки моделей с использованием экземпляра блокнота SageMaker, и учетная запись B (222222222222), которая содержит необходимые наборы данных в корзине S3. test-bucket-1. На следующей диаграмме показана архитектура решения.

Чтобы реализовать решение, выполните следующие общие шаги:

  1. Настройте учетную запись A, включая VPC, группу безопасности подсети, конечную точку шлюза VPC и блокнот SageMaker.
  2. Настройте учетную запись B, включая корзину S3, точку доступа и политику корзины.
  3. Настройте разрешения и политики AWS Identity and Access Management (IAM) в учетной записи A.

Вам следует повторить эти шаги для каждой учетной записи SageMaker, которой требуется доступ к общему набору данных из учетной записи B.

Названия каждого ресурса, упомянутого в этом посте, являются примерами; вы можете заменить их другими именами в соответствии с вашим вариантом использования.

Настроить учетную запись А

Выполните следующие шаги, чтобы настроить учетную запись A:

  1. Создайте VPC под названием DemoVPC.
  2. Создайте подсеть под названием DemoSubnet в ВПК DemoVPC.
  3. Создайте группу безопасности под названием DemoSG.
  4. Создайте конечную точку шлюза VPC S3 под названием DemoS3GatewayEndpoint.
  5. Создайте роль выполнения SageMaker.
  6. Создайте экземпляр блокнота с именем DemoNotebookInstance и рекомендации по безопасности, изложенные в разделе «Как настроить безопасность в Amazon SageMaker».
    1. Укажите созданную вами роль исполнения Sagemaker.
    2. В настройках сети ноутбука укажите созданную вами VPC, подсеть и группу безопасности.
    3. Убедись в том, что Прямой доступ в Интернет выключен.

Вы назначаете разрешения для роли на последующих шагах после создания необходимых зависимостей.

Настроить учетную запись Б

Чтобы настроить учетную запись Б, выполните следующие действия:

  1. В учетной записи B создайте корзину S3 под названием test-bucket-1 следуя рекомендациям по безопасности Amazon S3.
  2. Загрузите файл в корзину S3.
  3. Создайте точку доступа под названием test-ap-1 на счете Б.
    1. Не изменяйте и не редактируйте ничего Заблокировать настройки публичного доступа для этой точки доступа (весь публичный доступ должен быть заблокирован).
  4. Прикрепите следующую политику к вашей точке доступа:
{
    "Version": "2012-10-17",
    "Statement": (
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": “arn:aws:iam:: 111111111111:role/demo ”
            },
            "Action": ("s3:GetObject", "s3:GetObjectVersion", "s3:PutObject", "s3:PutObjectAcl")
            "Resource": (
                “arn:aws:s3:us-east-1: 222222222222:accesspoint/test-ap-1”,
                " arn:aws:s3:us-east-1: 222222222222:accesspoint/test-ap-1/object/*"
            )
        }
    )
}

Действия, определенные в предыдущем коде, являются примерами действий для демонстрационных целей. Вы можете определить действия в соответствии с вашими требованиями или вариантом использования.

  1. Добавьте следующие разрешения политики сегмента для доступа к точке доступа:
{
    "Version": "2012-10-17",
    "Statement": (
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": " arn:aws:iam:: 111111111111:role/demo "
            },
            "Action" : ("s3:GetObject","s3:ListBucket"),
            "Resource" : ("arn:aws:s3:::test-bucket-1 ”, " arn:aws:s3:::test-bucket-1/*")
            "Condition": {
                "StringEquals": {
                    "s3:DataAccessPointAccount": "222222222222"
                }
            }
        }
    )
}

Предыдущие действия являются примерами. Вы можете определить действия в соответствии с вашими требованиями.

Настройка разрешений и политик IAM

Выполните следующие шаги в учетной записи A:

  1. Убедитесь, что роль выполнения SageMaker имеет пользовательскую встроенную политику IAM AmazonSagemakerFullAccess, которая выглядит следующим образом:
{
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            " Action": ("s3:GetObject", "s3:GetObjectVersion", "s3:PutObject", "s3:PutObjectAcl")
            "Resource": (
                “arn:aws:s3:us-east-1: 222222222222:accesspoint/test-ap-1 ”,
                "arn:aws:s3:us-east-1: 222222222222:accesspoint/test-ap-1 /object/*”,                             "arn:aws:s3:::test-bucket-1”,
                " arn:aws:s3:::test-bucket-1/*"
            )
}

Действия в коде политики являются примерами действий для демонстрационных целей.

  1. Перейти к DemoS3GatewayEndpoint конечную точку, которую вы создали, и добавьте следующие разрешения:
{

	"Version": "2012-10-17",
	"Statement": (
		{
			"Sid": "AllowCrossAccountAccessThroughAccessPoint",
			"Effect": "Allow",
			"Principal": "*",
			"Action": (
				"s3:Get*",
				"s3:List*",
				"s3:Put*"
			),
			"Resource": ": (
                “arn:aws:s3:us-east-1: 222222222222:accesspoint/test-ap-1 ”,
                "arn:aws:s3:us-east-1: 222222222222:accesspoint/test-ap-1 /object/*”,                             "arn:aws:s3:::test-bucket-1 ”,
                " arn:aws:s3:::test-bucket-1/*"
            )
 
		}
	)
}

  1. Чтобы получить список префиксов, запустите команду описания-префикс-листов интерфейса командной строки AWS (AWS CLI):
aws ec2 describe-prefix-lists

  1. В учетной записи A перейдите в группу безопасности. DemoSG для целевого экземпляра блокнота SageMaker
  2. Под Исходящие правиласоздайте правило для исходящего трафика с помощью Весь трафик или Все TCPа затем укажите место назначения в качестве полученного идентификатора списка префиксов.

На этом настройка обоих аккаунтов завершена.

Проверьте решение

Чтобы проверить решение, перейдите к терминалу экземпляра блокнота SageMaker и введите следующие команды для получения списка объектов через точку доступа:

  • Для успешного перечисления объектов через точку доступа S3 test-ap-1:
aws s3 ls arn:aws:s3:us-east-1:222222222222:accesspoint/Test-Ap-1

  • Чтобы успешно получить объекты через точку доступа S3 test-ap-1:
aws s3api get-object --bucket arn:aws:s3:us-east-1:222222222222:accesspoint/test-ap-1 --key sample2.csv test2.csv

Очистить

Завершив тестирование, удалите все точки доступа S3 и сегменты S3. Кроме того, удалите все экземпляры блокнотов Sagemaker, чтобы не взиматься плата.

Заключение

В этом посте мы показали, как точки доступа S3 обеспечивают доступ между учетными записями к большим общим наборам данных из экземпляров блокнотов SageMaker, обходя ограничения размера, налагаемые политиками сегментов, и одновременно настраивая масштабное управление доступом к общим наборам данных.

Дополнительные сведения см. в документе «Простое управление общими наборами данных с помощью точек доступа Amazon S3».


Об авторах

Киран Хамбете работает старшим техническим менеджером по работе с клиентами в Amazon Web Services (AWS). В качестве TAM Киран играет роль технического эксперта и стратегического руководства, помогая корпоративным клиентам достигать своих бизнес-целей.

Анкит Сони с общим опытом 14 лет занимает должность главного инженера в NatWest Group, где последние шесть лет работал архитектором облачной инфраструктуры.

Кесараю Сай Сандип — облачный инженер, специализирующийся на сервисах больших данных в AWS.

LEAVE A REPLY

Please enter your comment!
Please enter your name here