Controlar o acesso aos recursos do Amazon ML com o IAM - Amazon Machine Learning

Não estamos mais atualizando o serviço Amazon Machine Learning nem aceitando novos usuários para ele. Essa documentação está disponível para usuários existentes, mas não estamos mais atualizando-a. Para obter mais informações, consulte O que é o Amazon Machine Learning.

Controlar o acesso aos recursos do Amazon ML com o IAM

O AWS Identity and Access Management (IAM) permite que você controle com segurança o acesso aos serviços e aos recursos da AWS para seus usuários. Usando o IAM, você pode criar e gerenciar usuários, grupos e funções da AWS, e usar permissões para conceder ou negar acesso aos recursos da AWS. Usando o IAM com o Amazon Machine Learning (Amazon ML), você pode controlar se os usuários de sua organização podem usar recursos específicos da AWS e se podem executar uma tarefa usando ações específicas da API do Amazon ML.

O IAM permite:

  • Criar usuários e grupos na conta da AWS.

  • Atribua credenciais de segurança exclusivas a cada usuário em sua conta da AWS

  • Controle as permissões de cada usuário para executar tarefas usando recursos da AWS

  • Compartilhar com facilidade os recursos da AWS com os usuários na sua conta da AWS

  • Criar funções para sua conta da AWS e gerenciar permissões para elas para definir os usuários ou os serviços que podem assumi-las

  • Você pode criar funções no IAM e gerenciar permissões para controlar quais operações podem ser executadas pela entidade ou pelo serviço da AWS que assume a função. É possível também definir qual entidade tem permissão para assumir a atribuição.

Se a sua organização já tem identidades do IAM, você pode usá-las para conceder permissões para executar tarefas usando recursos da AWS.

Para obter mais informações sobre o IAM, consulte o Manual do usuário do IAM.

Sintaxe de política do IAM

A política do IAM é um documento JSON que consiste em uma ou mais declarações. Cada instrução tem a seguinte estrutura:

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

Uma declaração da política inclui os seguintes elementos:

  • Efeito: controla a permissão para usar os recursos e as ações da API que você especificará posteriormente na instrução. Os valores válidos são Allow e Deny. Por padrão, os usuários do IAM não têm permissão para usar recursos e ações da API. Por isso, todas as solicitações são negadas. Um Allow explícito substitui o padrão. Um Deny explícito substitui qualquer Allows.

  • Ação: a ação ou as ações específicas da API para as quais você está concedendo ou negando permissão.

  • Resource: o recurso afetado pela ação. Para especificar um recurso na declaração, use o respectivo nome de recurso da Amazon (ARN).

  • Condição (opcional): controla quando a política entrará em vigor.

Para simplificar a criação e o gerenciamento de políticas do IAM, você pode usar o AWS Policy Generator e o simulador de políticas do IAM.

Especificar ações de política do IAM para o Amazon ML

Em uma declaração de política do IAM, você pode especificar uma ação de API para qualquer serviço que dê suporte ao IAM. Quando você criar uma declaração de política para ações de API do Amazon ML, insira machinelearning: no nome da ação da API, como mostrado nos exemplos a seguir:

  • machinelearning:CreateDataSourceFromS3

  • machinelearning:DescribeDataSources

  • machinelearning:DeleteDataSource

  • machinelearning:GetDataSource

Para especificar várias ações em uma única declaração, separe-as com vírgulas:

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

Também é possível especificar várias ações usando caracteres curinga. Por exemplo, você pode especificar todas as ações cujo nome começa com a palavra "Get":

"Action": "machinelearning:Get*"

Para especificar todas as ações do Amazon ML, use o caractere curinga *:

"Action": "machinelearning:*"

Para obter uma lista completa de ações do Amazon ML, consulte a Referência da API do Amazon Machine Learning.

Especificar ARNs para recursos do Amazon ML em políticas do IAM

As declarações de política do IAM se aplicam a um ou mais recursos. Você especifica recursos para suas políticas pelos respectivos ARNs.

Para especificar os ARNs para recursos do Amazon ML, use o seguinte formato:

“Recurso”, arn:aws:machinelearning:region:account:resource-type/identifier

Os exemplos a seguir mostram como especificar ARNs comuns.

ID da fonte de dados: my-s3-datasource-id

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

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

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

ID da previsão em lote: my-batchprediction-id

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

ID da avaliação: my-evaluation-id

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

Exemplos de políticas do Amazon ML

Exemplo 1: Permitir que os usuários leiam metadados de recursos de machine learning

A seguinte política permite que um usuário ou um grupo leia os metadados de fontes de dados, modelos de ML, previsões em lotes e avaliações executando as ações DescribeDataSources, DescribeMLModels, DescribeBatchPredictions, DescribeEvaluations, GetDataSource, GetMLModel, GetBatchPrediction e GetEvaluation nos recursos especificados. As permissões das operações Describe* não podem ser restritas a um recurso específico.

{ "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": [ "*" ] }] }

Exemplo 2: Permitir que os usuários criem recursos de machine learning

A seguinte política permite que um usuário ou um grupo crie fontes de dados de Machine Learning, modelos de ML, previsões em lote e avaliações executando as ações CreateDataSourceFromS3, CreateDataSourceFromRedshift, CreateDataSourceFromRDS, CreateMLModel, CreateBatchPrediction e CreateEvaluation. Não é possível restringir as permissões dessas ações a um recurso específico.

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

Exemplo 3: Permitir que os usuários criem e excluam endpoints em tempo real e executem previsões em tempo real em um modelo de ML

A seguinte política permite que os usuários ou os grupos criem e excluam endpoints em tempo real e executem previsões em tempo real para um determinado modelo de ML executando as ações CreateRealtimeEndpoint, DeleteRealtimeEndpoint e Predict nesse 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" ] }] }

Exemplo 4: Permitir que os usuários atualizem e excluam recursos específicos

A seguinte política permite que um usuário ou um grupo atualize e exclua recursos específicos em sua conta da AWS concedendo a eles permissão para executar as ações UpdateDataSource, UpdateMLModel, UpdateBatchPrediction, UpdateEvaluation, DeleteDataSource, DeleteMLModel, DeleteBatchPrediction e DeleteEvaluation nesses recursos em sua conta.

{ "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" ] }] }

Exemplo 5: permitir qualquer ação do Amazon ML

A política a seguir permite que um usuário ou um grupo execute qualquer ação do Amazon ML. Como a política concede acesso total a todos os recursos de Machine Learning, restrinja-a a somente administradores.

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