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à.
Puoi migliorare la posizione di sicurezza del VPC configurando Amazon ECR in modo che utilizzi un endpoint VPC di interfaccia. Gli endpoint VPC sono basati su una tecnologia che consente di AWS PrivateLink accedere in modo privato ad Amazon APIs ECR tramite indirizzi IP privati. AWS PrivateLink limita tutto il traffico di rete tra il tuo VPC e Amazon ECR alla rete Amazon. Non è richiesto un gateway Internet, un dispositivo NAT o un gateway privato virtuale.
Per ulteriori informazioni sugli AWS PrivateLink endpoint VPC, consulta Endpoints VPC nella Amazon VPC User Guide.
Considerazioni sugli endpoint VPC di Amazon ECR
Prima di configurare gli endpoint VPC per Amazon ECR, tenere presente le considerazioni riportate di seguito:
-
Per consentire alle tue attività Amazon ECS ospitate su EC2 istanze Amazon di estrarre immagini private da Amazon ECR, crea gli endpoint VPC di interfaccia per Amazon ECS. Per ulteriori informazioni, consulta Interface VPC Endpoints (AWS PrivateLink) nella Amazon Elastic Container Service Developer Guide.
-
Le attività Amazon ECS con hosting su Fargate che estraggono le immagini del container da Amazon ECR possono limitare l'accesso al VPC specifico utilizzato dalle attività e all'endpoint VPC utilizzato dal servizio aggiungendo le chiavi di condizione al ruolo IAM per l'attività. Per ulteriori informazioni, consulta Autorizzazioni IAM facoltative per attività Fargate che estraggono le immagini Amazon ECR su endpoint di interfaccia nella Guida per lo sviluppatore di Amazon Elastic Container.
-
Il gruppo di sicurezza collegato all'endpoint VPC deve consentire le connessioni in entrata sulla porta 443 dalla sottorete privata del VPC.
-
Gli endpoint VPC attualmente non supportano le richieste inter-Regionali. Assicurati di creare gli endpoint VPC nella stessa regione in cui prevedi di inviare le chiamate API ad Amazon ECR.
-
Gli endpoint VPC al momento non supportano i repository pubblici di Amazon ECR. Prendi in considerazione l'utilizzo di una regola pull through della cache per ospitare l'immagine pubblica in un repository privato nella stessa regione dell'endpoint VPC. Per ulteriori informazioni, consulta Sincronizza un registro upstream con un registro ECR privato Amazon.
-
Gli endpoint VPC supportano solo il DNS AWS fornito tramite Amazon Route 53. Se si desidera utilizzare il proprio DNS, è possibile usare l'inoltro condizionale sul DNS. Per ulteriori informazioni, consulta Set opzioni DHCP nella Guida per l'utente di Amazon VPC.
-
Se i container dispongono di connessioni esistenti ad Amazon S3, le relative connessioni potrebbero essere interrotte per un breve periodo quando aggiungi l'endpoint gateway Amazon S3. Se si desidera evitare l'interruzione, creare un nuovo VPC che usi l'endpoint del gateway Amazon S3, quindi migrare il cluster Amazon ECS e i relativi container in un nuovo VPC.
-
Quando un'immagine viene estratta utilizzando una regola di cache pull-through per la prima volta, se hai configurato Amazon ECR per l'utilizzo di un endpoint VPC di interfaccia tramite AWS PrivateLink , allora dovrai creare una sottorete pubblica nello stesso VPC, con un gateway NAT, quindi instradare tutto il traffico in uscita verso Internet dalla sottorete privata al gateway NAT per far funzionare il pull. Le operazioni successive di estrazione dell'immagine non richiedono questo passaggio. Per ulteriori informazioni, consulta Scenario: accesso a Internet da una sottorete privata nella Guida per l'utente di Amazon Virtual Private Cloud.
Considerazioni per le immagini Windows
Le immagini basate sul sistema operativo Windows includono artefatti con limitazioni di licenza che impediscono la distribuzione. Per impostazione predefinita, quando si inviano immagini Windows a un repository Amazon ECR, i livelli che includono questi artefatti non vengono inviati in quanto vengono considerati livelli estranei. Quando gli artefatti vengono forniti da Microsoft, i livelli estranei vengono recuperati dall'infrastruttura di Microsoft Azure. Per questo motivo, per consentire ai container di estrarre questi livelli estranei da Azure sono necessari passaggi aggiuntivi oltre alla creazione degli endpoint VPC.
È possibile sovrascrivere questo comportamento quando si inviano le immagini Windows ad Amazon ECR utilizzando il flag --allow-nondistributable-artifacts
nel daemon Docker. Quando è abilitato, questo flag invia i livelli concessi in licenza ad Amazon ECR, consentendo di estrarre queste immagini da Amazon ECR tramite l'endpoint VPC senza richiedere un ulteriore accesso ad Azure.
Importante
L'utilizzo del flag --allow-nondistributable-artifacts
non preclude l'obbligo dell'utente di rispettare i termini della licenza dell'immagine di base del container Windows; non è possibile pubblicare contenuti di Windows per la ridistribuzione pubblica o di terze parti. L'uso all'interno del proprio ambiente è consentito.
Per abilitare l'uso di questo flag per l'installazione Docker, è necessario modificare il file di configurazione del daemon Docker che, a seconda dell'installazione Docker, può in genere essere configurato nel menu delle impostazioni o delle preferenze nella sezione Docker Engine o modificando direttamente il file C:\ProgramData\docker\config\daemon.json
.
Di seguito è illustrato un esempio della configurazione necessaria: Sostituisci il valore con l'URI del repository a cui stai inviando le immagini.
{ "allow-nondistributable-artifacts": [ "
111122223333
.dkr.ecr.us-west-2
.amazonaws.com" ] }
Dopo aver modificato il file di configurazione del daemon Docker, è necessario riavviare il daemon Docker prima di tentare di inviare l'immagine. Conferma che l'invio ha funzionato verificando che il livello base sia stato inviato nel repository.
Nota
I livelli base per le immagini Windows sono grandi. Le dimensioni del livello si tradurranno in tempi più lunghi per l'invio e costi di archiviazione aggiuntivi in Amazon ECR per queste immagini. Per questi motivi, si consiglia di utilizzare questa opzione solo quando è strettamente necessaria per ridurre i tempi di costruzione e i costi di storage in corso. Ad esempio, l'immagine mcr.microsoft.com/windows/servercore
è di circa 1,7 GiB di dimensioni quando viene compressa in Amazon ECR.
Creare gli endpoint VPC per Amazon ECR
Per creare gli endpoint VPC per Amazon ECR Service, utilizza la Creazione di un endpoint di interfaccia nella Amazon VPC User Guide.
Le attività di Amazon ECS ospitate su EC2 istanze Amazon richiedono sia gli endpoint Amazon ECR che l'endpoint gateway Amazon S3.
Le attività Amazon ECS con hosting su Fargate che utilizzano la versione della piattaforma 1.4.0
o versioni successive richiedono sia gli endpoint VPC Amazon ECR sia gli endpoint gateway Amazon S3.
Le attività di Amazon ECS ospitate su Fargate che utilizzano una 1.3.0
versione della piattaforma o precedente richiedono solo com.amazonaws. region
.ecr.dkr Endpoint VPC Amazon ECR ed endpoint gateway Amazon S3.
Nota
L'ordine in cui vengono creati gli endpoint non è rilevante.
- com.amazonaws.
region
.ecr.dkr -
Questo endpoint viene utilizzato per il registro Docker. APIs I comandi del client Docker come
push
epull
utilizzano questo endpoint.Quando si crea questo endpoint, è necessario abilitare un nome host DNS privato. Per eseguire questa operazione, accertarsi che l'opzione Enable Private DNS Name (Abilita nome DNS privato) sia selezionata nella console Amazon VPC quando si crea l'endpoint VPC.
- com.amazonaws.
region
.ecr.api -
Nota
Lo specificato
region
rappresenta l'identificatore della regione per una AWS regione supportata da Amazon ECR, ad esempious-east-2
per la regione Stati Uniti orientali (Ohio).Questo endpoint viene utilizzato per le chiamate all'API Amazon ECR. Operazioni API come
DescribeImages
eCreateRepository
vanno su questo endpoint.Quando viene creato questo endpoint, è possibile abilitare un nome host DNS privato. Abilita questo nome host selezionando Abilita nome DNS privato nella console VPC quando crei l'endpoint VPC. Se abiliti un nome host DNS privato per l'endpoint VPC, aggiorna l'SDK o AWS CLI alla versione più recente in modo che non sia necessario specificare un URL dell'endpoint quando si utilizza l'SDK o non sia necessario. AWS CLI
Se abiliti un nome host DNS privato e utilizzi un SDK o una AWS CLI versione rilasciata prima del 24 gennaio 2019, devi utilizzare il parametro per specificare gli endpoint dell'interfaccia.
--endpoint-url
Nell'esempio seguente viene illustrato il formato per l'URL dell'endpoint.aws ecr create-repository --repository-name
name
--endpoint-url https://api.ecr.region
.amazonaws.com.rproxy.goskope.comSe non si abilita un nome host DNS privato per l'endpoint VPC, è necessario utilizzare il parametro
--endpoint-url
specificando l'ID dell'endpoint VPC per l'endpoint di interfaccia. Nell'esempio seguente viene illustrato il formato per l'URL dell'endpoint.aws ecr create-repository --repository-name
name
--endpoint-url https://VPC_endpoint_ID
.api.ecr.region
.vpce.amazonaws.com
Creare l'endpoint gateway Amazon S3
Affinché le attività Amazon ECS possano estrarre immagini private da Amazon ECR, è necessario creare un endpoint gateway per Amazon S3. L'endpoint gateway è obbligatorio perché Amazon ECR utilizza Amazon S3 per archiviare i livelli di immagine. Quando i container scaricano immagini da Amazon ECR, devono accedere a Amazon ECR per ottenere il manifest dell'immagine e quindi ad Amazon S3 per scaricare i livelli effettivi dell'immagine. Di seguito è riportato l'Amazon Resource Name (ARN) del bucket Amazon S3 che contiene i livelli per ogni immagine Docker.
arn:aws:s3:::prod-
region
-starport-layer-bucket/*
Utilizzare la procedura Creazione di un endpoint gateway nella Amazon VPC User Guide per creare il seguente endpoint del gateway Amazon S3 per Amazon ECR. Quando crei l'endpoint, assicurati di selezionare le tabelle di routing per il VPC.
- com.amazonaws.
region
.s3 -
L'endpoint del gateway Amazon S3 usa un documento di policy IAM per limitare l'accesso al servizio. La policy Full Access (Accesso completo) può essere utilizzata poiché qualsiasi limitazione relativa ai ruoli IAM dell'attività o ad altre policy utente IAM viene comunque applicata. Se si desidera limitare l'accesso del bucket Amazon S3 alle autorizzazioni minime richieste necessarie per utilizzare Amazon ECR, consulta Autorizzazioni minime del bucket Amazon S3 per Amazon ECR.
Autorizzazioni minime del bucket Amazon S3 per Amazon ECR
L'endpoint del gateway Amazon S3 usa un documento di policy IAM per limitare l'accesso al servizio. Per consentire solo le autorizzazioni minime del bucket Amazon S3 per Amazon ECR, limita l'accesso al bucket Amazon S3 utilizzato da Amazon ECR quando crei il documento di policy IAM per l'endpoint.
La tabella seguente descrive le autorizzazioni della policy del bucket Amazon S3 richieste da Amazon ECR.
Autorizzazione | Descrizione |
---|---|
|
Fornisce l'accesso al bucket Amazon S3 contenente i livelli per ogni immagine Docker. Rappresenta l'identificatore di regione per una regione AWS
supportata da Amazon ECR, ad esempio |
Esempio
L'esempio seguente spiega come fornire l'accesso ai bucket Amazon S3 richiesti per le operazioni Amazon ECR.
{
"Statement": [
{
"Sid": "Access-to-specific-bucket-only",
"Principal": "*",
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": ["arn:aws:s3:::prod-region
-starport-layer-bucket/*"]
}
]
}
Crea l'endpoint Logs CloudWatch
Le attività di Amazon ECS che utilizzano il tipo di avvio Fargate che utilizzano un VPC senza un gateway Internet e che utilizzano anche il driver di registro per inviare informazioni di registro CloudWatch a Logs richiedono awslogs
la creazione del file com.amazonaws. region
Endpoint VPC con interfaccia.logs per Logs. CloudWatch Per ulteriori informazioni, consulta Using CloudWatch Logs with interface VPC endpoint nella CloudWatch Amazon Logs User Guide.
Creazione di una policy di endpoint per l'endpoint VPC di Amazon ECR
Una policy endpoint VPC è una policy della risorsa IAM che viene collegata a un endpoint durante la creazione o la modifica dell'endpoint. Se non alleghi una policy quando crei un endpoint, ti AWS allega una policy predefinita che consente l'accesso completo al servizio. Una policy endpoint non esclude né sostituisce policy dell'utente o policy specifiche del servizio. Si tratta di una policy separata per controllare l'accesso dall'endpoint al servizio specificato. Le policy endpoint devono essere scritte in formato JSON. Per ulteriori informazioni, consultare Controllo degli accessi ai servizi con endpoint VPC nella Guida per l'utente di Amazon VPC.
Ti consigliamo di creare un'unica policy di risorse IAM e di collegarla a entrambi gli endpoint VPC di Amazon ECR.
Di seguito è riportato un esempio di una policy endpoint per l'API di Amazon ECR. Questa policy consente a un ruolo IAM specifico di estrarre immagini da Amazon ECR.
{
"Statement": [{
"Sid": "AllowPull",
"Principal": {
"AWS": "arn:aws:iam::1234567890
:role/role_name
"
},
"Action": [
"ecr:BatchGetImage",
"ecr:GetDownloadUrlForLayer",
"ecr:GetAuthorizationToken"
],
"Effect": "Allow",
"Resource": "*"
}]
}
La seguente policy endpoint di esempio impedisce l'eliminazione di un repository specificato.
{
"Statement": [{
"Sid": "AllowAll",
"Principal": "*",
"Action": "*",
"Effect": "Allow",
"Resource": "*"
},
{
"Sid": "PreventDelete",
"Principal": "*",
"Action": "ecr:DeleteRepository",
"Effect": "Deny",
"Resource": "arn:aws:ecr:region
:1234567890
:repository/repository_name
"
}
]
}
L'esempio di policy endpoint seguente combina i due esempi precedenti in un'unica policy.
{
"Statement": [{
"Sid": "AllowAll",
"Effect": "Allow",
"Principal": "*",
"Action": "*",
"Resource": "*"
},
{
"Sid": "PreventDelete",
"Effect": "Deny",
"Principal": "*",
"Action": "ecr:DeleteRepository",
"Resource": "arn:aws:ecr:region
:1234567890
:repository/repository_name
"
},
{
"Sid": "AllowPull",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::1234567890
:role/role_name
"
},
"Action": [
"ecr:BatchGetImage",
"ecr:GetDownloadUrlForLayer",
"ecr:GetAuthorizationToken"
],
"Resource": "*"
}
]
}
Per modificare la policy endpoint VPC per Amazon ECR
Apri la console Amazon VPC all'indirizzo https://console.aws.amazon.com/vpc/
. -
Nel pannello di navigazione, seleziona Endpoint.
-
Se non hai già creato gli endpoint VPC per Amazon ECR, consulta Creare gli endpoint VPC per Amazon ECR.
-
Selezionare l'endpoint VPC di Amazon ECR a cui aggiungere una policy e scegliere la scheda Policy (Policy) nella metà inferiore della schermata.
-
Scegli Edit Policy (Modifica policy) e apporta le modifiche alla policy.
-
Selezionare Save (Salva) per salvare la policy.
Sottoreti condivise
Non puoi creare, descrivere, modificare o eliminare gli endpoint VPC nelle sottoreti condivise con te. Tuttavia, puoi utilizzare gli endpoint VPC in sottoreti condivise con te.