Prevenção do problema ‘Confused Deputy’ entre serviços - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Prevenção do problema ‘Confused Deputy’ entre serviços

O problema “confused deputy” é um problema de segurança em que uma entidade que não tem permissão para executar uma ação pode coagir uma entidade mais privilegiada a executá-la. Em AWS, o confuso problema do deputado pode surgir devido à falsificação de identidade entre serviços. A representação entre serviços pode ocorrer quando um serviço (o serviço de chamada) invoca outro serviço (o serviço chamado) e aproveita as permissões elevadas do serviço chamado para agir em recursos que o serviço de chamada não tem autorização para acessar. Para evitar o acesso não autorizado por meio do confuso problema do deputado, AWS fornece ferramentas para ajudar a proteger seus dados em todos os serviços. Essas ferramentas ajudam você a controlar as permissões concedidas aos diretores de serviços, limitando o acesso deles somente aos recursos necessários em sua conta. Ao gerenciar cuidadosamente os privilégios de acesso dos diretores de serviços, você pode ajudar a reduzir o risco de os serviços acessarem indevidamente dados ou recursos para os quais não deveriam ter permissões.

Continue lendo para obter orientações gerais ou navegue até um exemplo de um SageMaker recurso específico:

Limitar as permissões com chaves de condição globais

Recomendamos usar as chaves de condição aws:SourceAccount globais aws:SourceArn e as chaves de condição nas políticas de recursos para limitar as permissões ao recurso que a Amazon SageMaker fornece a outro serviço. Se você utilizar ambas as chaves de condição global e o valor aws:SourceArn contiver o ID da conta, o valor aws:SourceAccount e a conta no valor aws:SourceArn deverão utilizar o mesmo ID de conta quando utilizados na mesma declaração da política. Use aws:SourceArn se quiser que apenas um recurso seja associado ao acesso entre serviços. Use aws:SourceAccount se quiser permitir que qualquer recurso nessa conta seja associado ao uso entre serviços.

A maneira mais eficaz de se proteger contra o confuso problema do deputado é usar a chave ARN de condição aws:SourceArn global com o recurso completo. Se você não souber a totalidade ARN do recurso ou se estiver especificando vários recursos, use a chave de condição aws:SourceArn global com curingas (*) para as partes desconhecidas do. ARN Por exemplo, arn:aws:sagemaker:*:123456789012:*.

O exemplo a seguir mostra como você pode usar as chaves de condição aws:SourceAccount global aws:SourceArn e as chaves de condição SageMaker para evitar o problema confuso do substituto.

{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, # Specify an action and resource policy for another service "Action": "service:ActionName", "Resource": [ "arn:aws:service:::ResourceName/*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:partition:sagemaker:region:123456789012:*" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } }

SageMaker Gerente de borda

O exemplo a seguir mostra como você pode usar a chave de condição aws:SourceArn global para evitar o problema confuso de substituto entre serviços do SageMaker Edge Manager criado pelo número da conta. 123456789012 no us-west-2 Região.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:*" } } } }

Você pode substituir o aws:SourceArn neste modelo pelo completo de um trabalho ARN de empacotamento específico para limitar ainda mais as permissões.

SageMaker Imagens

O exemplo a seguir mostra como você pode usar a chave de condição aws:SourceArn global para evitar o problema confuso de substitutos entre serviços do SageMaker Images. Use este modelo com um Image ou ImageVersion. Este exemplo usa um ImageVersion registro ARN com o número da conta 123456789012. Observe que, como o número da conta faz parte do aws:SourceArn valor, você não precisa especificar um aws:SourceAccount valor.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:partition:sagemaker:us-west-2:123456789012:image-version" } } } }

Não substitua o aws:SourceArn deste modelo pelo completo ARN de uma imagem ou versão de imagem específica. O ARN deve estar no formato fornecido acima e especificar image ouimage-version. O partition espaço reservado deve designar uma partição AWS comercial (aws) ou uma partição AWS na China (aws-cn), dependendo de onde a imagem ou a versão da imagem estão sendo executadas. Da mesma forma, o region espaço reservado no ARN pode ser qualquer região válida em que SageMaker as imagens estejam disponíveis.

SageMaker Inferência

O exemplo a seguir mostra como você pode usar a chave de condição aws:SourceArn global para evitar o problema confuso de substitutos entre serviços para inferência SageMaker em tempo real, sem servidor e assíncrona. Observe que, como o número da conta faz parte do valor aws:SourceArn, você não precisa especificar um valor aws:SourceAccount.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:*" } } } }

Não substitua o aws:SourceArn deste modelo pelo completo ARN de um modelo ou endpoint específico. Eles ARN devem estar no formato fornecido acima. O asterisco no ARN modelo não significa curinga e não deve ser alterado.

SageMaker Trabalhos de transformação em lote

O exemplo a seguir mostra como você pode usar a chave de condição aws:SourceArn global para evitar o problema confuso de substitutos entre serviços para trabalhos de transformação SageMaker em lote criados pelo número da conta. 123456789012 no us-west-2 Região. Observe que, como o número da conta está noARN, você não precisa especificar um aws:SourceAccount valor.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:transform-job/*" } } } ] }

Você pode substituir o aws:SourceArn neste modelo pelo completo ARN de uma tarefa específica de transformação em lote para limitar ainda mais as permissões.

SageMaker Marketplace

O exemplo a seguir mostra como você pode usar a chave de condição aws:SourceArn global para evitar o problema confuso de substitutos entre serviços para recursos do SageMaker Marketplace criados pelo número da conta. 123456789012 no us-west-2 Região. Observe que, como o número da conta está noARN, você não precisa especificar um aws:SourceAccount valor.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:*" } } } ] }

Não substitua o aws:SourceArn deste modelo pelo completo ARN de um algoritmo ou pacote de modelo específico. Eles ARN devem estar no formato fornecido acima. O asterisco no ARN modelo significa curinga e abrange todos os trabalhos de treinamento, modelos e trabalhos de transformação em lote das etapas de validação, bem como pacotes de algoritmos e modelos publicados no Marketplace SageMaker .

SageMaker Neo

O exemplo a seguir mostra como você pode usar a chave de condição aws:SourceArn global para evitar o problema confuso de substitutos entre serviços para trabalhos de compilação do SageMaker Neo criados pelo número da conta. 123456789012 no us-west-2 Região. Observe que, como o número da conta está noARN, você não precisa especificar um aws:SourceAccount valor.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:compilation-job/*" } } } ] }

Você pode substituir o aws:SourceArn neste modelo pelo completo ARN de um trabalho de compilação específico para limitar ainda mais as permissões.

SageMaker Oleodutos

O exemplo a seguir mostra como você pode usar a chave de condição aws:SourceArn global para evitar o problema confuso de substitutos entre serviços para SageMaker pipelines usando registros de execução de pipeline de um ou mais pipelines. Observe que, como o número da conta está noARN, você não precisa especificar um aws:SourceAccount valor.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:partition:sagemaker:region:123456789012:pipeline/mypipeline/*" } } } ] }

Não substitua o aws:SourceArn neste modelo pelo completo ARN de uma execução de pipeline específica. Eles ARN devem estar no formato fornecido acima. O partition espaço reservado deve designar uma partição AWS comercial (aws) ou uma partição AWS na China (aws-cn), dependendo de onde o pipeline está sendo executado. Da mesma forma, o region espaço reservado no ARN pode ser qualquer região válida em que os SageMaker Pipelines estejam disponíveis.

O asterisco no ARN modelo significa curinga e cobre todas as execuções de um pipeline chamado. mypipeline Se você quiser conceder as permissões AssumeRole para todos os pipelines na conta 123456789012 em vez de um pipeline específico, então o aws:SourceArn seria arn:aws:sagemaker:*:123456789012:pipeline/*.

SageMaker Trabalhos de processamento

O exemplo a seguir mostra como você pode usar a chave de condição aws:SourceArn global para evitar o problema confuso de substitutos entre serviços no SageMaker processamento de trabalhos criados pelo número da conta. 123456789012 no us-west-2 Região. Observe que, como o número da conta está noARN, você não precisa especificar um aws:SourceAccount valor.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:processing-job/*" } } } ] }

Você pode substituir o aws:SourceArn neste modelo pelo completo ARN de um trabalho de processamento específico para limitar ainda mais as permissões.

SageMaker Estúdio

O exemplo a seguir mostra como você pode usar a chave de condição aws:SourceArn global para evitar o problema confuso de substitutos entre serviços do SageMaker Studio, criado pelo número da conta. 123456789012 no us-west-2 Região. Observe que, como o número da conta faz parte do valor aws:SourceArn, você não precisa especificar um valor aws:SourceAccount.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:*" } } } ] }

Não substitua o aws:SourceArn deste modelo pelo completo ARN de um aplicativo, perfil de usuário ou domínio específico do Studio. Eles ARN devem estar no formato fornecido no exemplo anterior. O asterisco no ARN modelo não significa curinga e não deve ser alterado.

SageMaker Empregos de treinamento

O exemplo a seguir mostra como você pode usar a chave de condição aws:SourceArn global para evitar o problema confuso de substitutos entre serviços em trabalhos de SageMaker treinamento criados pelo número da conta. 123456789012 no us-west-2 Região. Observe que, como o número da conta está noARN, você não precisa especificar um aws:SourceAccount valor.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:training-job/*" } } } ] }

Você pode substituir o aws:SourceArn neste modelo pelo completo ARN de um trabalho de treinamento específico para limitar ainda mais as permissões.

A seguir

Para obter mais informações sobre o gerenciamento de funções de execução, consulte SageMaker Funções.