

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

# Registrazione delle configurazioni con risorse AWS Config di terze parti utilizzando il AWS CLI
<a name="customresources"></a>

Registra le configurazioni per risorse di terze parti o tipi di risorse personalizzate come server locali, strumenti di monitoraggio SAAS e sistemi di controllo delle versioni (come). GitHub

È possibile pubblicare i dati di configurazione di risorse di terze parti AWS Config e visualizzare e monitorare l'inventario delle risorse e la cronologia delle configurazioni utilizzando la AWS Config console e. APIs È possibile utilizzarle AWS Config per gestire tutte le risorse e valutare la configurazione delle risorse per verificarne la conformità rispetto alle migliori pratiche utilizzando AWS Config le regole. Puoi anche creare AWS Config regole o pacchetti di conformità per valutare queste risorse di terze parti rispetto alle migliori pratiche, alle politiche interne e alle politiche normative. 

**Nota**  
Se la configurazione è stata configurata AWS Config per registrare tutti i tipi di risorse, le risorse di terze parti gestite (create, aggiornate o eliminate) tramite esse CloudFormation vengono automaticamente registrate AWS Config come elementi di configurazione.

**Prerequisito:** le risorse di terze parti o il tipo di risorsa personalizzato devono essere registrati utilizzando. CloudFormation

**Topics**
+ [Aggiungere risorse](customresources-adding.md)
+ [Registrazione degli elementi di configurazione](add-custom-resource-type-cli.md)
+ [Lettura degli elementi di configurazione](view-custom-resource-type-cli.md)
+ [Eliminazione delle risorse](delete-custom-resource-type.md)

# Aggiungere risorse di terze parti a AWS Config
<a name="customresources-adding"></a>

Segui questi passaggi per aggiungere una risorsa di terze parti a AWS Config.

**Topics**
+ [

## Fase 1: Configurare l'ambiente di sviluppo
](#customresources-setupdevenvironment)
+ [

## Fase 2: Modellare la risorsa
](#customresources-modelresource)
+ [

## Passaggio 3: Generare gli artefatti
](#generateartifactsforcfnsubmit)
+ [

## Passaggio 4: Registrare la risorsa
](#customresources-registerresource)
+ [

## Passaggio 5: Pubblicare la configurazione della risorsa
](#customresources-publishresourceconfiguration)

## Fase 1: Configurare l'ambiente di sviluppo
<a name="customresources-setupdevenvironment"></a>

Istalla e configura la CloudFormation AWS CLI. Ti AWS CLI consente di modellare e registrare le tue risorse personalizzate. Per ulteriori informazioni, consulta [Risorse personalizzate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html) e [Cos'è l'interfaccia a riga di CloudFormation comando?](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html) .

## Fase 2: Modellare la risorsa
<a name="customresources-modelresource"></a>

Crea uno schema di provider di risorse conforme e convalida la configurazione del tipo di risorsa.

1. Utilizzare il comando `init` per creare il progetto del provider di risorse e generare i file necessari.

   ```
   $ cfn init
   Initializing new project
   ```

1. Il comando `init` avvia una procedura guidata che illustra l'impostazione del progetto, inclusa la specificazione del nome della risorsa. Per questa procedura dettagliata, specificare `MyCustomNamespace::Testing::WordPress`.

   ```
   Enter resource type identifier (Organization::Service::Resource): MyCustomNamespace::Testing::WordPress
   ```

1. Immettere il nome di un pacchetto per la risorsa.

   ```
   Enter a package name (empty for default 'com.custom.testing.wordpress'): com.custom.testing.wordpress 
   Initialized a new project in /workplace/user/custom-testing-wordpress
   ```
**Nota**  
Per assicurarti che tutte le dipendenze del progetto vengano risolte correttamente, puoi importare il progetto generato nel tuo IDE con supporto Maven.  
Se ad esempio utilizzi IntelliJ IDEA, è necessario eseguire le operazioni seguenti:  
Dal menu **File**, seleziona **Nuovo**, quindi **Progetto da origini esistenti**.
Passa alla directory del progetto.
Nella finestra di dialogo **Importa progetto**, scegli **Importa progetto da modello esterno**, quindi scegli **Maven**.
Seleziona **Avanti** e accetta le impostazioni predefinite per completare l'importazione del progetto.

1. Aprire il file `mycustomnamespace-testing-wordpress.json` che contiene lo schema per la risorsa. Copiare e incollare lo schema seguente in `mycustomnamespace-testing-wordpress.json`.

   ```
   {
     "typeName": "MyCustomNamespace::Testing::WordPress",
     "description": "An example resource that creates a website based on WordPress 5.2.2.",
     "properties": {
       "Name": {
         "description": "A name associated with the website.",
         "type": "string",
         "pattern": "^[a-zA-Z0-9]{1,219}\\Z",
         "minLength": 1, "maxLength": 219
       },
       "SubnetId": {
         "description": "A subnet in which to host the website.",
         "pattern": "^(subnet-[a-f0-9]{13})|(subnet-[a-f0-9]{8})\\Z",
         "type": "string"
       },
       "InstanceId": {
         "description": "The ID of the instance that backs the WordPress site.",
         "type": "string"
       },
       "PublicIp": {
         "description": "The public IP for the WordPress site.",
         "type": "string"
       }
     },
     "required": [ "Name", "SubnetId" ],
     "primaryIdentifier": [ "/properties/PublicIp", "/properties/InstanceId" ],
     "readOnlyProperties": [ "/properties/PublicIp", "/properties/InstanceId" ],
     "additionalProperties": false
   }
   ```

1. Convalidare lo schema.

   ```
   $ cfn validate
   ```

1. Aggiornare i file generati automaticamente nel pacchetto del provider di risorse per visualizzare gli aggiornamenti dello schema del provider di risorse. All'avvio del progetto del fornitore di risorse, AWS CLI genera file e codice di supporto per il fornitore di risorse. Rigenerare il codice per visualizzare lo schema aggiornato.

   ```
   $ cfn generate
   ```
**Nota**  
Se utilizzi Maven, come parte del processo di compilazione, il comando `generate` viene eseguito automaticamente prima della compilazione del codice. Quindi le modifiche saranno sempre sincronizzate con il codice generato.  
Tieni presente che la CloudFormation CLI deve trovarsi in una posizione che il Maven/the sistema può trovare. Per ulteriori informazioni, consulta [Configurazione dell'ambiente per lo sviluppo di estensioni](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html#resource-type-setup).

Per ulteriori informazioni sulla procedura completa, consulta [Modellazione del provider di risorse per l'utilizzo in CloudFormation](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-model.html).

## Passaggio 3: Generare gli artefatti
<a name="generateartifactsforcfnsubmit"></a>

Esegui il comando seguente per generare artefatti per `cfn submit`.

```
$ mvn package
```

## Passaggio 4: Registrare la risorsa
<a name="customresources-registerresource"></a>

AWS Config non richiede che i gestori dei provider di risorse eseguano il monitoraggio della configurazione della risorsa. Esegui il comando seguente per registrare la risorsa.

```
$ cfn submit
```

Per ulteriori informazioni, vedere [Registrazione dei provider di risorse per l'uso](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-register.html) nei modelli. CloudFormation 

## Passaggio 5: Pubblicare la configurazione della risorsa
<a name="customresources-publishresourceconfiguration"></a>

Determina la configurazione per MyCustomNamespace: :Testing::. WordPress

```
{
  "Name": "MyWordPressSite",
  "SubnetId": "subnet-abcd0123",
  "InstanceId": "i-01234567",
  "PublicIp": "my-wordpress-site.com"
}
```

Determina l'id della versione dello schema da CloudFormation `DescribeType`. 

In AWS Config, puoi vedere se questa configurazione delle risorse è accettata. Per valutare la conformità puoi scrivere AWS Config regole usando questa risorsa.

(Facoltativo) Per automatizzare la registrazione della configurazione, implementa raccoglitori di configurazione periodici o basati sulle modifiche.

# Registra gli elementi di configurazione con AWS Config risorse di terze parti utilizzando il AWS CLI
<a name="add-custom-resource-type-cli"></a>

Registra un elemento di configurazione per una risorsa di terze parti o un tipo di risorsa personalizzata utilizzando la procedura seguente:

Assicurati di registrare il tipo di risorsa `MyCustomNamespace::Testing::WordPress` con lo schema corrispondente.

1. Apri un prompt dei comandi o una finestra del terminale.

1. Immetti il comando seguente:

   ```
   aws configservice put-resource-config --resource-type MyCustomNamespace::Testing::WordPress --resource-id resource-001 --schema-version-id 00000001 --configuration  '{
     "Id": "resource-001",
     "Name": "My example custom resource.",
     "PublicAccess": false
   }'
   ```

**Nota**  
Come definito nello schema dei tipi, `writeOnlyProperties` verrà rimosso dalla configurazione prima di essere registrato da AWS Config. Ciò significa che questi valori non saranno presenti quando la configurazione viene ottenuta dalla lettura APIs. Per ulteriori informazioni su `writeOnlyProperties`, consulta [Schema del tipo di risorsa](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html).

# Leggi gli elementi di configurazione con AWS Config per le risorse di terze parti utilizzando il AWS CLI
<a name="view-custom-resource-type-cli"></a>

Leggete un elemento di configurazione per una risorsa di terze parti o un tipo di risorsa personalizzato utilizzando la procedura seguente:

1. Apri un prompt dei comandi o una finestra del terminale.

1. Immetti il comando seguente:

   ```
   aws configservice list-discovered-resources --resource-type MyCustomNamespace::Testing::WordPress
   ```

1. Premere Invio.

   Verrà visualizzato un output simile al seguente:

   ```
   {
       "resourceIdentifiers": [
           {
               "resourceType": "MyCustomNamespace::Testing::WordPress",
               "resourceId": "resource-001"
           }
       ]
   }
   ```

1. Immetti il comando seguente:

   ```
   aws configservice batch-get-resource-config --resource-keys '[ { "resourceType": "MyCustomNamespace::Testing::WordPress", "resourceId": "resource-001" } ]'
   ```

1. Premere Invio.

   Verrà visualizzato un output simile al seguente:

   ```
   {
       "unprocessedResourceKeys": [],
       "baseConfigurationItems": [
           {
               "configurationItemCaptureTime": 1569605832.673,
               "resourceType": "MyCustomNamespace::Testing::WordPress",
               "resourceId": "resource-001",
               "configurationStateId": "1569605832673",
               "awsRegion": "us-west-2",
               "version": "1.3",
               "supplementaryConfiguration": {},
               "configuration": "{\"Id\":\"resource-001\",\"Name\":\"My example custom resource.\",\"PublicAccess\":false}",
               "configurationItemStatus": "ResourceDiscovered",
               "accountId": "AccountId"
           }
       ]
   }
   ```

# Eliminare risorse di terze parti dall' AWS Config utilizzo di AWS CLI
<a name="delete-custom-resource-type"></a>

Immettete il seguente comando per eliminare una risorsa di terze parti:

```
aws configservice delete-resource-config --resource-type MyCustomNamespace::Testing::WordPress --resource-id resource-002
```

In caso di esito positivo, il comando viene eseguito senza ulteriore output.