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à.
Crittografia dei dati a riposo
Importante
Dual-layer crittografia lato server con AWS KMS (DSSE-KMS) è disponibile solo in AWS GovCloud (US) Regioni.
Amazon ECR memorizza le immagini nei bucket Amazon S3 gestiti da Amazon ECR. Per impostazione predefinita, Amazon ECR utilizza la crittografia lato server con Amazon S3-managed chiavi di crittografia che crittografano i dati inattivi utilizzando un AES-256 algoritmo di crittografia. Ciò non richiede alcuna operazione da parte tua e viene offerto senza costi aggiuntivi. Per ulteriori informazioni, vedere Protezione dei dati utilizzando Server-Side Crittografia con Amazon S3-Managed Chiavi di crittografia (SSE-S3) nel Guida per l'utente di Amazon Simple Storage Service.
Per un maggiore controllo sulla crittografia dei tuoi repository Amazon ECR, puoi utilizzare la crittografia lato server con chiavi KMS archiviate in AWS Key Management Service (AWS KMS). Quando usi AWS KMS per crittografare i tuoi dati, puoi utilizzare l'impostazione predefinita Chiave gestita da AWS, gestita da Amazon ECR, oppure specifica la tua chiave KMS (denominata chiave gestita dal cliente). Per ulteriori informazioni, consulta Protezione dei dati utilizzando Server-Side Crittografia con chiavi KMS archiviate in AWS KMS (SSE-KMS) nel Guida per l'utente di Amazon Simple Storage Service.
Puoi scegliere di applicare due livelli di crittografia alle tue immagini Amazon ECR utilizzando la crittografia lato server a doppio livello con AWS KMS (DSSE-KMS). DSSE-KMS l'opzione è simile a SSE-KMS, ma applica due singoli livelli di crittografia anziché un livello. Per ulteriori informazioni, vedere Utilizzo della crittografia lato server a doppio livello con AWS KMS chiavi (DSSE-KMS).
Ogni repository Amazon ECR dispone di una configurazione di crittografia che viene impostata al momento della creazione del repository. È possibile utilizzare configurazioni di crittografia diverse su ciascun repository. Per ulteriori informazioni, consulta Creazione di un repository privato Amazon ECR per archiviare immagini.
Quando viene creato un repository con AWS KMS crittografia abilitata, viene utilizzata una chiave KMS per crittografare i contenuti del repository. Inoltre, Amazon ECR aggiunge un AWS KMS concessione alla chiave KMS con il repository Amazon ECR come beneficiario principale.
Di seguito vengono fornite informazioni di alto livello su come Amazon ECR è integrato con AWS KMS per crittografare e decrittografare i repository:
-
Quando si crea un repository, Amazon ECR invia un DescribeKey chiama a AWS KMS per convalidare e recuperare l'Amazon Resource Name (ARN) della chiave KMS specificata nella configurazione di crittografia.
-
Amazon ECR ne invia due CreateGrant richieste a AWS KMS creare sovvenzioni sulla chiave KMS per consentire ad Amazon ECR di crittografare e decrittografare i dati utilizzando la chiave dati.
-
Quando si preme un'immagine, a GenerateDataKey la richiesta viene effettuata a AWS KMS che specifica la chiave KMS da utilizzare per crittografare il livello e il manifest dell'immagine.
-
AWS KMS genera una nuova chiave di dati, la crittografa con la chiave KMS specificata e invia la chiave di dati crittografata da archiviare con i metadati del livello di immagine e il manifesto dell'immagine.
-
Quando si estrae un'immagine, a Decifra la richiesta viene effettuata a AWS KMS, specificando la chiave di dati crittografata.
-
AWS KMS decrittografa la chiave dati crittografata e invia la chiave dati decrittografata ad Amazon S3.
-
La chiave dati viene utilizzata per decrittografare il livello immagine prima che il livello immagine venga estratto.
-
Quando un repository viene eliminato, Amazon ECR ne invia due RetireGrant richieste a AWS KMS per ritirare le sovvenzioni create per il repository.
Considerazioni
I seguenti punti devono essere considerati quando si utilizza AWS KMS crittografia basata (SSE-KMS o DSSE-KMS) con Amazon ECR.
-
Se crei il tuo repository Amazon ECR con crittografia KMS e non specifichi una chiave KMS, Amazon ECR utilizza un Chiave gestita da AWS con l'alias
aws/ecrper impostazione predefinita. Questa chiave KMS viene creata nel tuo account la prima volta che crei un repository con la crittografia KMS abilitata. -
La configurazione di crittografia del repository non può essere modificata dopo la creazione di un repository.
-
Quando si utilizza la crittografia KMS con la propria chiave KMS, la chiave deve esistere nella stessa regione del repository.
-
Le autorizzazioni che Amazon ECR crea per tuo conto non devono essere revocate. Se revochi la concessione che autorizza Amazon ECR a utilizzare il AWS KMS chiavi del tuo account, Amazon ECR non può accedere a questi dati, crittografare le nuove immagini inviate al repository o decrittografarle quando vengono estratte. Quando revochi una concessione per Amazon ECR, la modifica avviene immediatamente. Per revocare i diritti di accesso, eliminare il repository piuttosto che revocare la concessione. Quando un repository viene eliminato, Amazon ECR ritira le concessioni per tuo conto.
-
L'utilizzo comporta un costo AWS KMS chiavi. Per ulteriori informazioni, consulta Prezzi di AWS Key Management Service
. -
L'utilizzo della crittografia lato server a doppio livello comporta un costo. Per ulteriori informazioni, vedere Prezzi di Amazon ECR
Autorizzazioni IAM richieste
Quando crei o elimini un repository Amazon ECR con crittografia lato server utilizzando AWS KMS, le autorizzazioni richieste dipendono dalla chiave KMS specifica in uso.
Autorizzazioni IAM richieste quando si utilizza Chiave gestita da AWS per Amazon ECR
Per impostazione predefinita, quando AWS KMS la crittografia è abilitata per un repository Amazon ECR ma non è specificata alcuna chiave KMS, Chiave gestita da AWS per Amazon ECR viene utilizzato. Quando il AWS-la chiave KMS gestita per Amazon ECR viene utilizzata per crittografare un repository, anche qualsiasi principale che dispone dell'autorizzazione a creare un repository può abilitare AWS KMS crittografia sul repository. Tuttavia, l'entità principale IAM che elimina il repository deve disporre dell'autorizzazione kms:RetireGrant. Ciò consente il ritiro delle sovvenzioni che sono state aggiunte al AWS KMS chiave al momento della creazione del repository.
La seguente policy IAM di esempio può essere aggiunta come policy inline a un utente per assicurarsi che questi disponga delle autorizzazioni minime necessarie per eliminare un repository per cui è attivata la crittografia. La chiave KMS utilizzata per crittografare il repository può essere specificata utilizzando il parametro della risorsa.
Autorizzazioni IAM richieste quando si utilizza una chiave gestita dal cliente
Quando si crea un repository con AWS KMS la crittografia è abilitata utilizzando una chiave gestita dal cliente, sono necessarie le autorizzazioni sia per la policy delle chiavi KMS che per la policy IAM per l'utente o il ruolo che crea il repository.
Quando crei la tua chiave KMS, puoi utilizzare la chiave predefinita creata dalla policy AWS KMS o puoi specificare un'icona personalizzata. Per garantire che la chiave gestita dal cliente rimanga gestibile dal proprietario dell'account, la politica chiave per la chiave KMS dovrebbe consentire tutte AWS KMS azioni per l'utente root dell'account. Puoi aggiungere ulteriori autorizzazioni con ambito alle policy chiave, ma almeno all'utente root devono essere concesse autorizzazioni per gestire la chiave KMS. Per consentire l'utilizzo della chiave KMS solo per le richieste provenienti da Amazon ECR, puoi utilizzare km:ViaService chiave di condizione con ecr. valore.<region>.amazonaws.com
Il seguente esempio di politica chiave fornisce AWS account (utente root) che possiede la chiave KMS con accesso completo alla chiave KMS. Per ulteriori informazioni su questo esempio di politica chiave, consulta Consente l'accesso a AWS account e abilita le politiche IAM nel AWS Key Management Service Guida per gli sviluppatori.
L'utente IAM, il ruolo IAM o AWS l'account che crea i tuoi repository deve avere kms:CreateGrant, kms:RetireGrant, e kms:DescribeKey autorizzazione in aggiunta alle autorizzazioni Amazon ECR necessarie.
Nota
L'autorizzazione kms:RetireGrant deve essere aggiunta alla policy IAM dell'utente o del ruolo che crea il repository. Le autorizzazioni kms:CreateGrant e kms:DescribeKey possono essere aggiunte alla policy delle chiave per la chiave KMS o alla policy IAM dell'utente o del ruolo che creano il repository. Per ulteriori informazioni su come AWS KMS le autorizzazioni funzionano, vedi AWS KMS
Autorizzazioni API: riferimento ad azioni e risorse nel AWS Key Management Service Guida per gli sviluppatori.
La seguente policy IAM di esempio può essere aggiunta come policy inline a un utente per assicurarsi che questi disponga delle autorizzazioni minime necessarie per creare un repository per cui è attivata la crittografia ed eliminare il repository al termine. La AWS KMS key utilizzata per crittografare il repository può essere specificata utilizzando il parametro delle risorse.
Consenti a un utente di elencare le chiavi KMS nella console durante la creazione di un repository
Quando si utilizza la console Amazon ECR per creare un repository, è possibile concedere le autorizzazioni per consentire a un utente di elencare le chiavi KMS gestite dal cliente nella regione quando si abilita la crittografia per il repository. L'esempio di policy IAM seguente illustra le autorizzazioni necessarie per elencare le chiavi e gli alias KMS quando si utilizza la console.
Monitoraggio dell'interazione di Amazon ECR con AWS KMS
Puoi usare AWS CloudTrail per tenere traccia delle richieste inviate da Amazon ECR AWS KMS per tuo conto. Le voci di registro nel CloudTrail i log contengono una chiave di contesto di crittografia per renderli più facilmente identificabili.
Contesto di crittografia di Amazon ECR
Un contesto di crittografia è un set di coppie chiave-valore che contiene dati arbitrari non segreti. Quando si include un contesto di crittografia in una richiesta di crittografia dei dati, AWS KMS lega crittograficamente il contesto di crittografia ai dati crittografati. lo stesso contesto di crittografia sia necessario per decrittografare i dati.
Nel suo GenerateDataKey e Decrittografa richieste a AWS KMS, Amazon ECR utilizza un contesto di crittografia con due coppie nome-valore che identificano il repository e il bucket Amazon S3 utilizzati. Questo viene mostrato nell’esempio seguente. I nomi non variano, ma i valori del contesto di crittografia combinati saranno diversi per ogni valore.
"encryptionContext": { "aws:s3:arn": "arn:aws:s3:::us-west-2-starport-manifest-bucket/EXAMPLE1-90ab-cdef-fedc-ba987BUCKET1/sha256:a7766145a775d39e53a713c75b6fd6d318740e70327aaa3ed5d09e0ef33fc3df", "aws:ecr:arn": "arn:aws:ecr:us-west-2:111122223333:repository/repository-name" }
Puoi utilizzare il contesto di crittografia per identificare queste operazioni crittografiche nei record e nei log di controllo, ad esempio AWS CloudTrail e Amazon CloudWatch Registri e come condizione per l'autorizzazione nelle politiche e nelle sovvenzioni.
Il contesto di crittografia di Amazon ECR è costituito da due coppie nome-valore.
-
aws:s3:arn – La prima coppia nome-valore identifica il bucket. La chiave è
aws:s3:arn. L'Amazon Resource Name (ARN) del bucket Amazon S3 è il valore."aws:s3:arn": "ARN of an Amazon S3 bucket"Ad esempio, se l'ARN del bucket è
arn:aws:s3:::, il contesto di crittografia include la seguente coppia.us-west-2-starport-manifest-bucket/EXAMPLE1-90ab-cdef-fedc-ba987BUCKET1/sha256:a7766145a775d39e53a713c75b6fd6d318740e70327aaa3ed5d09e0ef33fc3df"arn:aws:s3:::us-west-2-starport-manifest-bucket/EXAMPLE1-90ab-cdef-fedc-ba987BUCKET1/sha256:a7766145a775d39e53a713c75b6fd6d318740e70327aaa3ed5d09e0ef33fc3df" -
aws:ecr:arn – La seconda coppia nome-valore identifica l'Amazon Resource Name (ARN) del repository. La chiave è
aws:ecr:arn. Il valore rappresenta l'ARN del repository."aws:ecr:arn": "ARN of an Amazon ECR repository"Ad esempio, se l'ARN del repository è
arn:aws:ecr:, il contesto di crittografia include la seguente coppia.us-west-2:111122223333:repository/repository-name"aws:ecr:arn": "arn:aws:ecr:us-west-2:111122223333:repository/repository-name"
Risoluzione dei problemi
Quando si elimina un repository Amazon ECR con la console, se il repository viene eliminato correttamente ma Amazon ECR non è in grado di ritirare le concessioni aggiunte alla chiave KMS per il repository, viene visualizzato il seguente errore.
The repository[{repository-name}]has been deleted successfully but the grants created by the kmsKey[{kms_key}]failed to be retired
In tal caso, è possibile ritirare il AWS KMS sovvenzioni per il deposito tu stesso.
Andare in pensione AWS KMS sovvenzioni per un repository manualmente
-
Elenca le sovvenzioni per AWS KMS chiave utilizzata per il repository. Il valore
key-idviene incluso nell'errore visualizzato dalla console. Puoi anche usarelist-keyscomando per elencare entrambi Chiavi gestite da AWS e le chiavi KMS gestite dal cliente in una regione specifica del tuo account.aws kms list-grants \ --key-idb8d9ae76-080c-4043-9237-c815bfc21dfc--regionus-west-2L'output include un
EncryptionContextSubsetcon l'Amazon Resource Name (ARN) del repository. Questo può essere utilizzato per determinare quale concessione aggiunta alla chiave sia quella che si desidera ritirare. Il valoreGrantIdviene utilizzato quando si ritira la concessione nella fase successiva. -
Ritira ogni sovvenzione per il AWS KMS chiave aggiunta per il repository. Sostituisci il valore per
GrantIdcon l'ID della sovvenzione riportato nell'output della fase precedente.aws kms retire-grant \ --key-idb8d9ae76-080c-4043-9237-c815bfc21dfc\ --grant-idGrantId\ --regionus-west-2