Concesión de permisos a Amazon ML para enviar predicciones a Amazon S3 - Amazon Machine Learning

Ya no actualizamos el servicio Amazon Machine Learning ni aceptamos nuevos usuarios para él. Esta documentación está disponible para los usuarios actuales, pero ya no la actualizamos. Para obtener más información, consulte Qué es Amazon Machine Learning.

Concesión de permisos a Amazon ML para enviar predicciones a Amazon S3

Para enviar los resultados de la operación de predicción por lotes a Amazon S3, debe conceder los siguientes permisos a Amazon ML en la ubicación de salida, que se proporciona como entrada a la operación de creación de predicción por lotes (Create Batch Prediction):

  • Permiso GetObject para su bucket y prefijo de S3.

  • Permiso PutObject para su bucket y prefijo de S3.

  • Permiso PutObjectAcl para su bucket y prefijo de S3.

    • Amazon ML necesita este permiso para garantizar que pueda conceder el permiso ACL de control total para el propietario del bucket predefinido para su cuenta de AWS, después de que se creen los objetos.

  • Permiso ListBucket para el bucket de S3. A diferencia de otras acciones, a ListBucket se le deben conceder permisos para todo el bucket (antes que para el prefijo). Sin embargo, puede conceder el permiso a un prefijo específico mediante una cláusula Condition.

Si utiliza la consola de Amazon ML para crear la solicitud de predicción por lotes, la aplicación puede añadir estos permisos al bucket por usted. Se le pedirá que confirme si desea añadirlos a medida que complete los pasos del asistente.

La siguiente política de ejemplo muestra cómo conceder un permiso a Amazon ML para que escriba datos en la ubicación de muestra s3://examplebucket/exampleprefix, mientras que el permiso ListBucket solo se le concede a la ruta de entrada "exampleprefix" y se concede el permiso a Amazon ML para establecer las ACL del objeto en el prefijo de salida:

{ "Version": "2008-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "machinelearning.amazonaws.com"}, "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::examplebucket/exampleprefix/*" "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" } "ArnLike": { "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*" } } }, { "Effect": "Allow", "Principal": { "Service": "machinelearning.amazonaws.com"}, "Action": "s3:PutObjectAcl", "Resource": "arn:aws:s3:::examplebucket/exampleprefix/*", "Condition": { "StringEquals": { "s3:x-amz-acl":"bucket-owner-full-control" } "StringEquals": { "aws:SourceAccount": "123456789012" } "ArnLike": { "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*" } } }, { "Effect": "Allow", "Principal": {"Service": "machinelearning.amazonaws.com"}, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::examplebucket", "Condition": { "StringLike": { "s3:prefix": "exampleprefix/*" } "StringEquals": { "aws:SourceAccount": "123456789012" } "ArnLike": { "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*" } } }] }

Para aplicar esta política a sus datos, debe editar la instrucción de política asociada con el bucket de S3 donde están almacenados sus datos.

Edición de la política de permisos para un bucket de S3 (usando la consola anterior)
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. Seleccione el nombre del bucket donde se encuentran sus datos.

  3. Seleccione Properties (Propiedades).

  4. Elija Edit bucket policy (Editar política de buckets).

  5. Introduzca la política que se ha mostrado anteriormente, personalícela para adaptarla a sus necesidades y, a continuación, seleccione Save (Guardar).

  6. Seleccione Save.

Edición de la política de permisos para un bucket de S3 (usando la consola nueva)
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. Elija el nombre del bucket y seleccione Permissions (Permisos).

  3. Elija Bucket Policy (Política del bucket).

  4. Escriba la política que se ha mostrado anteriormente y personalícela para adaptarla a sus necesidades.

  5. Seleccione Save.