Skip to main content
On this page

Coverage by target cloud

How the backends compare

Each row compares a capability of ECR Public with its adaptation on each backend. A dash means this row is not stated for that backend.

Infrastructure-only adaptation

On Google Cloud

Public images on Artifact Registry

Each selected ECR Public repository becomes a dedicated standard Docker repository in the target project and location. The image URL includes the location, project, repository and image path. With Infrastructure-only adaptation, clients use the target registry directly. AWS ECR Public management and authorization-token APIs, the Public Gallery and public.ecr.aws registry aliases are outside this mapping. Native push and pull do not implement AWS PutImage, the layer-upload APIs or GetAuthorizationToken. This mapping includes no Tensor9 adapter for AWS registry calls and no additional AWS STS operation.
Anonymous readers pull from Artifact Registry; authenticated publishers write selected public repositories.Anonymous readers pull from Artifact Registry; authenticated publishers write selected public repositories.

Anonymous reads and authenticated publication

Grant Artifact Registry Reader to allUsers on each selected repository. Publishers authenticate with a target-cloud principal granted write access to that repository; a public reader receives no write grant. Public access is repository-scoped. Keep private ECR images in their separate repositories and never grant project-wide public access to satisfy this mapping. Organization policy must permit anonymous readers.

Selected images and changed references

Select the source images and tags to transfer and freeze each selected tag to its source digest. Copy supported Docker schema-2 or OCI manifests and layers without changing their bytes. A retained multi-platform index includes all its referenced platform images. Verify the destination digests; a copy that requires media-type conversion or cannot preserve a required digest fails. Update only the image references the mapping controls. External users must change their old AWS image URLs. The selected images do not include an unbounded registry history or continued replication of later AWS changes. Signatures, attestations, referrers, SBOMs and scanning history need their own transfer scope. Foreign layers fetched from external URLs are outside the initial self-contained copy guarantee. Preserving an image digest does not preserve repository identity or signature trust.

Limitations

  • The AWS registry alias and Gallery listing do not move. The source AWS registry alias and ECR Public Gallery listing do not follow the image to its new URL.
  • Remote and virtual repositories are not a substitute. A remote or virtual repository does not replace the dedicated repository that holds the selected copied images.
  • You must allow allUsers in the project. A project policy that forbids allUsers makes this public option unavailable. A private repository is not an equivalent public result.
  • You must allow public HTTPS and anonymous readers. If a policy forbids that access, this choice must be rejected rather than silently produce a private registry.

Other considerations

Operating the registry. Google operates the registry. You own its repository permissions, publisher identity, image retention and public traffic costs. Set request quotas appropriate for anonymous clients; a quota or provider outage can interrupt new pulls. Retention and scanning. Configure Artifact Registry cleanup separately and retain releases needed for rollback. This mapping does not translate AWS repository policies or import scanning findings. Optional native scanning is a separate backend configuration.

On Azure

Public images on Azure Container Registry

Use a dedicated public-only Standard or Premium Azure Container Registry. Selected public repositories become distinct image paths under its azurecr.io hostname. With Infrastructure-only adaptation, clients use the target registry directly. AWS ECR Public management and authorization-token APIs, the Public Gallery and public.ecr.aws registry aliases are outside this mapping. Native push and pull do not implement AWS PutImage, the layer-upload APIs or GetAuthorizationToken. This mapping includes no Tensor9 adapter for AWS registry calls and no additional AWS STS operation.
Anonymous readers pull from Azure Container Registry; authenticated publishers write selected public repositories.Anonymous readers pull from Azure Container Registry; authenticated publishers write selected public repositories.

Anonymous reads and authenticated publication

Enable anonymous pull for the public registry. Publishers use authenticated native credentials scoped to read and write their selected repository paths; public access does not grant publishing rights. Anonymous pull exposes every repository in this registry, including repositories with separate permission settings. Never reuse the private ECR registry or turn it public. Private ECR images must remain in a different registry.

Selected images and changed references

Select the source images and tags to transfer and freeze each selected tag to its source digest. Copy supported Docker schema-2 or OCI manifests and layers without changing their bytes. A retained multi-platform index includes all its referenced platform images. Verify the destination digests; a copy that requires media-type conversion or cannot preserve a required digest fails. Update only the image references the mapping controls. External users must change their old AWS image URLs. The selected images do not include an unbounded registry history or continued replication of later AWS changes. Signatures, attestations, referrers, SBOMs and scanning history need their own transfer scope. Foreign layers fetched from external URLs are outside the initial self-contained copy guarantee. Preserving an image digest does not preserve repository identity or signature trust.

Limitations

  • Anonymous pull is not supported on the Basic tier. Anonymous pull requires the Standard or Premium service tier.
  • Public access behaves differently: it covers the whole registry. The public-access switch is registry-wide. It cannot make one selected repository anonymous while others stay private.
  • Public traffic can be throttled. Network restrictions must still allow the readers this mapping is meant to serve.
  • You must allow public HTTPS and anonymous readers. If a policy forbids that access, this choice must be rejected rather than silently produce a private registry.

Other considerations

Operating the registry. Azure operates the registry. You own its SKU, public endpoint, publisher scopes, credentials and storage/egress costs. A Private Link-only or otherwise private-only endpoint cannot supply anonymous internet distribution. Retention and scanning. Configure native cleanup and any optional scanning independently. AWS repository policies, scan results and continuous replication are not imported. Retain current releases and rollback digests before deleting old content.

On OCI

Public images on OCI Container Registry

Create an explicitly public OCIR repository for each selected public source repository. Consumers use the target region, tenancy namespace and mapped repository path. With Infrastructure-only adaptation, clients use the target registry directly. AWS ECR Public management and authorization-token APIs, the Public Gallery and public.ecr.aws registry aliases are outside this mapping. Native push and pull do not implement AWS PutImage, the layer-upload APIs or GetAuthorizationToken. This mapping includes no Tensor9 adapter for AWS registry calls and no additional AWS STS operation.
Anonymous readers pull from OCI Container Registry; authenticated publishers write selected public repositories.Anonymous readers pull from OCI Container Registry; authenticated publishers write selected public repositories.

Anonymous reads and authenticated publication

Anyone who can reach the public URL can pull the selected images without credentials. Publishers authenticate with native credentials and permissions to read and update the selected repositories. Publicity is set on each selected repository. Keep private repositories private and separate. Scope publisher policy to the selected repositories rather than granting blanket registry administration across the tenancy.

Selected images and changed references

Select the source images and tags to transfer and freeze each selected tag to its source digest. Copy supported Docker schema-2 or OCI manifests and layers without changing their bytes. A retained multi-platform index includes all its referenced platform images. Verify the destination digests; a copy that requires media-type conversion or cannot preserve a required digest fails. Update only the image references the mapping controls. External users must change their old AWS image URLs. The selected images do not include an unbounded registry history or continued replication of later AWS changes. Signatures, attestations, referrers, SBOMs and scanning history need their own transfer scope. Foreign layers fetched from external URLs are outside the initial self-contained copy guarantee. Preserving an image digest does not preserve repository identity or signature trust.

Limitations

  • Image references behave differently: they include region and tenancy namespace. Replace AWS account and registry-alias URLs with the OCI image reference.
  • A private service-gateway path is not a substitute for the public URL. External anonymous readers need the public URL.
  • Continuous replication is not supported. A copy in a selected region does not set up continuous cross-region or AWS-to-OCI replication.
  • You must allow public HTTPS and anonymous readers. If a policy forbids that access, this choice must be rejected rather than silently produce a private registry.

Other considerations

Operating the registry. Oracle operates the regional registry. You own the public repository settings, publisher credentials, cleanup and traffic costs. Copy required release and rollback images to the selected region before directing clients there. Retention and scanning. Use OCIR retention and optional scanning as separate backend controls. The mapping does not transfer AWS scanning history or repository policy semantics. Additional regional copies require an explicit image-delivery plan.

On Private Kubernetes

Via Zot

Public images on Zot

Use a dedicated public Zot deployment with persistent image storage and a trusted public HTTPS endpoint. Keep selected repository paths explicit instead of exposing the private registry deployment. With Infrastructure-only adaptation, clients use the target registry directly. AWS ECR Public management and authorization-token APIs, the Public Gallery and public.ecr.aws registry aliases are outside this mapping. Native push and pull do not implement AWS PutImage, the layer-upload APIs or GetAuthorizationToken. This mapping includes no Tensor9 adapter for AWS registry calls and no additional AWS STS operation.
Anonymous readers pull from Zot; authenticated publishers write selected public repositories.Anonymous readers pull from Zot; authenticated publishers write selected public repositories.

Anonymous reads and authenticated publication

For each selected path, grant anonymousPolicy read only. Named authenticated publishers receive read, create and update actions. Deny mutation to other users and anonymous clients; do not install a global create/update or administrator grant as a default. Keep private images in the separate private deployment. Use the configuration schema for the deployed Zot release and verify exact repository matching and more-specific path precedence before exposing the endpoint.

Selected images and changed references

Select the source images and tags to transfer and freeze each selected tag to its source digest. Copy supported Docker schema-2 or OCI manifests and layers without changing their bytes. A retained multi-platform index includes all its referenced platform images. Verify the destination digests; a copy that requires media-type conversion or cannot preserve a required digest fails. Update only the image references the mapping controls. External users must change their old AWS image URLs. The selected images do not include an unbounded registry history or continued replication of later AWS changes. Signatures, attestations, referrers, SBOMs and scanning history need their own transfer scope. Foreign layers fetched from external URLs are outside the initial self-contained copy guarantee. Preserving an image digest does not preserve repository identity or signature trust.

Limitations

  • You must expose a public endpoint. Intended internet readers must be able to reach it; cluster-local DNS alone is not enough.
  • Anonymous reads and publishing use separate ACLs. A broad default write rule for authenticated users would let any of them publish, not only the named publishers.
  • AWS lifecycle policies, scanning and replication are not supported. The mapping does not translate AWS lifecycle policies, match AWS scanning or replicate continuously.
  • You must allow public HTTPS and anonymous readers. If a policy forbids that access, this choice must be rejected rather than silently produce a private registry.

Other considerations

Operating the registry. You operate storage capacity, backups, publisher authentication, public ingress and TLS renewal. A fresh anonymous client must pull without a cached credential or layer. Restore and credential-rotation procedures must keep anonymous access read-only and publishing limited to the named publishers. Retention and scanning. Configure Zot retention independently of AWS policies. Optional native extensions do not import ECR Public scanning results or history. Retain manifests and layers referenced by current releases and rollback images.

Via Distribution

Public images on Distribution

Deploy a dedicated public Distribution registry and a separate Cesanta docker_auth token issuer. Both have public trusted HTTPS endpoints; the registry keeps its own persistent image storage. With Infrastructure-only adaptation, clients use the target registry directly. AWS ECR Public management and authorization-token APIs, the Public Gallery and public.ecr.aws registry aliases are outside this mapping. Native push and pull do not implement AWS PutImage, the layer-upload APIs or GetAuthorizationToken. This mapping includes no Tensor9 adapter for AWS registry calls and no additional AWS STS operation.
Anonymous readers pull from Distribution; authenticated publishers write selected public repositories.Anonymous readers pull from Distribution; authenticated publishers write selected public repositories.

Anonymous reads and authenticated publication

The token issuer grants anonymous clients pull only for the exact public repositories. Authenticated publishers receive pull and push only for their assigned repositories. Requested scopes are intersected with the ordered ACL; asking for push cannot enlarge anonymous rights. Use an exact publisher/repository rule followed by the exact public-read rule and deny everything else. Keep the private registry and its signing trust separate. Do not copy example localhost, bridge-network or administrator wildcard grants into the public ACL.

Selected images and changed references

Select the source images and tags to transfer and freeze each selected tag to its source digest. Copy supported Docker schema-2 or OCI manifests and layers without changing their bytes. A retained multi-platform index includes all its referenced platform images. Verify the destination digests; a copy that requires media-type conversion or cannot preserve a required digest fails. Update only the image references the mapping controls. External users must change their old AWS image URLs. The selected images do not include an unbounded registry history or continued replication of later AWS changes. Signatures, attestations, referrers, SBOMs and scanning history need their own transfer scope. Foreign layers fetched from external URLs are outside the initial self-contained copy guarantee. Preserving an image digest does not preserve repository identity or signature trust.

Limitations

  • AWS ECR Public authorization tokens are not supported. An anonymous bearer token comes from the registry’s own token issuer. It is not an AWS ECR Public authorization token or an AWS identity.
  • Publisher grants do not include deletion. Publisher pull and push grants do not include deletion, other repository namespaces or administration of the token service.
  • You must operate the token issuer. Running the separate token issuer is part of this choice. Tokens that are valid now do not guarantee that new token requests will succeed.
  • You must allow public HTTPS and anonymous readers. If a policy forbids that access, this choice must be rejected rather than silently produce a private registry.

Other considerations

Operating the registry. You operate the registry, token issuer, TLS certificates, protected publisher credentials and token-signing trust. Use a reviewed docker_auth release and compatible Distribution image. Match issuer and audience and configure trusted signing material. Rotate keys with a bounded verification overlap; new token issuance depends on issuer availability. Retention and scanning. Public deletion is disabled by default. Retirement and garbage collection are separate operator procedures with writes stopped or read-only as required by the selected release. Back up storage, ACL configuration and signing material. AWS cleanup policies, scanning findings and automatic replication are outside this mapping.

Via Harbor

Public images on Harbor

Deploy Harbor behind a public DNS name and trusted HTTPS endpoint. Place the selected images in a dedicated public project; repository names remain distinct within that project. With Infrastructure-only adaptation, clients use the target registry directly. AWS ECR Public management and authorization-token APIs, the Public Gallery and public.ecr.aws registry aliases are outside this mapping. Native push and pull do not implement AWS PutImage, the layer-upload APIs or GetAuthorizationToken. This mapping includes no Tensor9 adapter for AWS registry calls and no additional AWS STS operation.
Anonymous readers pull from Harbor; authenticated publishers write selected public repositories.Anonymous readers pull from Harbor; authenticated publishers write selected public repositories.

Anonymous reads and authenticated publication

Anonymous clients can pull from the public project. A project robot authenticates publication with pull and push permissions. Do not give anonymous clients or publisher robots project administration or deletion permissions. Every repository placed in the public project is public. Do not make an existing private project public or load private ECR images into it. Keep the private registry deployment and its image population separate.

Selected images and changed references

Select the source images and tags to transfer and freeze each selected tag to its source digest. Copy supported Docker schema-2 or OCI manifests and layers without changing their bytes. A retained multi-platform index includes all its referenced platform images. Verify the destination digests; a copy that requires media-type conversion or cannot preserve a required digest fails. Update only the image references the mapping controls. External users must change their old AWS image URLs. The selected images do not include an unbounded registry history or continued replication of later AWS changes. Signatures, attestations, referrers, SBOMs and scanning history need their own transfer scope. Foreign layers fetched from external URLs are outside the initial self-contained copy guarantee. Preserving an image digest does not preserve repository identity or signature trust.

Limitations

  • You must expose a public endpoint. Private Kubernetes describes where Harbor runs; anonymous internet distribution still needs a deliberately public endpoint.
  • Public access behaves differently: it covers the whole project. Every repository added to the public project is public, not just a single image tag.
  • AWS policies, scan results and replication are not supported. Harbor’s own retention, scanning and replication features do not reproduce AWS policies, scan results or ongoing replication.
  • You must allow public HTTPS and anonymous readers. If a policy forbids that access, this choice must be rejected rather than silently produce a private registry.

Other considerations

Operating the registry. You operate Harbor, its registry storage and backing state, the public ingress and certificate renewal. Preserve robot secrets when issued, rotate them through the operator workflow and account for credential expiry. Back up configuration and stored content together and verify recovery. Retention and scanning. Harbor offers its own retention and scanning controls, which need separate configuration. This mapping does not import AWS policy rules, findings or Gallery metadata. Ensure cleanup retains the image digests used by running deployments and rollback plans.

Debug this service

For requests through a service adapter, use Explain and request diagnostics to investigate the selected mapping. Follow the BYOC service-adapter debugging runbook to capture and interpret the diagnostic evidence. Service Catalog.