

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á.

# Cross-service prevenção delegada confusa
<a name="security-confused-deputy-prevention"></a>

O [problema “confused deputy”](https://docs.aws.amazon.com/IAM/latest/UserGuide/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. Cross-service a representação 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 às entidades principais de serviço, limitando o acesso somente aos recursos necessários em sua conta. Ao gerenciar cuidadosamente os privilégios de acesso das entidades principais de serviço, 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 recurso específico de SageMaker IA:

**Topics**
+ [Limitar as permissões com chaves de condição globais](#security-confused-deputy-context-keys)
+ [SageMaker Gerente de borda](#security-confused-deputy-edge-manager)
+ [SageMaker Imagens](#security-confused-deputy-images)
+ [SageMaker Inferência de IA](#security-confused-deputy-inference)
+ [SageMaker Trabalhos de AI Batch Transform](#security-confused-deputy-batch)
+ [SageMaker AI Marketplace](#security-confused-deputy-marketplace)
+ [SageMaker Neo](#security-confused-deputy-neo)
+ [SageMaker Oleodutos](#security-confused-deputy-pipelines)
+ [SageMaker Trabalhos de processamento](#security-confused-deputy-processing-job)
+ [SageMaker Estúdio](#security-confused-deputy-studio)
+ [SageMaker Empregos de treinamento](#security-confused-deputy-training-job)

## Limitar as permissões com chaves de condição globais
<a name="security-confused-deputy-context-keys"></a>

Recomendamos usar as chaves de condição `[aws:SourceAccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)` globais `[aws:SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)` e as chaves de condição nas políticas de recursos para limitar as permissões ao recurso que a Amazon SageMaker AI 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 problema ‘confused deputy’ é usar a chave de condição global `aws:SourceArn` com o ARN completo do recurso. Se você não souber o ARN completo do recurso ou estiver especificando vários recursos, use a chave de contexto global `aws:SourceArn` 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 `aws:SourceArn` de condição `aws:SourceAccount` globais na SageMaker IA para evitar o problema confuso do substituto.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Sid": "ConfusedDeputyPreventionExamplePolicy",
    "Effect": "Allow",
    "Principal": {
      "Service": "sagemaker.amazonaws.com"
    },
    "Action": "{{sagemaker}}:{{StartSession}}",
    "Resource": "arn:aws:{{sagemaker}}:{{us-east-1}}:{{123456789012}}:{{ResourceName}}/*",
    "Condition": {
      "ArnLike": {
        "aws:SourceArn": "arn:aws:sagemaker:{{us-east-1}}:{{123456789012}}:*"
      },
      "StringEquals": {
        "aws:SourceAccount": "{{123456789012}}"
      }
    }
  }
}
```

------

## SageMaker Gerente de borda
<a name="security-confused-deputy-edge-manager"></a>

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}} na {{us-west-2}} região.

------
#### [ JSON ]

****  

```
{
  "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 ARN completo de um trabalho de empacotamento específico para limitar ainda mais as permissões.

## SageMaker Imagens
<a name="security-confused-deputy-images"></a>

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](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html). Use este modelo com um `[Image](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Image.html)` ou `[ImageVersion](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ImageVersion.html)`. Este exemplo usa um ARN de `ImageVersion` registro com o número da conta. {{123456789012}} Observe que, como o número da conta faz parte do valor `aws:SourceArn`, você não precisa especificar um valor `aws:SourceAccount`.

------
#### [ JSON ]

****  

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

------

Não substitua o `aws:SourceArn` neste modelo pelo ARN completo de uma imagem ou versão de imagem específica. O ARN deve estar no formato fornecido acima e especificar `image` ou `image-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](https://docs.aws.amazon.com/sagemaker/latest/dg/regions-quotas.html) em que as imagens SageMaker estejam disponíveis.

## SageMaker Inferência de IA
<a name="security-confused-deputy-inference"></a>

[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 assíncrona, [em tempo real](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints) e [em tempo real](https://docs.aws.amazon.com/sagemaker/latest/dg/serverless-endpoints) de SageMaker IA.](https://docs.aws.amazon.com/sagemaker/latest/dg/async-inference) Observe que, como o número da conta faz parte do valor `aws:SourceArn`, você não precisa especificar um valor `aws:SourceAccount`.

------
#### [ JSON ]

****  

```
{
  "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` neste modelo pelo ARN completo de um modelo ou endpoint específicos. O ARN deve estar no formato fornecido acima. O asterisco no modelo ARN não significa um curinga e não deve ser alterado. 

## SageMaker Trabalhos de AI Batch Transform
<a name="security-confused-deputy-batch"></a>

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 em lote](https://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform.html) de SageMaker IA criados pelo número da conta {{123456789012}} na {{us-west-2}} região. Observe que, como o número da conta consta no ARN, você não precisa especificar um valor `aws:SourceAccount`.

------
#### [ JSON ]

****  

```
{
  "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 ARN completo de um trabalho de transformação de lotes específico para limitar ainda mais as permissões. 

## SageMaker AI Marketplace
<a name="security-confused-deputy-marketplace"></a>

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

------
#### [ JSON ]

****  

```
{
  "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` neste modelo pelo ARN completo de um pacote de modelos ou algoritmo específicos. O ARN deve estar no formato fornecido acima. O asterisco no modelo ARN 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 AI Marketplace. SageMaker 

## SageMaker Neo
<a name="security-confused-deputy-neo"></a>

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}} na {{us-west-2}} região. Observe que, como o número da conta consta no ARN, você não precisa especificar um valor `aws:SourceAccount`.

------
#### [ JSON ]

****  

```
{
  "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 ARN completo de um trabalho de compilação específico para limitar ainda mais as permissões.

## SageMaker Oleodutos
<a name="security-confused-deputy-pipelines"></a>

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](https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines-overview.html) usando registros de execução de pipeline de um ou mais pipelines. Observe que, como o número da conta consta no ARN, você não precisa especificar um valor `aws:SourceAccount`.

------
#### [ JSON ]

****  

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

------

Não substitua o `aws:SourceArn` neste modelo pelo ARN completo de uma execução de pipeline específica. O ARN deve 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](https://docs.aws.amazon.com/sagemaker/latest/dg/regions-quotas.html) em que os pipelines SageMaker estejam disponíveis.

O asterisco no modelo ARN significa curinga e abrange 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
<a name="security-confused-deputy-processing-job"></a>

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 processar trabalhos criados pelo número da conta {{123456789012}} na {{us-west-2}} região. Observe que, como o número da conta consta no ARN, você não precisa especificar um valor `aws:SourceAccount`.

------
#### [ JSON ]

****  

```
{
  "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 ARN completo de um trabalho de processamento específico para limitar ainda mais as permissões.

## SageMaker Estúdio
<a name="security-confused-deputy-studio"></a>

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}} na {{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`. 

------
#### [ JSON ]

****  

```
{
  "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` neste modelo pelo ARN completo de uma aplicação, perfil de usuário ou domínio específico do Studio. O ARN deve estar no formato fornecido no exemplo anterior. O asterisco no modelo ARN não significa um curinga e não deve ser alterado.

## SageMaker Empregos de treinamento
<a name="security-confused-deputy-training-job"></a>

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 empregos de SageMaker treinamento criados pelo número da conta {{123456789012}} na {{us-west-2}} região. Observe que, como o número da conta consta no ARN, você não precisa especificar um valor `aws:SourceAccount`.

------
#### [ JSON ]

****  

```
{
  "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 ARN completo de um trabalho de treinamento específico para limitar ainda mais as permissões.

**A seguir**  
Para obter mais informações sobre como gerenciar funções de execução, consulte [Funções de SageMaker IA](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles).