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à.
Esempi di policy relative agli archivi privati in Amazon ECR
Importante
Gli esempi di policy di repository riportati in questa pagina sono concepiti per essere applicati ai repository privati di Amazon ECR. Non funzioneranno correttamente se utilizzati direttamente con un principale IAM, a meno che non vengano modificati per specificare il repository di Amazon ECR come risorsa. Per ulteriori informazioni sull'impostazione delle policy dei repository, consulta Impostazione di una dichiarazione sulla politica di archiviazione privata in Amazon ECR.
Le policy del repository Amazon ECR sono un sottoinsieme delle policy IAM che vengono definite e specificamente utilizzate per controllare l'accesso ai singoli repository Amazon ECR. Le policy IAM sono generalmente utilizzate per applicare le autorizzazioni per l'intero servizio Amazon ECR, ma possono anche essere utilizzate per controllare l'accesso alle risorse specifiche. Per ulteriori informazioni, consulta Policy del repository e policy IAM .
I seguenti esempi di policy dei repository mostrano le dichiarazioni di autorizzazione che puoi utilizzare per controllare l'accesso ai repository privati di Amazon ECR.
Importante
Amazon ECR richiede che gli utenti dispongano dell'autorizzazione per effettuare chiamate all'API ecr:GetAuthorizationToken
tramite una policy IAM prima che possano autenticarsi in un registro ed eseguire l'invio o l'estrazione delle immagini da un repository Amazon ECR. Amazon ECR fornisce diverse policy IAM gestite per controllare l'accesso degli utenti a vari livelli. Per ulteriori informazioni, consulta Esempi di policy basate su Identità di Amazon Elastic Container Registry.
Esempio: consentire uno o più utenti
La policy del repository seguente consente a uno o più utenti di eseguire il push e il pull delle immagini da e verso un repository.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPushPull", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
account-id
:user/push-pull-user-1
", "arn:aws:iam::account-id
:user/push-pull-user-2
" ] }, "Action": [ "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability", "ecr:CompleteLayerUpload", "ecr:GetDownloadUrlForLayer", "ecr:InitiateLayerUpload", "ecr:PutImage", "ecr:UploadLayerPart" ] } ] }
Esempio: abilita un altro account
La seguente policy di repository consente a un account specifico di inviare immagini.
Importante
L'account a cui si concedono le autorizzazioni deve avere abilitata la regione in cui si sta creando la policy del repository; in caso contrario si verificherà un errore.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCrossAccountPush", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
account-id
:root" }, "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:CompleteLayerUpload", "ecr:InitiateLayerUpload", "ecr:PutImage", "ecr:UploadLayerPart" ] } ] }
La seguente politica di archiviazione consente ad alcuni utenti di estrarre immagini (pull-user-1
epull-user-2
) fornendo al contempo l'accesso completo a un'altra (). admin-user
Nota
Per politiche di repository più complicate che attualmente non sono supportate in AWS Management Console, è possibile applicare la politica con il set-repository-policy AWS CLI comando.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPull", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
account-id
:user/pull-user-1
", "arn:aws:iam::account-id
:user/pull-user-2
" ] }, "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] }, { "Sid": "AllowAll", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id
:user/admin-user
" }, "Action": [ "ecr:*" ] } ] }
Esempio: vieta a tutti
La seguente policy di repository nega a tutti gli utenti in tutti gli account la possibilità di estrarre immagini.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyPull", "Effect": "Deny", "Principal": "*", "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] } ] }
Esempio: limitazione dell'accesso a indirizzi IP specifici
Nell'esempio seguente vengono negate autorizzazioni a qualunque utente per eseguire qualsiasi operazione Amazon ECR quando applicata a un repository da uno specifico intervallo di indirizzi.
La condizione in questa dichiarazione identifica l'54.240.143.*
intervallo di indirizzi IP consentiti per la versione 4 (IPv4) del protocollo Internet.
Il Condition
blocco utilizza NotIpAddress
le condizioni e la chiave di aws:SourceIp
condizione, che è una chiave di condizione a AWS livello di ampiezza. Per ulteriori informazioni su queste chiavi di condizioni, consulta Chiavi di contesto delle condizioni globali AWS. I aws:sourceIp
IPv4 valori utilizzano la notazione CIDR standard. Per ulteriori informazioni, consulta Operatori di condizione con indirizzo IP nella Guida per l'utente di IAM.
{ "Version": "2012-10-17", "Id": "
ECRPolicyId1
", "Statement": [ { "Sid": "IPAllow
", "Effect": "Deny", "Principal": "*", "Action": "ecr:*", "Condition": { "NotIpAddress": { "aws:SourceIp": "54.240.143.0/24
" } } } ] }
Esempio: consentire un servizio AWS
La seguente politica di repository consente AWS CodeBuild l'accesso alle azioni dell'API Amazon ECR necessarie per l'integrazione con quel servizio. Quando utilizzi l'esempio seguente, è necessario utilizzare le chiavi di condizione aws:SourceArn
e aws:SourceAccount
per l'ambito delle risorse che possono assumere tali autorizzazioni. Per ulteriori informazioni, consulta l'esempio di Amazon ECR CodeBuild nella Guida per l'AWS CodeBuild utente.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"CodeBuildAccess", "Effect":"Allow", "Principal":{ "Service":"codebuild.amazonaws.com" }, "Action":[ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ], "Condition":{ "ArnLike":{ "aws:SourceArn":"arn:aws:codebuild:
region
:123456789012
:project/project-name
" }, "StringEquals":{ "aws:SourceAccount":"123456789012
" } } } ] }