Come posso ricreare un canale di distribuzione AWS Config?

6 minuti di lettura
0

Ho eliminato il mio canale di distribuzione AWS Config. Come posso ricrearlo?

Descrizione breve

Quando configuri AWS Config utilizzando la console AWS Config, trovi un processo specifico che ti guida per configurare le risorse AWS finalizzate a inviare notifiche al canale di distribuzione. La configurazione di AWS Config include la configurazione di un bucket Amazon Simple Storage Service (Amazon S3), un argomento Amazon Simple Notification Service (Amazon SNS), un ruolo AWS Identity and Access Management (AWS IAM) e i tipi di risorse da registrare.

Se elimini un canale di distribuzione di AWS Config utilizzando il comando delete-delivery-channel dell'Interfaccia della linea di comando AWS (AWS CLI), il registratore di configurazione si disattiva. Il tentativo di riattivare il registratore di configurazione restituisce l'errore "AWS Config cannot start recording because the delivery channel was not found".

Nota: Non puoi ricreare il canale di distribuzione utilizzando la console AWS Config.

Soluzione

Segui queste istruzioni per ricreare manualmente il canale di distribuzione AWS Config e attivare il registratore di configurazione.

Nota: Se non hai eliminato il bucket Amazon S3, l'argomento S3 e il ruolo IAM associati al canale di distribuzione AWS Config eliminato, puoi saltare questi passaggi.

Creazione del bucket Amazon S3

1.    Apri la console Amazon S3 nella stessa Regione del tuo servizio AWS Config e scegli Crea bucket.

2.    In Nome bucket, inserisci un nome per il bucket S3, quindi scegli Successivo.

3.    Scegli Successivo, Successivo e poi Crea bucket.

4.    In Bucket S3, scegli il bucket S3 che hai appena creato nel passaggio 3.

5.    Scegli Autorizzazioni, quindi Policy bucket.

6.    Copia e incolla il seguente esempio di policy bucket, quindi scegli Salva.

{
 "Version": "2012-10-17",
 "Statement": [
  {
   "Sid": "AWSConfigBucketPermissionsCheck",
   "Effect": "Allow",
   "Principal": {
    "Service": "config.amazonaws.com"
   },
   "Action": "s3:GetBucketAcl",
   "Resource": "arn:aws:s3:::targetBucketName",
   "Condition": {
    "StringEquals": {
     "AWS:SourceAccount": "sourceAccountID"
    }
   }
  },
  {
   "Sid": "AWSConfigBucketExistenceCheck",
   "Effect": "Allow",
   "Principal": {
    "Service": "config.amazonaws.com"
   },
   "Action": "s3:ListBucket",
   "Resource": "arn:aws:s3:::targetBucketName",
   "Condition": {
    "StringEquals": {
     "AWS:SourceAccount": "sourceAccountID"
    }
   }
  },
  {
   "Sid": "AWSConfigBucketDelivery",
   "Effect": "Allow",
   "Principal": {
    "Service": "config.amazonaws.com"
   },
   "Action": "s3:PutObject",
   "Resource": "arn:aws:s3:::targetBucketName/[optional] prefix/AWSLogs/sourceAccountID/Config/*",
   "Condition": {
    "StringEquals": {
     "s3:x-amz-acl": "bucket-owner-full-control",
     "AWS:SourceAccount": "sourceAccountID"
    }
   }
  }
 ]
}

Creazione dell'argomento SNS

1.    Apri la console Amazon SNS nella stessa Regione del tuo servizio AWS Config, quindi scegli Argomenti.

2.    Scegli Crea argomento.

3.    Per Nome, inserisci un nome per la tua policy. Quindi, scegli Crea argomento.

4.    Scegli Crea iscrizione.

5.    Per Protocollo, scegli E-mail.

6.    Per Endpoint, inserisci l'indirizzo e-mail che desideri associare a questo argomento SNS, quindi scegli Crea iscrizione.

7.    Controlla la tua e-mail per trovare la conferma dell’iscrizione, quindi scegli Conferma iscrizione.

8.    Riceverai il messaggio Iscrizione confermata!

Nota: Per utilizzare il tuo argomento SNS, assicurati di disporre delle autorizzazioni richieste.

Creazione del ruolo IAM

1.    Apri la console IAM.

2.    Scegli Ruoli, quindi scegli Crea ruolo.

3.    In Seleziona il tipo di entità affidabile, scegli Servizio AWS.

4.    In Casi d'uso per altri servizi AWS, scegli Config.

5.    In Seleziona il caso d'uso, scegli Config - Personalizzabile, quindi Avanti: Autorizzazioni.

6.    Scegli Avanti: Tag, quindi scegli Avanti: Verifica.

7.    In Nome ruolo, inserisci un nome, quindi scegli Crea ruolo.

8.    Scegli il ruolo che hai creato nel passaggio 7, scegli Aggiungi policy inline e quindi scegli la scheda JSON.

9.    Copia e incolla il seguente esempio di policy:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:PutObjectAcl"
      ],
      "Resource": [
        "arn:aws:s3:::arn:aws:s3:::targetBucketName/[optional] prefix/AWSLogs/sourceAccountID-WithoutHyphens/*"
      ],
      "Condition": {
        "StringLike": {
          "s3:x-amz-acl": "bucket-owner-full-control"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetBucketAcl"
      ],
      "Resource": "arn:aws:s3:::targetBucketName"
    },
    {
      "Effect": "Allow",
      "Action": "sns:Publish",
      "Resource": "arn:aws:sns:region:account_number:targetTopicName"
    }
  ]
}

Creazione della chiave KMS

È consigliabile utilizzare la crittografia basata su Servizio di gestione delle chiavi AWS (AWS KMS) sugli oggetti forniti da AWS Config a un bucket Amazon S3. Crea una chiave KMS nella stessa Regione del tuo servizio AWS Config. Assicurati di avere le autorizzazioni necessarie per la tua chiave KMS.

Se scegli di non crittografare gli oggetti, salta questi passaggi e vai alla sezione Creazione del canale di distribuzione.

1.    Apri la console AWS KMS.

2.    Dal riquadro di navigazione, scegli Chiavi gestite dal cliente.

3.    Scegli Crea chiave.

4.    Per Tipo di chiave, scegli Simmetrica per creare una chiave KMS con crittografia simmetrica. Per informazioni sulle chiavi KMS asimmetriche, vedi Creare chiavi asimmetriche KMS (console).

5.    Per Utilizzo della chiave, l'opzione Crittografa e decrittografa è selezionata per impostazione predefinita. Conferma questa opzione, quindi scegli Successivo.

6.    Inserisci un alias per la tua chiave KMS. Quindi, scegli Successivo. Nota: Il tuo alias non può iniziare con aws/.

7.    Seleziona gli utenti e i ruoli IAM che possono amministrare la chiave KMS. Quindi, scegli Avanti.

8.    Seleziona gli utenti e i ruoli IAM che possono utilizzare la chiave nelle operazioni crittografiche. Quindi, scegli Avanti.

9.    Scegli Termina per creare la chiave KMS.

10.    Scegli Chiavi gestite dal cliente dal riquadro di navigazione. Quindi, in Chiavi gestite dal cliente, seleziona la chiave che hai appena creato

11.    Nella scheda Policy della chiave, scegli Passa alla visualizzazione della policy. Quindi, scegli Modifica.

12.    Se utilizzi un ruolo IAM personalizzato per AWS Config, copia e incolla questa istruzione di policy come istruzione di policy della chiave aggiuntiva. Scegli Salva le modifiche.

{
  "Statement": [
    {
      "Sid": "AWSConfigKMSPolicy",
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey"
      ],
      "Effect": "Allow",
      "Resource": "myKMSKeyARN",
      "Principal": {
        "AWS": [
          "arn:aws:iam:account_id:role/my-config-role-name"
        ]
      }
    }
  ]
}

-oppure-

Se usi I ruoli collegati ai servizi (SLR) per AWS Config, utilizza la seguente istruzione di policy per aggiornare la policy della chiave KMS:

{
  "Statement": [
    {
      "Sid": "AWSConfigKMSPolicy",
      "Effect": "Allow",
      "Principal": {
        "Service": "config.amazonaws.com"
      },
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey"
      ],
      "Resource": "myKMSKeyARN",
      "Condition": {
        "StringEquals": {
          "AWS:SourceAccount": "sourceAccountID"
        }
      }
    }
  ]
}

Creazione del canale di distribuzione

1.    Con un editor di testo, copia e incolla il seguente modello di esempio, quindi salvalo come file JSON. Puoi modificare il valore DeliveryFrequency in base al tuo caso d'uso. Se scegli di non attivare la crittografia, ometti il valore s3KmsKeyArn dal file JSON.

Importante: Se ricevi errori durante l'esecuzione dei comandi Interfaccia della linea di comando AWS (AWS CLI), assicurati di utilizzare la versione più recente di AWS CLI.

{
    "name": "default",
    "s3BucketName": "targetBucketName",
    "s3KeyPrefix": "Optionalprefix",
    "snsTopicARN": "arn:aws:sns:region:account_ID:targetTopicName",
    "s3KmsKeyArn": "arn:aws:kms:region:account_ID:KmsKey",
    "configSnapshotDeliveryProperties": {
        "deliveryFrequency": "Twelve_Hours"
    }
}

Nota: Il prefisso s3KeyPrefix deve essere fornito se la policy del bucket S3 limita PutObject a un determinato prefisso, anziché a quello predefinito.

2.    Esegui il seguente comando AWS CLI:

$ aws configservice put-delivery-channel --delivery-channel file://deliveryChannel.json

3.    Esegui il seguente comando AWS CLI per confermare che il canale di distribuzione è stato creato:

$ aws configservice describe-delivery-channels

**Avvia il registratore di configurazione **

1.    Apri la console AWS Config.

2.    Nel pannello di navigazione, scegli Impostazioni.

3.    In La registrazione è disattivata, scegli Attiva, quindi scegli Continua.

-oppure-

Esegui il seguente comando AWS CLI:

$ aws configservice start-configuration-recorder --configuration-recorder-name configRecorderName

Per ulteriori informazioni, consulta Gestire il registratore di configurazione e Gestire le regole AWS Config.


Informazioni correlate

Impostare AWS Config con la console

Come posso risolvere i messaggi di errore della console AWS Config?

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa