Control de acceso a los recursos de Amazon ML con IAM - 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.

Control de acceso a los recursos de Amazon ML con IAM

AWS Identity and Access Management (IAM) le permite controlar de forma segura el acceso a los servicios y recursos de AWS de los usuarios. Con IAM, puede crear y administrar usuarios, grupos y roles de AWS, y utilizar permisos para permitir y denegar su acceso a los recursos de AWS. Al utilizar IAM con Amazon Machine Learning (Amazon ML), puede controlar si los usuarios de su organización pueden utilizan recursos específicos de AWS y si pueden realizar una tarea mediante acciones específicas de la API de Amazon ML.

IAM; le permite:

  • Crear usuarios y grupos en su cuenta de AWS.

  • Asignar credenciales de seguridad únicas a cada usuario en su cuenta de AWS

  • Controlar los permisos de cada usuario para realizar tareas mediante recursos de AWS

  • Compartir fácilmente sus recursos de AWS con los usuarios de su cuenta de AWS.

  • Crear roles para su cuenta de AWS y administrar sus permisos para definir los usuarios o servicios que pueden asumir dichos roles.

  • Puede crear roles en IAM y administrar los permisos para controlar qué operaciones podrá ejecutar la entidad, o el servicio de AWS, que asuma ese rol. También puede definir a qué entidad se le permite asumir la función.

Si su organización ya tiene identidades de IAM, puede utilizarlas para conceder permisos de realización de tareas usando los recursos de AWS.

Para obtener más información acerca de IAM, consulte la guía del usuario de IAM.

Sintaxis de la política de IAM

Una política de IAM es un documento JSON que contiene una o varias instrucciones. Cada instrucción tiene la siguiente estructura:

{ "Statement":[{ "Effect":"effect", "Action":"action", "Resource":"arn", "Condition":{ "condition operator":{ "key":"value" } } }] }

Una instrucción de política incluye los siguientes elementos:

  • El Efecto controla el permiso para utilizar los recursos y acciones de la API que especifique más tarde en la instrucción. Los valores válidos son Allow y Deny. De forma predeterminada, los usuarios de IAM no tienen permiso para utilizar los recursos y las acciones de la API, por lo que se deniegan todas las solicitudes. Un valor Allow explícito anula la opción predeterminada. Un valor Deny explícito anula cualquier valor Allows explícito.

  • Con el término acción nos referimos a la acción o acciones de la API específicas a las que concede o deniega permiso.

  • Resource: el recurso al que afecta la acción. Para especificar un recurso en la instrucción se utiliza el nombre de recurso de Amazon (ARN).

  • La condición (opcional) controla cuándo entrará en vigor la política.

Para simplificar la creación y administración de políticas de IAM, puede utilizar el generador de políticas de AWS (AWS Policy Generator) y el generador de políticas de IAM (simulador de política de IAM).

Especificación de las acciones de política de IAM para Amazon MLAmazon ML

En una instrucción de política de IAM, puede especificar una acción de API para cualquier servicio que tenga soporte para IAM. Cuando crea una instrucción de política para acciones de la API de Amazon ML añada machinelearning: al nombre de la acción de la API tal y como se muestra en los ejemplos siguientes:

  • machinelearning:CreateDataSourceFromS3

  • machinelearning:DescribeDataSources

  • machinelearning:DeleteDataSource

  • machinelearning:GetDataSource

Para especificar varias acciones en una única instrucción, sepárelas con comas:

"Action": ["machinelearning:action1", "machinelearning:action2"]

También puede utilizar caracteres comodín para especificar varias acciones. Por ejemplo, puede especificar todas las acciones cuyo nombre comience por la palabra "Get":

"Action": "machinelearning:Get*"

Para especificar todas las acciones de Amazon ML, use el carácter comodín * del siguiente modo:

"Action": "machinelearning:*"

Para obtener la lista completa de acciones de la API de Amazon ML, consulte la Referencia de la API de Amazon Machine Learning.

Especificar el ARN para recursos de Amazon ML en políticas de IAM

Las instrucciones de política de IAM se aplican a uno o más recursos. Los recursos para sus políticas se especifican mediante el ARN.

Para especificar el ARN para recursos de Amazon ML, utilice el formato siguiente:

"Recurso": arn:aws:machinelearning:region:account:resource-type/identifier

Los siguientes ejemplos muestran cómo especificar ARN comunes.

ID de la fuente de datos: my-s3-datasource-id

"Resource": arn:aws:machinelearning:<region>:<your-account-id>:datasource/my-s3-datasource-id

ID del modelo de ML: my-ml-model-id

"Resource": arn:aws:machinelearning:<region>:<your-account-id>:mlmodel/my-ml-model-id

ID de la predicción por lotes: my-batchprediction-id

"Resource": arn:aws:machinelearning:<region>:<your-account-id>:batchprediction/my-batchprediction-id

ID de la evaluación: my-evaluation-id

"Resource": arn:aws:machinelearning:<region>:<your-account-id>:evaluation/my-evaluation-id

Ejemplos de políticas para Amazon ML

Ejemplo 1: permitir que los usuarios lean metadatos de recursos de aprendizaje automático

La política siguiente permite que un usuario o grupo lea los metadatos de los orígenes de datos, modelos de ML, predicciones por lotes y evaluaciones llevando a cabo las acciones DescribeDataSources, DescribeMLModels, DescribeBatchPredictions, DescribeEvaluations, GetDataSource, GetMLModel, GetBatchPrediction y GetEvaluation en los recursos especificados. No se pueden restringir los permisos para las operaciones "Describe *" a un recurso concreto.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "machinelearning:Get*" ], "Resource": [ "arn:aws:machinelearning:<region>:<your-account-id>:datasource/S3-DS-ID1", "arn:aws:machinelearning:<region>:<your-account-id>:datasource/REDSHIFT-DS-ID1", "arn:aws:machinelearning:<region>:<your-account-id>:mlmodel/ML-MODEL-ID1", "arn:aws:machinelearning:<region>:<your-account-id>:batchprediction/BP-ID1", "arn:aws:machinelearning:<region>:<your-account-id>:evaluation/EV-ID1" ] }, { "Effect": "Allow", "Action": [ "machinelearning:Describe*" ], "Resource": [ "*" ] }] }

Ejemplo 2: permitir que los usuarios creen recursos de aprendizaje automático

La política siguiente permite que un usuario o grupo cree fuentes de datos de aprendizaje automático, modelos de ML, predicciones por lotes y evaluaciones llevando a cabo las acciones CreateDataSourceFromS3, CreateDataSourceFromRedshift, CreateDataSourceFromRDS, CreateMLModel, CreateBatchPrediction y CreateEvaluation. No puede restringir los permisos para estas acciones a un recurso específico.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "machinelearning:CreateDataSourceFrom*", "machinelearning:CreateMLModel", "machinelearning:CreateBatchPrediction", "machinelearning:CreateEvaluation" ], "Resource": [ "*" ] }] }

Ejemplo 3: permitir que los usuarios creen y eliminen puntos de enlace en tiempo real y realicen predicciones en tiempo real en un modelo de ML

La política siguiente permite que los usuarios o grupos creen y eliminen puntos de enlace en tiempo real y realicen predicciones en tiempo real para un modelo de ML específico llevando a cabo las acciones CreateRealtimeEndpoint, DeleteRealtimeEndpoint y Predict en ese modelo.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "machinelearning:CreateRealtimeEndpoint", "machinelearning:DeleteRealtimeEndpoint", "machinelearning:Predict" ], "Resource": [ "arn:aws:machinelearning:<region>:<your-account-id>:mlmodel/ML-MODEL" ] }] }

Ejemplo 4: permitir que los usuarios actualicen y eliminen recursos específicos

La política siguiente permite que un usuario o grupo actualice y elimine recursos específicos en su cuenta de AWS dándoles permiso para llevar a cabo las acciones UpdateDataSource, UpdateMLModel, UpdateBatchPrediction, UpdateEvaluation, DeleteDataSource, DeleteMLModel, DeleteBatchPrediction y DeleteEvaluation en esos recursos de su cuenta.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "machinelearning:Update*", "machinelearning:DeleteDataSource", "machinelearning:DeleteMLModel", "machinelearning:DeleteBatchPrediction", "machinelearning:DeleteEvaluation" ], "Resource": [ "arn:aws:machinelearning:<region>:<your-account-id>:datasource/S3-DS-ID1", "arn:aws:machinelearning:<region>:<your-account-id>:datasource/REDSHIFT-DS-ID1", "arn:aws:machinelearning:<region>:<your-account-id>:mlmodel/ML-MODEL-ID1", "arn:aws:machinelearning:<region>:<your-account-id>:batchprediction/BP-ID1", "arn:aws:machinelearning:<region>:<your-account-id>:evaluation/EV-ID1" ] }] }

Ejemplo 5: permitir cualquier MLAction de Amazon

La política siguiente permite que un usuario o grupo lleve a cabo cualquier acción de Amazon ML. Dado que esta política concede acceso completo a todos sus recursos de aprendizaje automático, debe restringirla solo a los administradores.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "machinelearning:*" ], "Resource": [ "*" ] }] }