

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Aggiungere Confused Deputy al motore di provisioning Terraform
<a name="confused-deputy-TRFM-engine"></a>

## Chiavi contestuali Confused Deputy sugli endpoint per limitare l'accesso alle operazioni `lambda:Invoke`
<a name="confused-deputy-TRFM-lambda"></a>

La funzione Lambda del parser parametrico creata AWS Service Catalog dai motori forniti ha una politica di accesso che concede l'autorizzazione `lambda:Invoke` tra account solo al principale del servizio: 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"
        }
    ]
}
```

------

Questa dovrebbe essere l'unica autorizzazione necessaria per il corretto funzionamento dell'integrazione con. AWS Service Catalog Tuttavia, è possibile limitarlo ulteriormente utilizzando la chiave contestuale `aws:SourceAccount` [Confused Deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy). Quando AWS Service Catalog invia messaggi a queste code, AWS Service Catalog compila la chiave con l'ID dell'account di provisioning. Ciò è utile quando intendi distribuire prodotti tramite la condivisione del portafoglio e vuoi assicurarti che solo account specifici utilizzino il tuo motore.

Ad esempio, puoi limitare il tuo motore in modo da consentire solo le richieste che provengono da 000000000000 e 1111 utilizzando la condizione mostrata di seguito:

------
#### [ 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"
                    ]
                }
            }
        }
    ]
}
```

------

## Chiavi contestuali Deputy confuse sugli endpoint per limitare l'accesso alle operazioni `sqs:SendMessage`
<a name="confused-deputy-TRFM-sqs"></a>

Le code di presa in carico delle operazioni di provisioning create AWS Service Catalog dai motori forniti da -provided hanno una politica di accesso che concede autorizzazioni `sqs:SendMessage` multiaccount (e KMS associate) solo al responsabile del servizio: 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"
        }
    ]
}
```

------

Questa dovrebbe essere l'unica autorizzazione necessaria per il corretto funzionamento dell'integrazione con. AWS Service Catalog Tuttavia, è possibile limitarlo ulteriormente utilizzando la chiave contestuale `aws:SourceAccount` [Confused Deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy). Quando AWS Service Catalog invia messaggi a queste code, AWS Service Catalog compila le chiavi con l'ID dell'account di provisioning. Ciò è utile quando intendi distribuire prodotti tramite la condivisione del portafoglio e vuoi assicurarti che solo account specifici utilizzino il tuo motore.

Ad esempio, puoi limitare il tuo motore in modo da consentire solo le richieste che provengono da 000000000000 e 1111 utilizzando la condizione mostrata di seguito:

------
#### [ 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"
        }
    ]
}
```

------