Come posso ricreare un canale di distribuzione AWS Config?

7 minuti di lettura
0

Ho eliminato il mio canale di distribuzione AWS Config e voglio ricrearlo.

Breve descrizione

Quando usi la console AWS Config per configurare AWS Config, un processo ti guida nella configurazione delle risorse AWS. Le risorse sono configurate per inviare notifiche al canale di distribuzione. La configurazione di AWS Config include le risorse seguenti:

  • Bucket Amazon Simple Storage Service (Amazon S3)
  • Topic Amazon Simple Notification Service (Amazon SNS)
  • Ruolo AWS Identity and Access Management (IAM)
  • I tipi di risorse da registrare

Se usi il comando delete-delivery-channel dell'Interfaccia della linea di comando AWS (AWS CLI) per eliminare un canale di distribuzione di AWS Config, il registratore di configurazione si disattiva. Se tenti di attivare il registratore di configurazione, verrà visualizzato l'errore seguente:

"Delivery channel is not available to start configuration recorder" (Il canale di distribuzione non è disponibile per avviare il registratore di configurazione).

Nota: non puoi usare la console AWS Config per ricreare il canale di distribuzione.

Risoluzione

Nota: se visualizzi dei messaggi di errore quando esegui i comandi dell'interfaccia della linea di comando AWS, consulta la sezione Risolvere gli errori AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Completa i passaggi seguenti per ricreare manualmente il canale di distribuzione AWS Config e attivare il registratore di configurazione.

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

Crea il bucket Amazon S3

Completa i passaggi seguenti:

  1. Apri la console Amazon S3 nella stessa regione AWS del tuo servizio AWS Config.
  2. Nel pannello di navigazione scegli Crea un bucket.
  3. In Inserisci nome bucket inserisci un nome per il bucket S3, quindi scegli Crea un bucket.
  4. In S3 buckets (Bucket S3) scegli il bucket S3 che hai appena creato.
  5. Scegli Autorizzazioni e quindi Policy bucket.
  6. Copia e incolla la policy bucket di esempio seguente, 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"
        }
       }
      }
     ]
    }

Crea il topic SNS

Completa i passaggi seguenti:

  1. Apri la console Amazon SNS nella stessa regione del servizio AWS Config.
  2. Nel pannello di navigazione scegli Argomenti, quindi scegli Crea argomento.
  3. In Nome inserisci un nome per il topic SNS. Quindi scegli Crea argomento.
  4. Scegli Crea sottoscrizione.
  5. In Protocollo seleziona E-mail.
  6. In Endpoint inserisci l'indirizzo e-mail che desideri associare a questo topic SNS, quindi scegli Crea sottoscrizione.
  7. Controlla la tua e-mail per trovare la conferma della sottoscrizione, quindi scegli Conferma sottoscrizione.

Dopo aver confermato la sottoscrizione, riceverai il messaggio Subscription confirmed! (Sottoscrizione confermata).

Nota: per poter usare il tuo topic SNS, assicurati di disporre delle autorizzazioni necessarie.

Crea il ruolo IAM

Completa i passaggi seguenti:

  1. Apri la console IAM.

  2. Scegli Ruoli e quindi Crea ruolo.

  3. In Tipo di entità attendibile scegli Servizio AWS.

  4. In Use cases for other AWS services (Casi d'uso per altri servizi AWS) scegli Config.

  5. In Scegli un caso d'uso scegli Config - Customizable (Config - Personalizzabile), quindi fai clic su Avanti: Autorizzazioni.

  6. Fai clic su Avanti, inserisci il Nome del ruolo, quindi fai clic su Crea ruolo.

  7. Seleziona il ruolo che hai creato, scegli Crea policy inline, quindi scegli la scheda JSON.

  8. Inserisci la policy di esempio seguente:

    {
      "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"
        }
      ]
    }
  9. In Nome policy inserisci un nome, quindi scegli Crea policy.

Crea la chiave KMS

È consigliabile utilizzare la crittografia basata sul Servizio AWS di gestione delle chiavi (AWS KMS) sugli oggetti consegnati da AWS Config in un bucket Amazon S3. Crea una chiave KMS nella stessa regione del tuo servizio AWS Config.

Completa i passaggi seguenti:

  1. Apri la console AWS KMS.
  2. Nel pannello di navigazione scegli Chiavi gestite dal cliente, quindi scegli Crea chiave.
  3. In Tipo di chiave scegli Simmetrico/a/i/e per creare una chiave KMS con crittografia simmetrica.
  4. Per Utilizzo della chiave scegli l'opzione Crittografa e decrittografa, quindi scegli Avanti.
  5. Inserisci un alias per la tua chiave KMS, quindi scegli Avanti.
    Nota: il tuo nome alias non può iniziare con aws/.
  6. Seleziona gli utenti e i ruoli IAM che possono amministrare la chiave KMS, quindi scegli Avanti.
  7. Seleziona gli utenti e i ruoli IAM che possono utilizzare la chiave nelle operazioni crittografiche, quindi scegli Avanti.
  8. Scegli Termina per creare la chiave KMS.
  9. Nel pannello di navigazione scegli Chiavi gestite dal cliente. Quindi, in Chiavi gestite dal cliente, seleziona la chiave che hai creato.
  10. Nella scheda Policy della chiave scegli Passa alla visualizzazione della policy, quindi scegli Modifica.
  11. Se usi un ruolo IAM personalizzato per AWS Config, inserisci l'istruzione di policy seguente 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"
        ]
      }
    }
  ]
}

Se usi i ruoli collegati ai servizi (SLR) per AWS Config, usa l'istruzione di policy seguente 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"
        }
      }
    }
  ]
}

Crea il canale di distribuzione

Completa i passaggi seguenti:

  1. Inserisci il modello di esempio seguente in un editor di testo, quindi salvalo come file JSON:

    {
        "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: devi fornire il valore di S3KeyPrefix se la policy del bucket S3 limita PutObject a un determinato prefisso al posto del prefisso predefinito. Modifica il valore di DeliveryFrequency in base al tuo caso d'uso. Se scegli di non attivare la crittografia, ometti il valore s3KmsKeyArn dal file JSON.

  2. Esegui il comando AWS CLI put-delivery-channel:

    $ aws configservice put-delivery-channel --delivery-channel file://deliveryChannel.json
  3. Per verificare che il canale di distribuzione è stato creato, esegui il comando AWS CLI describe-delivery-channels:

    $ aws configservice describe-delivery-channels

Avvia il registratore di configurazione

Completa i passaggi seguenti:

  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 comando AWS CLI start-configuration-recorder:
    $ aws configservice start-configuration-recorder --configuration-recorder-name configRecorderName

Per ulteriori informazioni, consulta Managing the configuration recorder e Evaluating resources with AWS Config rules.

Informazioni correlate

Impostare AWS Config con la console

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

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 mesi fa