{"id":78210,"date":"2026-03-15T12:18:27","date_gmt":"2026-03-15T06:48:27","guid":{"rendered":"https:\/\/www.tothenew.com\/blog\/?p=78210"},"modified":"2026-03-23T21:57:55","modified_gmt":"2026-03-23T16:27:55","slug":"end-to-end-container-hardening-on-amazon-eks-cis-aligned-implementation","status":"publish","type":"post","link":"https:\/\/www.tothenew.com\/blog\/end-to-end-container-hardening-on-amazon-eks-cis-aligned-implementation\/","title":{"rendered":"End-to-End Container Hardening on Amazon EKS (CIS Aligned Implementation)"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p>With the growing adoption of containers and Kubernetes, securing containerized workloads has become a critical responsibility for DevOps and platform teams. Organizations running workloads on Kubernetes must ensure that their infrastructure, container images, runtime configurations, and resource governance follow security best practices.<\/p>\n<p>In this blog, we walk through the end-to-end container hardening approach implemented on Amazon Elastic Kubernetes Service (EKS) aligned with Center for Internet Security (CIS) benchmarks. The implementation focuses on securing the host OS, container images, Dockerfiles, runtime policies, logging, and Kubernetes workloads while ensuring operational efficiency.<\/p>\n<h2><strong>1. Infrastructure-Level Hardening<\/strong><\/h2>\n<p><strong><br \/>\n1.1 Container Host Hardened<\/strong><\/p>\n<p>The worker nodes run on Amazon Linux 2023 EKS-optimized AMI, which is maintained and patched by AWS to provide a secure and stable container host environment.<br \/>\n<strong>Platform Used<\/strong><br \/>\nAWS EKS Optimized Amazon Linux 2023 (AL2023) AMI<br \/>\nManaged by AWS<\/p>\n<p><strong>Verification Commands<\/strong><\/p>\n<pre>kubectl get nodes -o wide\r\ncat \/etc\/os-release<\/pre>\n<p><strong>Expected Output:<\/strong><\/p>\n<pre>NAME=\"Amazon Linux\"\r\nVERSION=\"2023\"<\/pre>\n<p>This confirms that the nodes are running the hardened and supported operating system.<\/p>\n<h2>2. Centralized &amp; Remote Logging<\/h2>\n<p>Centralized logging ensures that both application logs and control plane logs are stored remotely for monitoring, auditing, and incident investigation.<\/p>\n<p><strong>2.1 Centralized Logging<\/strong><br \/>\nApplication logs \u2192 Kibana\/Cloudwatch<br \/>\nControl plane logs \u2192 Amazon CloudWatch<\/p>\n<p><strong>Enable Control Plane Logs<\/strong><\/p>\n<pre>aws eks update-cluster-config \\\r\n--name &lt;cluster-name&gt; \\\r\n--logging '{\"clusterLogging\":[{\"types\":[\"api\",\"audit\",\"authenticator\",\"controllerManager\",\"scheduler\"],\"enabled\":true}]}'<\/pre>\n<p><strong>Verification<\/strong><\/p>\n<pre>aws eks describe-cluster --name &lt;cluster-name&gt; --query cluster.logging<\/pre>\n<p>EKS \u2192 Logging Enabled Page<br \/>\nCloudWatch Log Group<br \/>\nKibana Dashboard showing App Logs<\/p>\n<p>This ensures that API, audit, and scheduler logs are centrally collected and retained.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-78211\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-13-56-55.png\" alt=\"log1\" width=\"821\" height=\"189\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-13-56-55.png 821w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-13-56-55-300x69.png 300w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-13-56-55-768x177.png 768w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-13-56-55-624x144.png 624w\" sizes=\"(max-width: 821px) 100vw, 821px\" \/><\/p>\n<div id=\"attachment_78212\" style=\"width: 835px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-78212\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-78212\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-13-59-13.png\" alt=\"log2\" width=\"825\" height=\"335\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-13-59-13.png 825w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-13-59-13-300x122.png 300w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-13-59-13-768x312.png 768w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-13-59-13-624x253.png 624w\" sizes=\"(max-width: 825px) 100vw, 825px\" \/><p id=\"caption-attachment-78212\" class=\"wp-caption-text\">.<\/p><\/div>\n<h2><strong>3. Dockerfile Hardening Controls<br \/>\n<\/strong><\/h2>\n<p><strong>3.1 No Standalone Update Commands<\/strong><br \/>\nSecure Dockerfile Example<\/p>\n<pre>FROM maven:3.9-eclipse-temurin-17\r\nRUN apk add --no-cache curl<\/pre>\n<p>\u2714 No apk update used separately<br \/>\n\u2714 Prevents stale package layer<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-78213\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-00-07.png\" alt=\"4.7\" width=\"819\" height=\"298\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-00-07.png 819w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-00-07-300x109.png 300w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-00-07-768x279.png 768w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-00-07-624x227.png 624w\" sizes=\"(max-width: 819px) 100vw, 819px\" \/><\/p>\n<p><strong>Dockerfile snippet<\/strong><\/p>\n<p><strong>3.2 Remove setuid\/setgid<\/strong><\/p>\n<pre>RUN find \/ -perm \/6000 -type f -exec chmod a-s {} \\; || true<\/pre>\n<p><strong>Verification<\/strong><\/p>\n<pre>find \/ -perm \/6000 -type f\r\nExpected: No output<\/pre>\n<p>Terminal showing no output<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-78214\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-01-02.png\" alt=\"4.8\" width=\"810\" height=\"104\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-01-02.png 810w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-01-02-300x39.png 300w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-01-02-768x99.png 768w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-01-02-624x80.png 624w\" sizes=\"(max-width: 810px) 100vw, 810px\" \/><\/p>\n<p><strong>3.3 COPY Instead of ADD<\/strong><\/p>\n<pre>COPY target\/app.jar \/app\/app.jar<\/pre>\n<p>\u2714 Avoids unintended archive extraction<br \/>\n\u2714 No remote URL downloads<\/p>\n<p><strong>3.4 Secrets Not Stored in Dockerfile<\/strong><\/p>\n<p>Secrets fetched from:<\/p>\n<p>AWS Systems Manager Parameter Store<\/p>\n<p><strong>Example Kubernetes Config<\/strong><\/p>\n<pre>env:\r\n- name: DB_PASSWORD\r\n  valueFrom:\r\n    secretKeyRef:\r\n      name: app-secret\r\n      key: db_password<\/pre>\n<p>OR via Parameter Store integration.<br \/>\nNo secrets in Dockerfile<\/p>\n<h2><strong>4. Image Security &amp; Supply Chain<\/strong><\/h2>\n<p><strong>\u00a04.1 Image Scanned &amp; Zero Vulnerabilities<\/strong><br \/>\nImages stored in:<\/p>\n<p>Amazon ECR<\/p>\n<p>Enable Image Scanning<\/p>\n<pre>aws ecr put-image-scanning-configuration \\\r\n--repository-name &lt;repo-name&gt; \\\r\n--image-scanning-configuration scanOnPush=true<\/pre>\n<p>Check Scan Results<\/p>\n<pre>aws ecr describe-image-scan-findings \\\r\n--repository-name &lt;repo-name&gt; \\\r\n--image-id imageTag=&lt;tag&gt;<\/pre>\n<p>ECR \u2192 Image Scan Results \u2192 0 Vulnerabilities<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-78215\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-01-46.png\" alt=\"image\" width=\"827\" height=\"274\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-01-46.png 827w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-01-46-300x99.png 300w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-01-46-768x254.png 768w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-01-46-624x207.png 624w\" sizes=\"(max-width: 827px) 100vw, 827px\" \/><\/p>\n<p><strong>4.2 Controlled Artifact Pipeline<\/strong><br \/>\nBuilt &amp; pushed using:<\/p>\n<pre>docker.build(\"repo\/app:${BUILD_NUMBER}\")\r\ndocker.withRegistry('https:\/\/&lt;account&gt;.dkr.ecr.region.amazonaws.com', 'ecr-creds') {\r\ndocker.image(\"repo\/app:${BUILD_NUMBER}\").push()\r\n}<\/pre>\n<p>Jenkins Build Success<br \/>\nImage pushed to ECR<\/p>\n<h2><strong>5. Runtime Security Controls (Kubernetes)<\/strong><\/h2>\n<p><strong>5.1 Non-Root User Enforcement<\/strong><\/p>\n<p>&nbsp;<\/p>\n<pre><strong>Dockerfile\r\n<\/strong>\r\nRUN addgroup -S appgroup &amp;&amp; adduser -S appuser -G appgroup\r\n\r\nUSER appuser\r\n\r\nKubernetes SecurityContext\r\nsecurityContext:\r\nrunAsNonRoot: true\r\nrunAsUser: 1000\r\n\r\nVerification\r\nkubectl exec -it &lt;pod&gt; -- id\r\n\r\n<strong>Expected:<\/strong>\r\n\r\nuid=1000(appuser)<\/pre>\n<div id=\"attachment_78216\" style=\"width: 877px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-78216\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-78216\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-02-29.png\" alt=\"security\" width=\"867\" height=\"385\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-02-29.png 867w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-02-29-300x133.png 300w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-02-29-768x341.png 768w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-02-29-624x277.png 624w\" sizes=\"(max-width: 867px) 100vw, 867px\" \/><p id=\"caption-attachment-78216\" class=\"wp-caption-text\">.<\/p><\/div>\n<p><strong>5.2 No Privileged Containers<\/strong><\/p>\n<pre>securityContext:\r\nprivileged: false\r\nallowPrivilegeEscalation: false<\/pre>\n<p><strong>Verify<\/strong><\/p>\n<pre>kubectl get pod &lt;pod&gt; -o yaml | grep privileged<\/pre>\n<p><strong>Expected:<br \/>\n<\/strong>privileged: false<br \/>\nPod YAML output<\/p>\n<div id=\"attachment_78217\" style=\"width: 438px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-78217\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-78217\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-05-35.png\" alt=\"5.5\" width=\"428\" height=\"251\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-05-35.png 721w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-05-35-300x176.png 300w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-05-35-624x365.png 624w\" sizes=\"(max-width: 428px) 100vw, 428px\" \/><p id=\"caption-attachment-78217\" class=\"wp-caption-text\">.<\/p><\/div>\n<p><strong>5.3 Linux Capabilities Dropped<\/strong><\/p>\n<pre>securityContext:\r\ncapabilities:\r\ndrop:\r\n- ALL<\/pre>\n<p><strong>Verification<\/strong>:<\/p>\n<pre>kubectl get pod &lt;pod&gt; -o yaml | grep capabilities -A5<\/pre>\n<p><strong>\u00a05.4 Root Filesystem Read-Only<\/strong><\/p>\n<pre>securityContext:\r\nreadOnlyRootFilesystem: true<\/pre>\n<p><strong>Verification:<\/strong><\/p>\n<pre>kubectl exec -it &lt;pod&gt; -- touch \/testfile<\/pre>\n<p><strong>Expected:<\/strong><\/p>\n<p>Read-only file system<\/p>\n<p>Error output<\/p>\n<div id=\"attachment_78218\" style=\"width: 692px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-78218\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-78218\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-07-00.png\" alt=\"5.13\" width=\"682\" height=\"254\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-07-00.png 682w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-07-00-300x112.png 300w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-07-00-624x232.png 624w\" sizes=\"(max-width: 682px) 100vw, 682px\" \/><p id=\"caption-attachment-78218\" class=\"wp-caption-text\">.<\/p><\/div>\n<p><strong>5.5 Restrict Privilege Escalation<\/strong><\/p>\n<pre>securityContext:\r\nallowPrivilegeEscalation: false<\/pre>\n<p><strong>Verification<\/strong>:<\/p>\n<pre>kubectl get pod &lt;pod&gt; -o yaml | grep allowPrivilegeEscalation<\/pre>\n<h2>6. Resource Governance<\/h2>\n<p><strong>\u00a06.1 Memory Limits<\/strong><\/p>\n<pre>resources:\r\n\u00a0 \u00a0requests:\r\n\u00a0 \u00a0 \u00a0 memory: \"256Mi\"\r\n\u00a0 \u00a0limits:\r\n\u00a0 \u00a0 \u00a0 memory: \"512Mi\"<\/pre>\n<p><strong>\u00a06.2 CPU Limits<\/strong><\/p>\n<pre>resources:\r\n\u00a0 \u00a0requests:\r\n\u00a0 \u00a0 \u00a0 cpu: \"250m\"\r\n\u00a0 \u00a0limits:\r\n\u00a0 \u00a0 \u00a0 cpu: \"500m\"<\/pre>\n<p>Verification:<\/p>\n<pre>kubectl describe pod &lt;pod&gt;<\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-78219\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-08-13.png\" alt=\"5.11\" width=\"651\" height=\"133\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-08-13.png 651w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-08-13-300x61.png 300w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-08-13-624x127.png 624w\" sizes=\"(max-width: 651px) 100vw, 651px\" \/><\/p>\n<p><strong>6.3 Restart Policy<\/strong><\/p>\n<pre>kubectl describe pod &lt;pod&gt; | grep Restart<\/pre>\n<p>Expected:<\/p>\n<pre>Restart Policy: Always<\/pre>\n<p><strong>6.4 Liveness &amp; Readiness Probes<\/strong><\/p>\n<p><strong>Verification:<\/strong><\/p>\n<pre>kubectl describe pod &lt;pod&gt;<\/pre>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-78220\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-09-18.png\" alt=\"5.27\" width=\"699\" height=\"279\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-09-18.png 699w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-09-18-300x120.png 300w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-09-18-624x249.png 624w\" sizes=\"(max-width: 699px) 100vw, 699px\" \/><\/p>\n<h2><strong>7. Sprawl Prevention<\/strong><\/h2>\n<p><strong>7.1 Container Sprawl Avoided<\/strong><br \/>\nCheck container runtime:<\/p>\n<pre>ctr -n k8s.io containers list<\/pre>\n<p>Ensure:<br \/>\nNo STOPPED containers<br \/>\nNo orphaned tasks<\/p>\n<pre>ctr -n k8s.io tasks list<\/pre>\n<p>Only RUNNING tasks<br \/>\nNo DEAD containers<\/p>\n<div id=\"attachment_78221\" style=\"width: 709px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-78221\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-78221\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-10-21.png\" alt=\"6.2\" width=\"699\" height=\"279\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-10-21.png 699w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-10-21-300x120.png 300w, \/blog\/wp-ttn-blog\/uploads\/2026\/03\/Screenshot-from-2026-03-09-14-10-21-624x249.png 624w\" sizes=\"(max-width: 699px) 100vw, 699px\" \/><p id=\"caption-attachment-78221\" class=\"wp-caption-text\">.<\/p><\/div>\n<p><strong>7.2 Image Sprawl Avoided<\/strong><\/p>\n<pre>ctr -n k8s.io images list<\/pre>\n<p>Verify:<\/p>\n<h3>Only workload images present<br \/>\nNo uncontrolled image accumulation<\/h3>\n<h2>8. Latest Images Used (Immutable Tags)<\/h2>\n<p><strong>Deployment YAML<\/strong><\/p>\n<pre>image: repo\/app:1.0.145\r\nimagePullPolicy: IfNotPresent<\/pre>\n<p>\u2714 Unique tag per build<br \/>\n\u2714 Helm updates tag every deployment<\/p>\n<p><strong>Verify:<\/strong><\/p>\n<pre>kubectl describe pod &lt;pod&gt; | grep Image:<\/pre>\n<p>Pod showing latest tag<\/p>\n<h2>9. Network Exposure Restricted<\/h2>\n<p><strong>9.1 Only Required Ports Exposed<\/strong><\/p>\n<pre>Container:\r\n\u00a0 \u00a0ports:\r\n\u00a0 \u00a0 - containerPort: 8080\r\nService:\r\n\u00a0 \u00a0ports:\r\n\u00a0 \u00a0- port: 80\r\n\u00a0 \u00a0 targetPort: 8080<\/pre>\n<p><strong>Verification:<\/strong><\/p>\n<pre>kubectl get svc<\/pre>\n<h3>Conclusion<\/h3>\n<p>Container security requires a layered defense approach that spans infrastructure, images, pipelines, and runtime controls. By implementing these CIS-aligned hardening measures on Amazon EKS, organizations can significantly reduce the attack surface while maintaining scalability and operational efficiency.<\/p>\n<p>This end-to-end approach ensures that containers are secure by design, continuously monitored, and governed through Kubernetes-native controls, providing a strong foundation for running production workloads securely in the cloud.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction With the growing adoption of containers and Kubernetes, securing containerized workloads has become a critical responsibility for DevOps and platform teams. Organizations running workloads on Kubernetes must ensure that their infrastructure, container images, runtime configurations, and resource governance follow security best practices. In this blog, we walk through the end-to-end container hardening approach implemented [&hellip;]<\/p>\n","protected":false},"author":2010,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":19},"categories":[2348],"tags":[8445,8446],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/78210"}],"collection":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/users\/2010"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/comments?post=78210"}],"version-history":[{"count":5,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/78210\/revisions"}],"predecessor-version":[{"id":78487,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/78210\/revisions\/78487"}],"wp:attachment":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/media?parent=78210"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/categories?post=78210"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/tags?post=78210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}