{"id":2366,"date":"2020-02-27T17:46:43","date_gmt":"2020-02-27T16:46:43","guid":{"rendered":"https:\/\/geko2.factoryfy.com\/?p=745"},"modified":"2021-11-03T17:27:04","modified_gmt":"2021-11-03T16:27:04","slug":"asegurar-el-acceso-de-jenkins-a-aws-part-i","status":"publish","type":"post","link":"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/","title":{"rendered":"Asegurar el acceso de Jenkins a AWS (part I)"},"content":{"rendered":"<p>Jenkins es un servidor de automatizaci\u00f3n de c\u00f3digo abierto para acelerar el proceso de entrega de software y se ha convertido <em>de facto<\/em> en el <strong>motor DevOps, <\/strong>especialmente por sus canales de Jenkinsfile con secuencias de comandos comprometidos con el control del c\u00f3digo fuente. Para cumplir su funci\u00f3n, Jenkins\u00a0necesita interactuar con algunos sistemas externos, como GitHub o, la raz\u00f3n de este art\u00edculo, Amazon Web Services (AWS).<\/p>\n<p>Una forma de otorgar acceso a Jenkins a AWS es ejecutarlo en una instancia EC2 con una funci\u00f3n de IAM adjunta. Este enfoque tiene algunas ventajas:<\/p>\n<ul>\n<li>Es muy f\u00e1cil de configurar (incluso puedes encontrarlo en <a href=\"https:\/\/aws.amazon.com\/marketplace\/search\/results?searchTerms=jenkins\">AWS Marketplace<\/a>)<\/li>\n<li>No se utilizan claves de acceso, por lo que nunca se expondr\u00e1n esas claves.<\/li>\n<\/ul>\n<p>Pero tambi\u00e9n algunas desventajas:<\/p>\n<ul>\n<li>No se puede ejecutar Jenkins fuera de AWS<\/li>\n<li>El rol IAM adjunto debe tener todos los permisos que los jobs puedan necesitar (\u00bfcu\u00e1ntos servidores Jenkins terminan con PowerUserAccess?)<\/li>\n<li>Todas las acciones \/ eventos realizados desde Jenkins tendr\u00e1n el mismo nombre de usuario en CloudTrail, independientemente de qui\u00e9n ejecut\u00f3 el job.<\/li>\n<\/ul>\n<p>Si, en tu caso, las desventajas superan las ventajas puedes optar por <strong>adoptar otra estrategia<\/strong>.<\/p>\n<h2>Paso 1: Crear usuarios y roles de IAM<\/h2>\n<p>Crea un usuario de IAM para cada usuario de Jenkins que necesite ejecutar jobs relacionados con AWS. El nombre de usuario de IAM debe ser similar al nombre de usuario de Jenkins (si puede ser el mismo, mejor) y <strong>solo debe adjuntarse a la siguiente pol\u00edtica<\/strong> (m\u00e1s sobre esto m\u00e1s adelante):<\/p>\n<pre>{\r\n \"Version\": \"2012-10-17\",\r\n \"Statement\": [\r\n  {\r\n   \"Effect\": \"Allow\",\r\n   \"Action\": \"sts:AssumeRole\",\r\n   \"Resource\": \"*\"\r\n  }\r\n ]\r\n}<\/pre>\n<p>Crea roles de IAM (el n\u00famero y los permisos adjuntos depender\u00e1n de sus necesidades: administrador, desarrollador, sre, solo lectura, &#8230;) y edita la relaci\u00f3n de confianza para permitir que los usuarios generados previamente asuman estos roles.<\/p>\n<h2>Paso 2: generar claves de acceso<\/h2>\n<p>Creeaclaves de acceso de AWS para cada usuario y gu\u00e1rdalas en el servidor de Jenkins con el complemento de credenciales de AWS. Aseg\u00farate de establecer una ID para estas credenciales que puedan vincularse f\u00e1cilmente a partir del nombre de usuario (como antes, si puede ser el mismo, mejor).<\/p>\n<figure id=\"attachment_987\" aria-describedby=\"caption-attachment-987\" style=\"width: 708px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-987 \" src=\"https:\/\/geko2.factoryfy.com\/wp-content\/uploads\/aws_creds-2-300x64.png\" alt=\"\" width=\"708\" height=\"151\" \/><figcaption id=\"caption-attachment-987\" class=\"wp-caption-text\">Jenkins \u201cAdd Credentials\u201d screen<\/figcaption><\/figure>\n<p>Desde este punto, ya hemos resuelto todos los inconvenientes mencionados anteriormente:<\/p>\n<ul>\n<li>El servidor Jenkins puede ejecutarse en cualquier lugar.<\/li>\n<li>El proceso de Jenkins asumir\u00e1 el rol con solo los permisos necesarios para ejecutar el job<\/li>\n<li>CloudTrail mostrar\u00e1 el nombre del usuario que ejecuta el job.<\/li>\n<\/ul>\n<p>Pero, seamos sinceros, Jenkins est\u00e1 lejos de ser la herramienta m\u00e1s segura del mundo. Entonces:<\/p>\n<ul>\n<li>Un ataque podr\u00eda comprometer nuestras credenciales de AWS.<\/li>\n<li>Un usuario leg\u00edtimo podr\u00eda escalar sus privilegios (usando las credenciales de un usuario administrador)<\/li>\n<\/ul>\n<p>\u00bfC\u00f3mo podemos solucionar esto?<\/p>\n<h2>Paso 3: MFA al rescate<\/h2>\n<p>AWS STS proporciona API que permiten a los usuarios pasar informaci\u00f3n MFA: <em>GetSessionToken<\/em> y, lo que necesitamos, <em>AssumeRole<\/em>.<\/p>\n<p>Asigna un dispositivo MFA a cada usuario y adjunta la siguiente pol\u00edtica a cada rol (los creados en el paso 1):<\/p>\n<pre>{\r\n \"Version\": \"2012-10-17\",\r\n \"Statement\": [\r\n  {\r\n   \"Sid\": \"ForceMFA\",\r\n   \"Effect\": \"Allow\",\r\n   \"Principal\": {\"AWS\": \"arn:aws:iam:::root\"},\r\n   \"Action\": \"sts:AssumeRole\",\r\n   \"Condition\": {\r\n    \"StringEquals\": { \"aws:username\": [  ] },\r\n    \"Bool\": { \"aws:MultiFactorAuthPresent\": true }\r\n   }\r\n  }\r\n ]\r\n}<\/pre>\n<p>Esta pol\u00edtica obliga el uso de MFA al asumir el papel. De este modo, como las credenciales solo se pueden usar para asumir un rol (\u00bfrecuerdas la \u00fanica pol\u00edtica asociada a los usuarios?), Incluso si est\u00e1n comprometidas, un ataque podr\u00eda hacer poco sin tener acceso al dispositivo MFA.<\/p>\n<p>Explicar\u00e9 c\u00f3mo utilizar este enfoque en una pipeline de Jenkins en la <a href=\"https:\/\/geko.cloud\/es\/asegura-el-acceso-de-jenkins-a-aws-parte-ii\/\">pr\u00f3xima publicaci\u00f3n<\/a>.<\/p>\n<p>\ud83d\udc49Espero que hayas disfrutado de este post y te animo a que revises nuestro <a href=\"https:\/\/geko.cloud\/es\/blog\/\">blog<\/a> para leer otrosposts que puedan ser de tu inter\u00e9s, como por ejemplo \u00ab<a href=\"https:\/\/geko.cloud\/en\/what-is-the-cloud\/\">Qu\u00e9 es el cloud?<\/a>\u00ab. No dudes en <a href=\"https:\/\/geko.cloud\/es\/contacto\/\">contactarnos<\/a> si deseas que te ayudemos en tus proyectos.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jenkins es un servidor de automatizaci\u00f3n de c\u00f3digo abierto para acelerar el proceso de entrega de software y se ha convertido de facto en el motor DevOps, especialmente por sus canales de Jenkinsfile con secuencias de comandos comprometidos con el control del c\u00f3digo fuente. Para cumplir su funci\u00f3n, Jenkins\u00a0necesita interactuar con algunos sistemas externos, como [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":2322,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[18],"tags":[34,54],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Securing Jenkins access to AWS (part I)<\/title>\n<meta name=\"description\" content=\"Si Jenkins necesita interactuar con AWS, puede ejecutarse en una instancia de EC2 con un rol de IAM adjunto, pero a veces eso no se desea. Otro enfoque es generar claves de acceso de AWS y hacer el acceso m\u00e1s seguro con MFA.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Securing Jenkins access to AWS (part I)\" \/>\n<meta property=\"og:description\" content=\"Si Jenkins necesita interactuar con AWS, puede ejecutarse en una instancia de EC2 con un rol de IAM adjunto, pero a veces eso no se desea. Otro enfoque es generar claves de acceso de AWS y hacer el acceso m\u00e1s seguro con MFA.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/\" \/>\n<meta property=\"og:site_name\" content=\"Geko Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2020-02-27T16:46:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-03T16:27:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/geko.cloud\/wp-content\/uploads\/jenkins-aws-mfa.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"David Pujadas\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@geko_cloud\" \/>\n<meta name=\"twitter:site\" content=\"@geko_cloud\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/\"},\"author\":{\"name\":\"David Pujadas\",\"@id\":\"https:\/\/geko.cloud\/es\/#\/schema\/person\/e6acdb23fdedb5aadaee9a561e8f5f9e\"},\"headline\":\"Asegurar el acceso de Jenkins a AWS (part I)\",\"datePublished\":\"2020-02-27T16:46:43+00:00\",\"dateModified\":\"2021-11-03T16:27:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/\"},\"wordCount\":622,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/geko.cloud\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/geko.cloud\/wp-content\/uploads\/jenkins-aws-mfa.png\",\"keywords\":[\"AWS\",\"Jenkins\"],\"articleSection\":[\"Labs\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/\",\"url\":\"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/\",\"name\":\"Securing Jenkins access to AWS (part I)\",\"isPartOf\":{\"@id\":\"https:\/\/geko.cloud\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/geko.cloud\/wp-content\/uploads\/jenkins-aws-mfa.png\",\"datePublished\":\"2020-02-27T16:46:43+00:00\",\"dateModified\":\"2021-11-03T16:27:04+00:00\",\"description\":\"Si Jenkins necesita interactuar con AWS, puede ejecutarse en una instancia de EC2 con un rol de IAM adjunto, pero a veces eso no se desea. Otro enfoque es generar claves de acceso de AWS y hacer el acceso m\u00e1s seguro con MFA.\",\"breadcrumb\":{\"@id\":\"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/#primaryimage\",\"url\":\"https:\/\/geko.cloud\/wp-content\/uploads\/jenkins-aws-mfa.png\",\"contentUrl\":\"https:\/\/geko.cloud\/wp-content\/uploads\/jenkins-aws-mfa.png\",\"width\":800,\"height\":300,\"caption\":\"jenkins mfa aws logo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/geko.cloud\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Asegurar el acceso de Jenkins a AWS (part I)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/geko.cloud\/es\/#website\",\"url\":\"https:\/\/geko.cloud\/es\/\",\"name\":\"Geko Cloud\",\"description\":\"Servicios de consultor\u00eda cloud y devops\",\"publisher\":{\"@id\":\"https:\/\/geko.cloud\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/geko.cloud\/es\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/geko.cloud\/es\/#organization\",\"name\":\"Geko Cloud\",\"url\":\"https:\/\/geko.cloud\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/geko.cloud\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/geko.cloud\/wp-content\/uploads\/2021\/10\/geko_logo-positivo.png\",\"contentUrl\":\"https:\/\/geko.cloud\/wp-content\/uploads\/2021\/10\/geko_logo-positivo.png\",\"width\":1650,\"height\":809,\"caption\":\"Geko Cloud\"},\"image\":{\"@id\":\"https:\/\/geko.cloud\/es\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/geko_cloud\",\"https:\/\/www.instagram.com\/gekocloud\/\",\"https:\/\/www.linkedin.com\/company\/gekocloud\",\"https:\/\/www.youtube.com\/channel\/UC5EFLCqUM7fEaXSa_0nWowQ\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/geko.cloud\/es\/#\/schema\/person\/e6acdb23fdedb5aadaee9a561e8f5f9e\",\"name\":\"David Pujadas\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/geko.cloud\/es\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4757311410445249aa2aafa6278d9855?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4757311410445249aa2aafa6278d9855?s=96&d=mm&r=g\",\"caption\":\"David Pujadas\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Securing Jenkins access to AWS (part I)","description":"Si Jenkins necesita interactuar con AWS, puede ejecutarse en una instancia de EC2 con un rol de IAM adjunto, pero a veces eso no se desea. Otro enfoque es generar claves de acceso de AWS y hacer el acceso m\u00e1s seguro con MFA.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/","og_locale":"es_ES","og_type":"article","og_title":"Securing Jenkins access to AWS (part I)","og_description":"Si Jenkins necesita interactuar con AWS, puede ejecutarse en una instancia de EC2 con un rol de IAM adjunto, pero a veces eso no se desea. Otro enfoque es generar claves de acceso de AWS y hacer el acceso m\u00e1s seguro con MFA.","og_url":"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/","og_site_name":"Geko Cloud","article_published_time":"2020-02-27T16:46:43+00:00","article_modified_time":"2021-11-03T16:27:04+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/geko.cloud\/wp-content\/uploads\/jenkins-aws-mfa.png","type":"image\/png"}],"author":"David Pujadas","twitter_card":"summary_large_image","twitter_creator":"@geko_cloud","twitter_site":"@geko_cloud","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/#article","isPartOf":{"@id":"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/"},"author":{"name":"David Pujadas","@id":"https:\/\/geko.cloud\/es\/#\/schema\/person\/e6acdb23fdedb5aadaee9a561e8f5f9e"},"headline":"Asegurar el acceso de Jenkins a AWS (part I)","datePublished":"2020-02-27T16:46:43+00:00","dateModified":"2021-11-03T16:27:04+00:00","mainEntityOfPage":{"@id":"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/"},"wordCount":622,"commentCount":0,"publisher":{"@id":"https:\/\/geko.cloud\/es\/#organization"},"image":{"@id":"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/#primaryimage"},"thumbnailUrl":"https:\/\/geko.cloud\/wp-content\/uploads\/jenkins-aws-mfa.png","keywords":["AWS","Jenkins"],"articleSection":["Labs"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/","url":"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/","name":"Securing Jenkins access to AWS (part I)","isPartOf":{"@id":"https:\/\/geko.cloud\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/#primaryimage"},"image":{"@id":"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/#primaryimage"},"thumbnailUrl":"https:\/\/geko.cloud\/wp-content\/uploads\/jenkins-aws-mfa.png","datePublished":"2020-02-27T16:46:43+00:00","dateModified":"2021-11-03T16:27:04+00:00","description":"Si Jenkins necesita interactuar con AWS, puede ejecutarse en una instancia de EC2 con un rol de IAM adjunto, pero a veces eso no se desea. Otro enfoque es generar claves de acceso de AWS y hacer el acceso m\u00e1s seguro con MFA.","breadcrumb":{"@id":"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/#primaryimage","url":"https:\/\/geko.cloud\/wp-content\/uploads\/jenkins-aws-mfa.png","contentUrl":"https:\/\/geko.cloud\/wp-content\/uploads\/jenkins-aws-mfa.png","width":800,"height":300,"caption":"jenkins mfa aws logo"},{"@type":"BreadcrumbList","@id":"https:\/\/geko.cloud\/es\/asegurar-el-acceso-de-jenkins-a-aws-part-i\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/geko.cloud\/es\/"},{"@type":"ListItem","position":2,"name":"Asegurar el acceso de Jenkins a AWS (part I)"}]},{"@type":"WebSite","@id":"https:\/\/geko.cloud\/es\/#website","url":"https:\/\/geko.cloud\/es\/","name":"Geko Cloud","description":"Servicios de consultor\u00eda cloud y devops","publisher":{"@id":"https:\/\/geko.cloud\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/geko.cloud\/es\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/geko.cloud\/es\/#organization","name":"Geko Cloud","url":"https:\/\/geko.cloud\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/geko.cloud\/es\/#\/schema\/logo\/image\/","url":"https:\/\/geko.cloud\/wp-content\/uploads\/2021\/10\/geko_logo-positivo.png","contentUrl":"https:\/\/geko.cloud\/wp-content\/uploads\/2021\/10\/geko_logo-positivo.png","width":1650,"height":809,"caption":"Geko Cloud"},"image":{"@id":"https:\/\/geko.cloud\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/geko_cloud","https:\/\/www.instagram.com\/gekocloud\/","https:\/\/www.linkedin.com\/company\/gekocloud","https:\/\/www.youtube.com\/channel\/UC5EFLCqUM7fEaXSa_0nWowQ"]},{"@type":"Person","@id":"https:\/\/geko.cloud\/es\/#\/schema\/person\/e6acdb23fdedb5aadaee9a561e8f5f9e","name":"David Pujadas","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/geko.cloud\/es\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4757311410445249aa2aafa6278d9855?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4757311410445249aa2aafa6278d9855?s=96&d=mm&r=g","caption":"David Pujadas"}}]}},"_links":{"self":[{"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/posts\/2366"}],"collection":[{"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/comments?post=2366"}],"version-history":[{"count":2,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/posts\/2366\/revisions"}],"predecessor-version":[{"id":5189,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/posts\/2366\/revisions\/5189"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/media\/2322"}],"wp:attachment":[{"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/media?parent=2366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/categories?post=2366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/tags?post=2366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}