[{"data":1,"prerenderedAt":744},["ShallowReactive",2],{"/de-de/blog/gpg-key-used-to-sign-gitlab-package-repositories-metadata-has-been-extended":3,"navigation-de-de":34,"banner-de-de":437,"footer-de-de":447,"blog-post-authors-de-de-Denis Afonso":652,"blog-related-posts-de-de-gpg-key-used-to-sign-gitlab-package-repositories-metadata-has-been-extended":666,"assessment-promotions-de-de":695,"next-steps-de-de":734},{"id":4,"title":5,"authorSlugs":6,"body":8,"categorySlug":9,"config":10,"content":14,"description":8,"extension":24,"isFeatured":11,"meta":25,"navigation":26,"path":27,"publishedDate":20,"seo":28,"stem":31,"tagSlugs":32,"__hash__":33},"blogPosts/de-de/blog/gpg-key-used-to-sign-gitlab-package-repositories-metadata-has-been-extended.yml","Gpg Key Used To Sign Gitlab Package Repositories Metadata Has Been Extended",[7],"denis-afonso",null,"bulletin-board",{"featured":11,"template":12,"slug":13},false,"BlogPost","gpg-key-used-to-sign-gitlab-package-repositories-metadata-has-been-extended",{"title":15,"description":16,"heroImage":17,"authors":18,"date":20,"body":21,"category":9,"tags":22},"GPG-Schlüssel zur Signierung der GitLab-Paket-Repository-Metadaten wurde verlängert","Der GPG-Schlüssel zur Signierung von Repository-Metadaten auf GitLabs Packagecloud-Instanz unter packages.gitlab.com wurde verlängert – das ist zu beachten.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1771934335/c4f7zzdelhwcihaqwxym.png",[19],"Denis Afonso","2026-02-24","GitLab verwendet einen GPG-Schlüssel, um die Metadaten der verschiedenen apt- und yum-Repositories zu signieren, über die die offiziellen omnibus-gitlab- und gitlab-runner-Pakete verteilt werden. Dies dient der Sicherstellung der Paketintegrität; die Pakete selbst werden zusätzlich durch einen separaten Schlüssel signiert.\n\nDer aktuell für die Metadaten-Signierung verwendete Schlüssel mit dem Fingerabdruck `F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F` läuft am 27. Feb. 2026 ab und wurde bis zum 6. Feb. 2028 verlängert.\n\n## Warum wird die Laufzeit verlängert?\n\nDie Laufzeit des Repository-Metadaten-Signierungsschlüssels wird regelmäßig verlängert, um den GitLab-Sicherheitsrichtlinien zu entsprechen und das Risiko im Falle einer Kompromittierung des Schlüssels zu begrenzen. Statt einer Rotation auf einen neuen Schlüssel wird die Laufzeit verlängert, um den Aufwand für Nutzende zu minimieren – eine Rotation würde erfordern, dass alle Nutzenden ihren vertrauenswürdigen Schlüssel ersetzen.\n\n## Was ist zu tun?\n\nWer GitLab-Repositories bereits vor dem 17. Feb. 2026 auf dem eigenen System konfiguriert hat, findet in der offiziellen Dokumentation Hinweise dazu, [wie der neue Schlüssel abgerufen und hinzugefügt werden kann](https://docs.gitlab.com/omnibus/update/package_signatures/#package-repository-metadata-signing-keys). Für neue Nutzende ist keine weitere Aktion erforderlich – es genügt, der [GitLab-Installationsseite](https://about.gitlab.com/install/) oder der [Installationsdokumentation für gitlab-runner](https://docs.gitlab.com/runner/install/linux-repository.html) zu folgen. Weitere Informationen zur [Überprüfung der Repository-Metadaten-Signaturen](https://docs.gitlab.com/omnibus/update/package_signatures/#package-repository-metadata-signing-keys) sind in der Omnibus-Dokumentation verfügbar. Den öffentlichen Schlüssel lässt sich auf jedem GPG-Keyserver über die Suche nach support@gitlab.com oder die Schlüssel-ID `F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F` finden.\n\nAlternativ kann der Schlüssel direkt von packages.gitlab.com unter folgender URL heruntergeladen werden: `https://packages.gitlab.com/gpg.key`.\n\n## Weitere Unterstützung benötigt?   \n\n**Eine Issue im [omnibus-gitlab Issue Tracker](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/new?issue&issuable_template=Bug) öffnen.**",[23],"product","yml",{},true,"/de-de/blog/gpg-key-used-to-sign-gitlab-package-repositories-metadata-has-been-extended",{"config":29,"title":30,"description":16},{"noIndex":11},"GPG-Schlüssel für GitLab-Paket-Repositories verlängert","de-de/blog/gpg-key-used-to-sign-gitlab-package-repositories-metadata-has-been-extended",[23],"BXw4ULK2RpHqDftEZDVjMficJG9CyehwZD7QPx-PbbU",{"data":35},{"logo":36,"freeTrial":41,"sales":46,"login":51,"items":56,"search":365,"minimal":400,"duo":418,"pricingDeployment":427},{"config":37},{"href":38,"dataGaName":39,"dataGaLocation":40},"/de-de/","gitlab logo","header",{"text":42,"config":43},"Kostenlose Testversion anfordern",{"href":44,"dataGaName":45,"dataGaLocation":40},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de&glm_content=default-saas-trial/","free trial",{"text":47,"config":48},"Vertrieb kontaktieren",{"href":49,"dataGaName":50,"dataGaLocation":40},"/de-de/sales/","sales",{"text":52,"config":53},"Anmelden",{"href":54,"dataGaName":55,"dataGaLocation":40},"https://gitlab.com/users/sign_in/","sign in",[57,84,180,185,286,346],{"text":58,"config":59,"cards":61},"Plattform",{"dataNavLevelOne":60},"platform",[62,68,76],{"title":58,"description":63,"link":64},"Die intelligente Orchestrierungsplattform für DevSecOps",{"text":65,"config":66},"Erkunde unsere Plattform",{"href":67,"dataGaName":60,"dataGaLocation":40},"/de-de/platform/",{"title":69,"description":70,"link":71},"GitLab Duo Agent Platform","Agentische KI für den gesamten Softwareentwicklungszyklus",{"text":72,"config":73},"Lerne GitLab Duo kennen",{"href":74,"dataGaName":75,"dataGaLocation":40},"/de-de/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":77,"description":78,"link":79},"Gründe, die für GitLab sprechen","Erfahre, warum Unternehmen auf GitLab setzen",{"text":80,"config":81},"Mehr erfahren",{"href":82,"dataGaName":83,"dataGaLocation":40},"/de-de/why-gitlab/","why gitlab",{"text":85,"left":26,"config":86,"link":88,"lists":92,"footer":162},"Produkt",{"dataNavLevelOne":87},"solutions",{"text":89,"config":90},"Alle Lösungen anzeigen",{"href":91,"dataGaName":87,"dataGaLocation":40},"/de-de/solutions/",[93,118,140],{"title":94,"description":95,"link":96,"items":101},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":97},{"icon":98,"href":99,"dataGaName":100,"dataGaLocation":40},"AutomatedCodeAlt","/de-de/solutions/delivery-automation/","automated software delivery",[102,106,109,114],{"text":103,"config":104},"CI/CD",{"href":105,"dataGaLocation":40,"dataGaName":103},"/de-de/solutions/continuous-integration/",{"text":69,"config":107},{"href":74,"dataGaLocation":40,"dataGaName":108},"gitlab duo agent platform - product menu",{"text":110,"config":111},"Quellcodeverwaltung",{"href":112,"dataGaLocation":40,"dataGaName":113},"/de-de/solutions/source-code-management/","Source Code Management",{"text":115,"config":116},"Automatisierte Softwarebereitstellung",{"href":99,"dataGaLocation":40,"dataGaName":117},"Automated software delivery",{"title":119,"description":120,"link":121,"items":126},"Sicherheit","Entwickle schneller, ohne die Sicherheit zu gefährden",{"config":122},{"href":123,"dataGaName":124,"dataGaLocation":40,"icon":125},"/de-de/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[127,131,136],{"text":128,"config":129},"Application Security Testing",{"href":123,"dataGaName":130,"dataGaLocation":40},"Application security testing",{"text":132,"config":133},"Schutz der Software-Lieferkette",{"href":134,"dataGaLocation":40,"dataGaName":135},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":137,"config":138},"Software Compliance",{"href":139,"dataGaName":137,"dataGaLocation":40},"/de-de/solutions/software-compliance/",{"title":141,"link":142,"items":147},"Bewertung",{"config":143},{"icon":144,"href":145,"dataGaName":146,"dataGaLocation":40},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[148,152,157],{"text":149,"config":150},"Sichtbarkeit und Bewertung",{"href":145,"dataGaLocation":40,"dataGaName":151},"Visibility and Measurement",{"text":153,"config":154},"Wertstrommanagement",{"href":155,"dataGaLocation":40,"dataGaName":156},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":158,"config":159},"Analysen und Einblicke",{"href":160,"dataGaLocation":40,"dataGaName":161},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":163,"items":164},"GitLab für",[165,170,175],{"text":166,"config":167},"Enterprise",{"href":168,"dataGaLocation":40,"dataGaName":169},"/de-de/enterprise/","enterprise",{"text":171,"config":172},"Kleinunternehmen",{"href":173,"dataGaLocation":40,"dataGaName":174},"/de-de/small-business/","small business",{"text":176,"config":177},"den öffentlichen Sektor",{"href":178,"dataGaLocation":40,"dataGaName":179},"/de-de/solutions/public-sector/","public sector",{"text":181,"config":182},"Preise",{"href":183,"dataGaName":184,"dataGaLocation":40,"dataNavLevelOne":184},"/de-de/pricing/","pricing",{"text":186,"config":187,"link":189,"lists":193,"feature":273},"Ressourcen",{"dataNavLevelOne":188},"resources",{"text":190,"config":191},"Alle Ressourcen anzeigen",{"href":192,"dataGaName":188,"dataGaLocation":40},"/de-de/resources/",[194,227,245],{"title":195,"items":196},"Erste Schritte",[197,202,207,212,217,222],{"text":198,"config":199},"Installieren",{"href":200,"dataGaName":201,"dataGaLocation":40},"/de-de/install/","install",{"text":203,"config":204},"Kurzanleitungen",{"href":205,"dataGaName":206,"dataGaLocation":40},"/de-de/get-started/","quick setup checklists",{"text":208,"config":209},"Lernen",{"href":210,"dataGaLocation":40,"dataGaName":211},"https://university.gitlab.com/","learn",{"text":213,"config":214},"Produktdokumentation",{"href":215,"dataGaName":216,"dataGaLocation":40},"https://docs.gitlab.com/","product documentation",{"text":218,"config":219},"Best-Practice-Videos",{"href":220,"dataGaName":221,"dataGaLocation":40},"/de-de/getting-started-videos/","best practice videos",{"text":223,"config":224},"Integrationen",{"href":225,"dataGaName":226,"dataGaLocation":40},"/de-de/integrations/","integrations",{"title":228,"items":229},"Entdecken",[230,235,240],{"text":231,"config":232},"Kundenerfolge",{"href":233,"dataGaName":234,"dataGaLocation":40},"/de-de/customers/","customer success stories",{"text":236,"config":237},"Blog",{"href":238,"dataGaName":239,"dataGaLocation":40},"/de-de/blog/","blog",{"text":241,"config":242},"Remote",{"href":243,"dataGaName":244,"dataGaLocation":40},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":246,"items":247},"Vernetzen",[248,253,258,263,268],{"text":249,"config":250},"GitLab-Services",{"href":251,"dataGaName":252,"dataGaLocation":40},"/de-de/services/","services",{"text":254,"config":255},"Community",{"href":256,"dataGaName":257,"dataGaLocation":40},"/community/","community",{"text":259,"config":260},"Forum",{"href":261,"dataGaName":262,"dataGaLocation":40},"https://forum.gitlab.com/","forum",{"text":264,"config":265},"Veranstaltungen",{"href":266,"dataGaName":267,"dataGaLocation":40},"/events/","events",{"text":269,"config":270},"Partner",{"href":271,"dataGaName":272,"dataGaLocation":40},"/de-de/partners/","partners",{"backgroundColor":274,"textColor":275,"text":276,"image":277,"link":281},"#2f2a6b","#fff","Perspektiven für die Softwareentwicklung der Zukunft",{"altText":278,"config":279},"the source promo card",{"src":280},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":282,"config":283},"Lies die News",{"href":284,"dataGaName":285,"dataGaLocation":40},"/de-de/the-source/","the source",{"text":287,"config":288,"lists":290},"Unternehmen",{"dataNavLevelOne":289},"company",[291],{"items":292},[293,298,304,306,311,316,321,326,331,336,341],{"text":294,"config":295},"Über",{"href":296,"dataGaName":297,"dataGaLocation":40},"/de-de/company/","about",{"text":299,"config":300,"footerGa":303},"Karriere",{"href":301,"dataGaName":302,"dataGaLocation":40},"/jobs/","jobs",{"dataGaName":302},{"text":264,"config":305},{"href":266,"dataGaName":267,"dataGaLocation":40},{"text":307,"config":308},"Geschäftsführung",{"href":309,"dataGaName":310,"dataGaLocation":40},"/company/team/e-group/","leadership",{"text":312,"config":313},"Team",{"href":314,"dataGaName":315,"dataGaLocation":40},"/company/team/","team",{"text":317,"config":318},"Handbuch",{"href":319,"dataGaName":320,"dataGaLocation":40},"https://handbook.gitlab.com/","handbook",{"text":322,"config":323},"Investor Relations",{"href":324,"dataGaName":325,"dataGaLocation":40},"https://ir.gitlab.com/","investor relations",{"text":327,"config":328},"Trust Center",{"href":329,"dataGaName":330,"dataGaLocation":40},"/de-de/security/","trust center",{"text":332,"config":333},"AI Transparency Center",{"href":334,"dataGaName":335,"dataGaLocation":40},"/de-de/ai-transparency-center/","ai transparency center",{"text":337,"config":338},"Newsletter",{"href":339,"dataGaName":340,"dataGaLocation":40},"/company/contact/#contact-forms","newsletter",{"text":342,"config":343},"Presse",{"href":344,"dataGaName":345,"dataGaLocation":40},"/press/","press",{"text":347,"config":348,"lists":349},"Kontakt",{"dataNavLevelOne":289},[350],{"items":351},[352,355,360],{"text":47,"config":353},{"href":49,"dataGaName":354,"dataGaLocation":40},"talk to sales",{"text":356,"config":357},"Support-Portal",{"href":358,"dataGaName":359,"dataGaLocation":40},"https://support.gitlab.com","support portal",{"text":361,"config":362},"Kundenportal",{"href":363,"dataGaName":364,"dataGaLocation":40},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":366,"login":367,"suggestions":374},"Schließen",{"text":368,"link":369},"Um Repositories und Projekte zu durchsuchen, melde dich an bei",{"text":370,"config":371},"gitlab.com",{"href":54,"dataGaName":372,"dataGaLocation":373},"search login","search",{"text":375,"default":376},"Vorschläge",[377,379,384,386,391,396],{"text":69,"config":378},{"href":74,"dataGaName":69,"dataGaLocation":373},{"text":380,"config":381},"Code Suggestions (KI)",{"href":382,"dataGaName":383,"dataGaLocation":373},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":103,"config":385},{"href":105,"dataGaName":103,"dataGaLocation":373},{"text":387,"config":388},"GitLab auf AWS",{"href":389,"dataGaName":390,"dataGaLocation":373},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":392,"config":393},"GitLab auf Google Cloud",{"href":394,"dataGaName":395,"dataGaLocation":373},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":397,"config":398},"Warum GitLab?",{"href":82,"dataGaName":399,"dataGaLocation":373},"Why GitLab?",{"freeTrial":401,"mobileIcon":406,"desktopIcon":411,"secondaryButton":414},{"text":402,"config":403},"Kostenlos testen",{"href":404,"dataGaName":45,"dataGaLocation":405},"https://gitlab.com/-/trials/new/","nav",{"altText":407,"config":408},"GitLab-Symbol",{"src":409,"dataGaName":410,"dataGaLocation":405},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":407,"config":412},{"src":413,"dataGaName":410,"dataGaLocation":405},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":195,"config":415},{"href":416,"dataGaName":417,"dataGaLocation":405},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de/get-started/","get started",{"freeTrial":419,"mobileIcon":423,"desktopIcon":425},{"text":420,"config":421},"Erfahre mehr über GitLab Duo",{"href":74,"dataGaName":422,"dataGaLocation":405},"gitlab duo",{"altText":407,"config":424},{"src":409,"dataGaName":410,"dataGaLocation":405},{"altText":407,"config":426},{"src":413,"dataGaName":410,"dataGaLocation":405},{"freeTrial":428,"mobileIcon":433,"desktopIcon":435},{"text":429,"config":430},"Zurück zur Preisübersicht",{"href":183,"dataGaName":431,"dataGaLocation":405,"icon":432},"back to pricing","GoBack",{"altText":407,"config":434},{"src":409,"dataGaName":410,"dataGaLocation":405},{"altText":407,"config":436},{"src":413,"dataGaName":410,"dataGaLocation":405},{"title":438,"button":439,"config":444},"Sieh dir an, wie agentische KI die Softwarebereitstellung transformiert",{"text":440,"config":441},"GitLab Transcend jetzt ansehen",{"href":442,"dataGaName":443,"dataGaLocation":40},"/de-de/events/transcend/virtual/","transcend event",{"layout":445,"icon":446,"disabled":26},"release","AiStar",{"data":448},{"text":449,"source":450,"edit":456,"contribute":461,"config":466,"items":471,"minimal":644},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":451,"config":452},"Quelltext der Seite anzeigen",{"href":453,"dataGaName":454,"dataGaLocation":455},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":457,"config":458},"Diese Seite bearbeiten",{"href":459,"dataGaName":460,"dataGaLocation":455},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":462,"config":463},"Beteilige dich",{"href":464,"dataGaName":465,"dataGaLocation":455},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":467,"facebook":468,"youtube":469,"linkedin":470},"https://x.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[472,495,550,577,611],{"title":58,"links":473,"subMenu":478},[474],{"text":475,"config":476},"DevSecOps-Plattform",{"href":67,"dataGaName":477,"dataGaLocation":455},"devsecops platform",[479],{"title":181,"links":480},[481,485,490],{"text":482,"config":483},"Tarife anzeigen",{"href":183,"dataGaName":484,"dataGaLocation":455},"view plans",{"text":486,"config":487},"Vorteile von Premium",{"href":488,"dataGaName":489,"dataGaLocation":455},"/de-de/pricing/premium/","why premium",{"text":491,"config":492},"Vorteile von Ultimate",{"href":493,"dataGaName":494,"dataGaLocation":455},"/de-de/pricing/ultimate/","why ultimate",{"title":496,"links":497},"Lösungen",[498,503,506,508,513,518,522,525,528,533,535,537,540,545],{"text":499,"config":500},"Digitale Transformation",{"href":501,"dataGaName":502,"dataGaLocation":455},"/de-de/topics/digital-transformation/","digital transformation",{"text":504,"config":505},"Sicherheit und Compliance",{"href":123,"dataGaName":130,"dataGaLocation":455},{"text":115,"config":507},{"href":99,"dataGaName":100,"dataGaLocation":455},{"text":509,"config":510},"Agile Entwicklung",{"href":511,"dataGaName":512,"dataGaLocation":455},"/de-de/solutions/agile-delivery/","agile delivery",{"text":514,"config":515},"Cloud-Transformation",{"href":516,"dataGaName":517,"dataGaLocation":455},"/de-de/topics/cloud-native/","cloud transformation",{"text":519,"config":520},"SCM",{"href":112,"dataGaName":521,"dataGaLocation":455},"source code management",{"text":103,"config":523},{"href":105,"dataGaName":524,"dataGaLocation":455},"continuous integration & delivery",{"text":153,"config":526},{"href":155,"dataGaName":527,"dataGaLocation":455},"value stream management",{"text":529,"config":530},"GitOps",{"href":531,"dataGaName":532,"dataGaLocation":455},"/de-de/solutions/gitops/","gitops",{"text":166,"config":534},{"href":168,"dataGaName":169,"dataGaLocation":455},{"text":171,"config":536},{"href":173,"dataGaName":174,"dataGaLocation":455},{"text":538,"config":539},"Öffentlicher Sektor",{"href":178,"dataGaName":179,"dataGaLocation":455},{"text":541,"config":542},"Bildungswesen",{"href":543,"dataGaName":544,"dataGaLocation":455},"/de-de/solutions/education/","education",{"text":546,"config":547},"Finanzdienstleistungen",{"href":548,"dataGaName":549,"dataGaLocation":455},"/de-de/solutions/finance/","financial services",{"title":186,"links":551},[552,554,556,558,561,563,565,567,569,571,573,575],{"text":198,"config":553},{"href":200,"dataGaName":201,"dataGaLocation":455},{"text":203,"config":555},{"href":205,"dataGaName":206,"dataGaLocation":455},{"text":208,"config":557},{"href":210,"dataGaName":211,"dataGaLocation":455},{"text":213,"config":559},{"href":215,"dataGaName":560,"dataGaLocation":455},"docs",{"text":236,"config":562},{"href":238,"dataGaName":239,"dataGaLocation":455},{"text":231,"config":564},{"href":233,"dataGaName":234,"dataGaLocation":455},{"text":241,"config":566},{"href":243,"dataGaName":244,"dataGaLocation":455},{"text":249,"config":568},{"href":251,"dataGaName":252,"dataGaLocation":455},{"text":254,"config":570},{"href":256,"dataGaName":257,"dataGaLocation":455},{"text":259,"config":572},{"href":261,"dataGaName":262,"dataGaLocation":455},{"text":264,"config":574},{"href":266,"dataGaName":267,"dataGaLocation":455},{"text":269,"config":576},{"href":271,"dataGaName":272,"dataGaLocation":455},{"title":287,"links":578},[579,581,583,585,587,589,591,595,600,602,604,606],{"text":294,"config":580},{"href":296,"dataGaName":289,"dataGaLocation":455},{"text":299,"config":582},{"href":301,"dataGaName":302,"dataGaLocation":455},{"text":307,"config":584},{"href":309,"dataGaName":310,"dataGaLocation":455},{"text":312,"config":586},{"href":314,"dataGaName":315,"dataGaLocation":455},{"text":317,"config":588},{"href":319,"dataGaName":320,"dataGaLocation":455},{"text":322,"config":590},{"href":324,"dataGaName":325,"dataGaLocation":455},{"text":592,"config":593},"Sustainability",{"href":594,"dataGaName":592,"dataGaLocation":455},"/sustainability/",{"text":596,"config":597},"Vielfalt, Inklusion und Zugehörigkeit",{"href":598,"dataGaName":599,"dataGaLocation":455},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":327,"config":601},{"href":329,"dataGaName":330,"dataGaLocation":455},{"text":337,"config":603},{"href":339,"dataGaName":340,"dataGaLocation":455},{"text":342,"config":605},{"href":344,"dataGaName":345,"dataGaLocation":455},{"text":607,"config":608},"Transparenzerklärung zu moderner Sklaverei",{"href":609,"dataGaName":610,"dataGaLocation":455},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":612,"links":613},"Nimm Kontakt auf",[614,617,622,624,629,634,639],{"text":615,"config":616},"Sprich mit einem Experten/einer Expertin",{"href":49,"dataGaName":50,"dataGaLocation":455},{"text":618,"config":619},"Support",{"href":620,"dataGaName":621,"dataGaLocation":455},"https://support.gitlab.com/hc/en-us/articles/11626483177756-GitLab-Support","get help",{"text":361,"config":623},{"href":363,"dataGaName":364,"dataGaLocation":455},{"text":625,"config":626},"Status",{"href":627,"dataGaName":628,"dataGaLocation":455},"https://status.gitlab.com/","status",{"text":630,"config":631},"Nutzungsbedingungen",{"href":632,"dataGaName":633,"dataGaLocation":455},"/terms/","terms of use",{"text":635,"config":636},"Datenschutzerklärung",{"href":637,"dataGaName":638,"dataGaLocation":455},"/de-de/privacy/","privacy statement",{"text":640,"config":641},"Cookie-Einstellungen",{"dataGaName":642,"dataGaLocation":455,"id":643,"isOneTrustButton":26},"cookie preferences","ot-sdk-btn",{"items":645},[646,648,650],{"text":630,"config":647},{"href":632,"dataGaName":633,"dataGaLocation":455},{"text":635,"config":649},{"href":637,"dataGaName":638,"dataGaLocation":455},{"text":640,"config":651},{"dataGaName":642,"dataGaLocation":455,"id":643,"isOneTrustButton":26},[653],{"id":654,"title":19,"body":8,"config":655,"content":658,"description":8,"extension":24,"meta":661,"navigation":26,"path":662,"seo":663,"stem":664,"__hash__":665},"blogAuthors/en-us/blog/authors/denis-afonso.yml",{"template":656,"gitlabHandle":657},"BlogAuthor","denisra",{"name":19,"config":659},{"headshot":660},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1771934682/pbpsgszx2qmky8hgpee8.png",{},"/en-us/blog/authors/denis-afonso",{},"en-us/blog/authors/denis-afonso","hcF3Tb1lP1UyUwMFAeHdgS0zaa8LnmaBO4MStZX3mso",[667,680],{"content":668,"config":678},{"title":669,"description":670,"authors":671,"heroImage":673,"date":674,"body":675,"category":9,"tags":676},"Passkeys jetzt für passwortlosen Login und 2FA bei GitLab verfügbar","Passkey für das eigene Konto registrieren und Zwei-Faktor-Authentifizierung als Phishing-resistente Methode nutzen.",[672],"GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772029801/qk75nu1eezxa6aiefpup.png","2026-02-25","Passkeys sind ab sofort bei GitLab verfügbar und bieten eine sichere Möglichkeit, auf das eigene Konto zuzugreifen. Passkeys können für den passwortlosen Login oder als Phishing-resistente Zwei-Faktor-Authentifizierung (2FA) verwendet werden. Die Authentifizierung erfolgt über den Fingerabdruck, die Gesichtserkennung oder die PIN des Geräts. Bei Konten mit aktivierter 2FA werden Passkeys automatisch als Standard-2FA-Methode eingerichtet.\n\n\u003Cfigure class=\"video_container\">\n\n\u003Ciframe src=\"https://www.youtube.com/embed/LN5MGRdTHR8?si=OOebJZzN3LkSmzNv\" title=\"Passwordless authentication using passkeys\" frameborder=\"0\" allowfullscreen=\"true\">\u003C/iframe>\n\n\u003C/figure>\n\nUm einen Passkey zu registrieren, in den Profileinstellungen **Konto > Authentifizierung verwalten** aufrufen.\n\nPasskeys basieren auf WebAuthn-Technologie und Public-Key-Kryptographie, bestehend aus einem privaten und einem öffentlichen Schlüssel. Der private Schlüssel verbleibt sicher auf dem Gerät und verlässt es nie, während der öffentliche Schlüssel bei GitLab gespeichert wird. Selbst bei einer Kompromittierung von GitLab können Angreifer die gespeicherten Zugangsdaten nicht nutzen, um auf das Konto zuzugreifen. Passkeys funktionieren in Desktop-Browsern (Chrome, Firefox, Safari, Edge), auf Mobilgeräten (iOS 16+, Android 9+) und mit FIDO2-Hardware-Sicherheitsschlüsseln. Mehrere Passkeys lassen sich geräteübergreifend registrieren.\n\n![Passkeys-Anmeldung mit Zwei-Faktor-Authentifizierung](https://res.cloudinary.com/about-gitlab-com/image/upload/v1767807931/n652nkgvna1rsymlfzpi.png)\n\nGitLab hat das [CISA Secure by Design Pledge](https://about.gitlab.com/de-de/blog/last-year-we-signed-the-secure-by-design-pledge-heres-our-progress/) unterzeichnet und sich damit verpflichtet, die eigene Sicherheitslage zu verbessern und Kunden bei der Entwicklung sicherer Software zu unterstützen. Ein zentrales Ziel des Pledges ist die verstärkte Nutzung von [Multi-Faktor-Authentifizierung (MFA)](https://about.gitlab.com/de-de/blog/last-year-we-signed-the-secure-by-design-pledge-heres-our-progress/) in den eigenen Produkten. Passkeys sind ein wesentlicher Bestandteil dieses Ziels und bieten eine Phishing-resistente MFA-Methode, die die Anmeldung bei GitLab sicherer macht.\n\nBei Fragen, Erfahrungsberichten oder Verbesserungsvorschlägen steht das [Feedback-Issue](https://gitlab.com/gitlab-org/gitlab/-/work_items/366758) zur Verfügung.\n",[677,23],"security",{"featured":11,"template":12,"slug":679},"passkeys-now-available-for-passwordless-sign-in-and-2fa-on-gitlab",{"content":681,"config":693},{"title":682,"description":683,"authors":684,"heroImage":686,"date":687,"body":688,"category":9,"tags":689,"updatedDate":692},"Welche Auswirkungen die Ratenbegrenzungen für Docker Hub auf GitLab CI/CD haben","Erfahre, wie sich die bevorstehenden Ratenbegrenzungen für Pulls von Docker Hub auf GitLab-Pipelines auswirken und was du tun kannst, um Störungen zu vermeiden.",[685],"Tim Rizzi","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662488/Blog/Hero%20Images/blog-image-template-1800x945__3_.png","2025-03-24","Am 1. April 2025 hat Docker neue [Ratenbegrenzungen für Pulls](https://docs.docker.com/docker-hub/usage/) für Docker Hub eingeführt, die sich erheblich auf CI/CD-Pipelines in der gesamten Branche auswirken können, einschließlich derer, die auf GitLab ausgeführt werden. Die gravierendste Änderung ist die Begrenzung auf 10 Pulls pro Stunde für nicht angemeldete Benutzer(innen).\n\n> **12x kürzere Bereitstellungszeit: Dank GitLabs vollständiger Integration lebt Hilti Effizienz.** GitLab bringt vollständige Transparenz, eine umfassende Codeverwaltung und umfangreiche Sicherheitsscans mit, um Hilti neue Softwarefähigkeiten zu ermöglichen. Erfahre, wie Hilti seine Softwareentwicklung revolutioniert hat. **[Erfolgsstory lesen](https://about.gitlab.com/de-de/customers/hilti/)**\n\n## Was ändert sich?\n\nAb dem 1. April 2025 hat Docker die folgenden Ratenbegrenzungen für Pulls durchgesetzt:\n\n| Benutzertyp | Ratenbegrenzung für Pulls pro Stunde | Anzahl der öffentlichen Repositories | Anzahl der privaten Repositories |\n|-----------|--------------------------|-------------------------------|--------------------------------|\n| Business, Team, Pro (authentifiziert) | Unbegrenzt (angemessene Nutzung) | Unbegrenzt | Unbegrenzt |\n| Persönlich (authentifiziert) | 100 | Unbegrenzt | Maximal 1 |\n| Nicht angemeldete Benutzer(innen) | 10 pro IPv4-Adresse oder IPv6/64-Subnetz | Nicht zutreffend | Nicht zutreffend |\n\n\u003Cp>\u003C/p>\nDies ist besonders wichtig, weil:\n\n* Der Abhängigkeits-Proxy von GitLab pullt derzeit als nicht angemeldeter Benutzer von Docker Hub.\n* Die meisten CI/CD-Pipelines, die den Abhängigkeits-Proxy nicht verwenden, pullen als nicht angemeldete Benutzer direkt von Docker Hub.\n* Auf gehosteten Runnern für GitLab.com kann es vorkommen, dass sich mehrere Benutzer(innen) die gleiche IP-Adresse oder das gleiche Subnetz teilen. Somit unterliegen sie gemeinsam dieser Begrenzung.\n\n## Wie sich dies auf GitLab-Benutzer(innen) auswirkt\n\n**Auswirkungen auf direkte Pulls von Docker Hub**\n\nWenn deine CI/CD-Pipelines Images direkt und ohne Authentifizierung von Docker Hub pullen, ist die Anzahl auf 10 Pulls pro Stunde und IP-Adresse begrenzt. Bei Pipelines, die häufig oder projektübergreifend mit derselben Runner-Infrastruktur ausgeführt werden, wird dieser Grenzwert schnell erreicht und es kommt zu Pipeline-Fehlern.\n\n**Auswirkungen auf den Abhängigkeits-Proxy von GitLab**\n\nMit dem Abhängigkeits-Proxy von GitLab kannst du Docker-Images in GitLab zwischenspeichern, um Pipelines zu beschleunigen und externe Abhängigkeiten zu reduzieren. Die aktuelle Implementierung pullt allerdings als nicht angemeldeter Benutzer von Docker Hub. Das bedeutet, dass auch hier der Grenzwert von 10 Pulls pro Stunde gilt.\n\n**Auswirkungen auf gehostete Runner**\n\nGehostete Runner auf GitLab.com verwenden den [Pull-Through-Cache von Google Cloud](https://cloud.google.com/artifact-registry/docs/pull-cached-dockerhub-images?hl=de). Dieser spiegelt häufig gepullte Images, sodass Ratenbegrenzungen vermieden werden. Images von Jobs, die in deiner `.gitlab-ci.yml`-Datei als `image:` oder `services:` definiert sind, sind von Ratenbegrenzungen nicht betroffen.\n\nEtwas schwieriger wird es, wenn Images innerhalb der Runner-Umgebung gepullt werden. Der häufigste Anwendungsfall für das Pullen von Images während der Laufzeit eines Runners ist die Erstellung eines Images mit Docker-in-Docker oder Kaniko. In diesem Szenario wird das in deiner `Dockerfile` definierte Docker-Hub-Image direkt aus dem Docker Hub gepullt und ist wahrscheinlich von den Ratenbegrenzungen betroffen.\n\n## Wie GitLab reagiert\n\nWir arbeiten aktiv an Lösungen, um diese Herausforderungen zu bewältigen:\n\n* **Authentifizierung des Abhängigkeits-Proxy:** Wir haben die Unterstützung für die Docker-Hub-Authentifizierung im [GitLab-Abhängigkeits-Proxy](https://gitlab.com/gitlab-org/gitlab/-/issues/331741) hinzugefügt. Dadurch kann der Abhängigkeits-Proxy Images als angemeldeter Benutzer von Docker Hub pullen, wodurch die Grenzwerte erheblich erhöht werden.\n* **Aktualisierung der Dokumentation:** Wir haben unsere [Dokumentation (nur in englischer Sprache verfügbar)](https://docs.gitlab.com/user/packages/dependency_proxy/#configure-credentials) aktualisiert. Sie stellt jetzt eine klare Anleitung zur Konfiguration der Pipeline-Authentifizierung für Docker Hub zur Verfügung.\n* **Vorbereitung der internen Infrastruktur:** Wir bereiten unsere interne Infrastruktur vor, um die Auswirkungen auf gehostete Runner für GitLab.com zu minimieren.\n\n## So kannst du dich vorbereiten\n\n**Option 1: Konfiguriere die Docker-Hub-Authentifizierung in deinen Pipelines**\n\nFür Pipelines, die direkt von Docker Hub pullen, kannst du die Authentifizierung so konfigurieren, dass deine Ratenbegrenzung auf 100 Pulls pro Stunde erhöht wird (mit einem kostenpflichtigen Docker-Hub-Abo ist sie sogar unbegrenzt).\n\nFüge die Docker-Hub-Anmeldedaten zu den CI/CD-Variablen deines Projekts oder deiner Gruppe hinzu (nicht in deiner `.gitlab-ci.yml`-Datei). Ausführliche Anweisungen zur korrekten Einrichtung der CI/CD-Variable `DOCKER_AUTH_CONFIG` findest du in unserer [Dokumentation zur Verwendung von Docker-Images (nur in englischer Sprache verfügbar)](https://docs.gitlab.com/ci/docker/using_docker_images/#use-statically-defined-credentials).\n\n**Option 2: Verwende die GitLab-Container-Registry**\n\nDu kannst deine häufig verwendeten Docker-Images in deine [GitLab-Container-Registry (nur in englischer Sprache verfügbar)](https://docs.gitlab.com/user/packages/container_registry/) übertragen. So musst du während der CI/CD-Ausführung nicht mehr von Docker Hub pullen:\n\n1. Pulle das Image von Docker Hub.\n2. Kennzeichne es für deine GitLab-Container-Registry.\n3. Pushe es in deine GitLab-Container-Registry.\n4. Aktualisiere deine Pipelines, dass sie das Image von der GitLab-Container-Registry abrufen.\n\n```shell\ndocker pull busybox:latest\ndocker tag busybox:latest $CI_REGISTRY_IMAGE/busybox:latest\ndocker push $CI_REGISTRY_IMAGE/busybox:latest\n```\n\nIn deiner `.gitlab-ci.yml`-Datei fügst du dann folgende Zeile hinzu:\n\n`image: $CI_REGISTRY_IMAGE/busybox:latest`\n\n**Option 3: Verwende den GitLab-Abhängigkeits-Proxy**\n\nMit dem Abhängigkeits-Proxy von GitLab kannst du Docker-Images zwischenspeichern und übertragen. Dies reduziert externe Abhängigkeiten und somit Probleme mit der Ratenbegrenzung.\n\nAktuelle Authentifizierungsoptionen:\n* GitLab 17.10: Konfiguriere die Docker-Hub-Authentifizierung für den Abhängigkeits-Proxy mit der [GraphQL API (nur in englischer Sprache verfügbar)](https://docs.gitlab.com/user/packages/dependency_proxy/#configure-credentials-using-the-graphql-api)\n* GitLab 17.11: Verwende die neue UI-basierte Konfiguration in den Einstellungen deiner Gruppe (bereits auf GitLab.com verfügbar)\n\nSobald die Authentifizierung ordnungsgemäß konfiguriert ist, kannst du Folgendes tun:\n\n1. Konfiguriere die Docker-Hub-Anmeldeinformationen in den Einstellungen des Abhängigkeits-Proxys deiner Gruppe:\n  - Für GitLab 17.11+ (oder die aktuelle Version von GitLab.com): Navigiere zu den Einstellungen deiner Gruppe > Pakete und Registries > Abhängigkeits-Proxy.\n  - Für GitLab 17.10: Verwende die GraphQL-API, um die Authentifizierung zu konfigurieren.\n2. Aktualisiere deine Pipelines, sodass sie die Dependency-Proxy-URLs in deiner CI/CD-Konfiguration verwenden:\n`image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/busybox:latest`\n\n**Option 4: Überlege dir, ein kostenpflichtiges Docker-Hub-Abonnement abzuschließen**\n\nUnternehmen, die Docker Hub intensiv nutzen, ist das Upgrade auf ein kostenpflichtiges Docker-Abonnement (Team oder Business) möglicherweise die einfachste Lösung, da es unbegrenzt viele Pulls ermöglicht.\n\n## Best Practices zur Reduzierung der Auswirkungen der Docker-Hub-Ratenbegrenzung\n\nUnabhängig davon, welche Option du wählst, helfen dir diese Best Practices dabei, die Auswirkungen der Docker-Hub-Ratenbegrenzung zu minimieren:\n\n* Verwende eindeutige Image-Tags anstelle von `latest`, um unnötige Pulls zu vermeiden.\n* Konsolidiere deine Docker-Dateien, sodass sie projektübergreifend dieselben Basis-Images verwenden.\n* Plane weniger kritische Pipelines so, dass sie außerhalb der Stoßzeiten ausgeführt werden.\n* Verwende Caching effektiv, um zu vermeiden, dass dieselben Images wiederholt gepullt werden.\n\n**Hinweis:** Gemäß der [Dokumentation](https://docs.docker.com/docker-hub/usage/pulls/#pull-definition) von Docker Hub wird der Counter für die Anzahl der Pulls erhöht, wenn das Image-Manifest gepullt wird, und nicht basierend auf der Image-Größe oder der Anzahl der Ebenen.\n\n## Zeitplan und nächste Schritte\n\n**Jetzt**\n  * Implementiere die Authentifizierung für direkte Pulls von Docker Hub.\n  * Als Benutzer(in) von GitLab.com kannst du die Docker-Hub-Authentifizierung für den Abhängigkeits-Proxy bereits konfigurieren, indem du entweder:\n    * die GraphQL-API oder\n    * die Benutzeroberfläche in den Gruppeneinstellungen verwendest\n  * Benutzer(innen) von GitLab Self-Managed 17.10 können die Abhängigkeits-Proxy-Authentifizierung über die GraphQL-API konfigurieren.\n\n**1. April 2025**\n  * Die Ratenbegrenzungen für Docker Hub treten in Kraft.\n\n**17. April 2025**\n  * GitLab 17.11 wird mit UI-basierter Unterstützung für die Authentifizierung des Abhängigkeits-Proxy für Self-Managed-Instanzen veröffentlicht.\nDu solltest rechtzeitig vor Ablauf der Frist am 1. April Maßnahmen ergreifen, um unerwartete Pipeline-Fehler zu vermeiden. Für die meisten Benutzer(innen) ist die Konfiguration des Abhängigkeits-Proxys mit der Docker-Hub-Authentifizierung die effizienteste Langzeitlösung.\n\n> Hast du Fragen oder benötigst du Hilfe bei der Implementierung? Sieh dir [dieses Ticket an](https://gitlab.com/gitlab-org/gitlab/-/issues/526605), wo unser Team aktiv Unterstützung bietet.",[103,690,691],"news","DevSecOps platform","2025-04-21",{"slug":694,"featured":26,"template":12},"prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd",{"promotions":696},[697,711,723],{"id":698,"categories":699,"header":701,"text":702,"button":703,"image":708},"ai-modernization",[700],"ai-ml","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":704,"config":705},"Get your AI maturity score",{"href":706,"dataGaName":707,"dataGaLocation":239},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":709},{"src":710},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":712,"categories":713,"header":715,"text":702,"button":716,"image":720},"devops-modernization",[23,714],"devsecops","Are you just managing tools or shipping innovation?",{"text":717,"config":718},"Get your DevOps maturity score",{"href":719,"dataGaName":707,"dataGaLocation":239},"/assessments/devops-modernization-assessment/",{"config":721},{"src":722},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":724,"categories":725,"header":726,"text":702,"button":727,"image":731},"security-modernization",[677],"Are you trading speed for security?",{"text":728,"config":729},"Get your security maturity score",{"href":730,"dataGaName":707,"dataGaLocation":239},"/assessments/security-modernization-assessment/",{"config":732},{"src":733},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"header":735,"blurb":736,"button":737,"secondaryButton":742},"Beginne noch heute, schneller zu entwickeln","Entdecke, was dein Team mit der intelligenten Orchestrierungsplattform für DevSecOps erreichen kann.\n",{"text":738,"config":739},"Kostenlosen Test starten",{"href":740,"dataGaName":45,"dataGaLocation":741},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/de-de/","feature",{"text":47,"config":743},{"href":49,"dataGaName":50,"dataGaLocation":741},1773871186148]