

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

# Adicionar Confused Deputy ao seu mecanismo de provisionamento do Terraform
<a name="confused-deputy-TRFM-engine"></a>

## Chaves de contexto Confused Deputy nos endpoints para restringir o acesso às operações `lambda:Invoke`
<a name="confused-deputy-TRFM-lambda"></a>

A função Lambda do analisador de parâmetros criada AWS Service Catalog por mecanismos fornecidos tem uma política de acesso que concede permissão `lambda:Invoke` entre contas somente ao responsável pelo serviço: AWS Service Catalog 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "servicecatalog.amazonaws.com"
            },
            "Action": "lambda:InvokeFunction",
            "Resource": "arn:aws:lambda:us-east-1:{{111122223333}}:function:ServiceCatalogTerraformOSParameterParser"
        }
    ]
}
```

------

Essa deve ser a única permissão necessária para que AWS Service Catalog a integração funcione corretamente. No entanto, você pode restringir isso ainda mais usando a chave de contexto `aws:SourceAccount` [Confused Deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy). Ao AWS Service Catalog enviar mensagens para essas filas, AWS Service Catalog preenche a chave com o ID da conta de aprovisionamento. Isso é útil quando você pretende distribuir produtos por meio do compartilhamento de portfólio e quer garantir que somente contas específicas estejam usando seu mecanismo.

Por exemplo, você pode restringir seu mecanismo para permitir somente solicitações originadas de 000000000000 e 111111111111 usando a condição mostrada abaixo:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "servicecatalog.amazonaws.com"
            },
            "Action": "lambda:InvokeFunction",
            "Resource": "arn:aws:lambda:us-east-1:{{111122223333}}:function:ServiceCatalogTerraformOSParameterParser",
            "Condition": {
                "StringLike": {
                    "aws:SourceAccount": [
                        "000000000000",
                        "111111111111"
                    ]
                }
            }
        }
    ]
}
```

------

## Chaves de contexto Confused Deputy nos endpoints para restringir o acesso às operações `sqs:SendMessage`
<a name="confused-deputy-TRFM-sqs"></a>

As filas de entrada da operação de provisionamento do Amazon SQS criadas AWS Service Catalog por mecanismos fornecidos têm uma política de acesso que concede permissões `sqs:SendMessage` entre contas (e KMS associadas) somente ao responsável pelo serviço: AWS Service Catalog 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Enable AWS Service Catalog to send messages to the queue",
            "Effect": "Allow",
            "Principal": {
                "Service": "servicecatalog.amazonaws.com"
            },
            "Action": "sqs:SendMessage",
            "Resource": [
                "arn:aws:sqs:us-east-1:{{111122223333}}:ServiceCatalogTerraformOSProvisionOperationQueue"
            ]
        },
        {
            "Sid": "Enable AWS Service Catalog encryption/decryption permissions when sending message to queue",
            "Effect": "Allow",
            "Principal": {
                "Service": "servicecatalog.amazonaws.com"
            },
            "Action": [
                "kms:DescribeKey",
                "kms:Decrypt",
                "kms:ReEncryptFrom",
                "kms:ReEncryptTo",
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:{{111122223333}}:key/key_id"
        }
    ]
}
```

------

Essa deve ser a única permissão necessária para que AWS Service Catalog a integração funcione corretamente. No entanto, você pode restringir isso ainda mais usando a chave de contexto `aws:SourceAccount` [Confused Deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy). Ao AWS Service Catalog enviar mensagens para essas filas, AWS Service Catalog preenche as chaves com o ID da conta de aprovisionamento. Isso é útil quando você pretende distribuir produtos por meio do compartilhamento de portfólio e quer garantir que somente contas específicas estejam usando seu mecanismo.

Por exemplo, você pode restringir seu mecanismo para permitir somente solicitações originadas de 000000000000 e 111111111111 usando a condição mostrada abaixo:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Enable AWS Service Catalog to send messages to the queue",
            "Effect": "Allow",
            "Principal": {
                "Service": "servicecatalog.amazonaws.com"
            },
            "Action": "sqs:SendMessage",
            "Resource": [
                "arn:aws:sqs:us-east-1:{{111122223333}}:ServiceCatalogTerraformOSProvisionOperationQueue"
            ],
            "Condition": {
                "StringLike": {
                    "aws:SourceAccount": [
                        "000000000000",
                        "111111111111"
                    ]
                }
            }
        },
        {
            "Sid": "Enable AWS Service Catalog encryption/decryption permissions when sending message to queue",
            "Effect": "Allow",
            "Principal": {
                "Service": "servicecatalog.amazonaws.com"
            },
            "Action": [
                "kms:DescribeKey",
                "kms:Decrypt",
                "kms:ReEncryptFrom",
                "kms:ReEncryptTo",
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:{{111122223333}}:key/key_id"
        }
    ]
}
```

------