	{"id":68170,"date":"2022-10-10T10:16:34","date_gmt":"2022-10-10T09:16:34","guid":{"rendered":"https:\/\/www.artefact.com\/?post_type=blog&#038;p=68170"},"modified":"2024-09-20T17:45:51","modified_gmt":"2024-09-20T16:45:51","slug":"snowflake-access-control-at-scale","status":"publish","type":"blog","link":"https:\/\/www.artefact.com\/de\/blog\/snowflake-access-control-at-scale\/","title":{"rendered":"Snowflake-Zugangskontrolle im gro\u00dfen Ma\u00dfstab"},"content":{"rendered":"<p><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling article-author\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-background-color:#ffffff;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_2 1_2 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-1 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-margin-bottom-small:8px;\"><h2 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:50;line-height:1.2;\">Autor<\/h2><\/div><img decoding=\"async\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27150%27%20height%3D%270%27%20viewBox%3D%270%200%20150%200%27%3E%3Crect%20width%3D%27150%27%20height%3D%270%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/10\/benoit-goujon.jpeg\" alt=\"Image\" class=\"lazyload artefact-elegant-image align-left article-author-image\" style=\"width: 150px; border-radius: 54% 46% 77% 23% \/ 74% 40% 60% 26%; overflow: hidden;\" width=\"150\" height=\"auto\" \/><div class=\"fusion-title title fusion-title-2 fusion-sep-none fusion-title-text fusion-title-size-three article-author-name-title\" style=\"--awb-margin-bottom-small:8px;\"><h3 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:20;line-height:1.2;\">Beno\u00eet Goujon<\/h3><\/div><div class=\"fusion-text fusion-text-1 article-author-description\" style=\"--awb-text-transform:none;\"><p>Data Engineer bei Artefact<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-margin-top:40px;--awb-margin-bottom:40px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-flex-align-self-center fusion-column-inner-bg-wrapper\" style=\"--awb-padding-top:20px;--awb-padding-right:20px;--awb-padding-bottom:20px;--awb-padding-left:20px;--awb-overflow:hidden;--awb-inner-bg-size:cover;--awb-border-color:rgba(10,17,40,0.1);--awb-border-top:1px;--awb-border-right:1px;--awb-border-bottom:1px;--awb-border-left:1px;--awb-border-style:solid;--awb-border-radius:4px 4px 4px 4px;--awb-inner-bg-border-radius:4px 4px 4px 4px;--awb-inner-bg-overflow:hidden;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><span class=\"fusion-column-inner-bg hover-type-none\"><a class=\"fusion-column-anchor\" href=\"https:\/\/medium.com\/artefact-engineering-and-data-science\/snowflake-access-management-at-scale-44b7add1b978\" rel=\"noopener noreferrer\" target=\"_blank\"><span class=\"fusion-column-inner-bg-image\"><\/span><\/a><\/span><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-row fusion-flex-align-items-center\"><div class=\"fusion-text fusion-text-2\"><p><u>Lesen Sie unseren Artikel \u00fcber<\/u><\/p>\n<\/div><div class=\"fusion-image-element\" style=\"--awb-margin-right:20px;--awb-margin-left:20px;--awb-max-width:150px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-1 hover-type-none\"><img decoding=\"async\" width=\"4000\" height=\"992\" title=\"Mittel Blog\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog.png\" alt class=\"lazyload img-responsive wp-image-60582\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%274000%27%20height%3D%27992%27%20viewBox%3D%270%200%204000%20992%27%3E%3Crect%20width%3D%274000%27%20height%3D%27992%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-200x50.png 200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-400x99.png 400w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-600x149.png 600w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-800x198.png 800w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog-1200x298.png 1200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/04\/Medium-Blog.png 4000w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 4000px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-3\"><p>.<\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-3 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-4 description\" style=\"--awb-text-transform:none;\"><p>Wie wir die Verwaltung eines Kontos mit mehr als 50 Benutzern unter Einhaltung der data governance-Standards automatisiert haben<\/p>\n<\/div><\/div><\/div><\/div><\/div><article class=\"fusion-fullwidth fullwidth-box fusion-builder-row-4 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-3 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-5\" style=\"--awb-text-transform:none;\"><p>Immer mehr Unternehmen stellen Snowflake in den Mittelpunkt ihres data platforms. Auch wenn es sich um eine verwaltete L\u00f6sung handelt, m\u00fcssen Sie die Umgebung dennoch verwalten. Das kann eine Herausforderung sein, besonders f\u00fcr gro\u00dfe Unternehmen.<\/p>\n<p>Eine der Herausforderungen ist\u00a0<strong>Zugangskontrolle<\/strong>. Es ist ein wichtiger Bestandteil eines jeden data governance-Programms. Snowflake bietet\u00a0<a class=\"au lc\" href=\"https:\/\/docs.snowflake.com\/en\/user-guide\/security-access-control-overview.html\" target=\"_blank\" rel=\"noopener ugc nofollow\">sofort einsatzbereite Funktionen<\/a>\u00a0um diese Herausforderung zu meistern. Aber wenn Sie Dutzende von Benutzern und Terabytes von data haben, reichen die integrierten Funktionen nicht aus. Sie m\u00fcssen sich eine Strategie f\u00fcr die Verwaltung Ihres Kontos \u00fcberlegen.<\/p>\n<p>Das haben wir schon erlebt. F\u00fcr einen der <a href=\"https:\/\/www.artefact.com\/de\/about-us\/\">unsere Kunden<\/a>, verwalteten wir ein Konto mit mehr als 50 aktiven Benutzern. Wir haben eine L\u00f6sung zur Skalierung der Zugriffskontrolle entwickelt.<\/p>\n<p>In diesem Artikel werden die wichtigsten Erkenntnisse des vergangenen Jahres beschrieben.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-3 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-margin-bottom-small:8px;\"><h2 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:50;line-height:1.2;\">Ausgangssituation<\/p><\/h2><\/div><div class=\"fusion-text fusion-text-6\" style=\"--awb-text-transform:none;\"><p>Bevor wir zu dem Unternehmen kamen, war das Konto eingerichtet und viele gute Ideen waren umgesetzt worden.\u00a0<a class=\"au lc\" href=\"https:\/\/docs.snowflake.com\/en\/user-guide\/security-access-control-overview.html#custom-roles\" target=\"_blank\" rel=\"noopener ugc nofollow\">Benutzerdefinierte Rollen<\/a>\u00a0erstellt worden war. Die Benutzer wurden sorgf\u00e4ltig verwaltet. Aber es gab ein paar Einschr\u00e4nkungen:<\/p>\n<\/div><ul style=\"--awb-line-height:27.2px;--awb-icon-width:27.2px;--awb-icon-height:27.2px;--awb-icon-margin:11.2px;--awb-content-margin:38.4px;\" class=\"fusion-checklist fusion-checklist-1 fusion-checklist-default type-icons\"><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">Die Verwaltung wurde durchgef\u00fchrt\u00a0<strong>manuell<\/strong>\u00a0was die Verantwortlichen sehr viel Zeit gekostet hat.<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">Data-Analysten und Entwickler nutzten ihre Konten f\u00fcr automatisierte Aufgaben. Das war ein Problem, weil die Mitarbeiter ihre Passw\u00f6rter weitergeben mussten. Neben dem erheblichen Sicherheitsproblem kam es zu Fehlern, weil Mitarbeiter, die das Unternehmen verlie\u00dfen, ihre Anmeldedaten widerrufen hatten.<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p>Es gab\u00a0<strong>keine Dokumentation<\/strong>\u00a0der vorhandenen Rollen, was es schwierig macht, die aktuellen Berechtigungen zu pr\u00fcfen und regelm\u00e4\u00dfig zu \u00fcberpr\u00fcfen.<\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">Die Benutzer wurden ausschlie\u00dflich von Snowflake aus verwaltet. Wenn Mitarbeiter das Unternehmen verlie\u00dfen, mussten sich die Administratoren der Snowflake-Umgebung dessen bewusst sein. Das Team, das f\u00fcr die Benutzerverwaltung (Active Directory) zust\u00e4ndig war, war nicht dasselbe wie das, das f\u00fcr das Snowflake-Konto verantwortlich war. Es bestand also das Risiko, dass ehemalige Mitarbeiter nach ihrem Ausscheiden auf das data des Unternehmens zugreifen konnten.<\/div><\/li><\/ul><div class=\"fusion-text fusion-text-7\" style=\"--awb-text-transform:none;\"><p>Wir haben ein neues System entwickelt, um die Zugangskontrolle zu verwalten und diese M\u00e4ngel zu bek\u00e4mpfen.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-4 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-margin-bottom-small:8px;\"><h2 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:50;line-height:1.2;\">Entwurf eines Rahmens f\u00fcr die Zugangskontrolle<\/p><\/h2><\/div><div class=\"fusion-text fusion-text-8\" style=\"--awb-text-transform:none;\"><p>Zun\u00e4chst haben wir den Benutzern alle Standardrollen (SYSADMIN, USERADMIN ...) entzogen ... Nur einige wenige Personen konnten diese Rollen \u00fcbernehmen. Das waren die Personen, die f\u00fcr die Verwaltung zust\u00e4ndig waren.<\/p>\n<p>Zweitens haben wir einen Rahmen f\u00fcr die Zugriffskontrolle auf der Grundlage von benutzerdefinierten Rollen geschaffen. Wir haben zwei Arten von benutzerdefinierten Rollen definiert:<\/p>\n<\/div><ul style=\"--awb-line-height:27.2px;--awb-icon-width:27.2px;--awb-icon-height:27.2px;--awb-icon-margin:11.2px;--awb-content-margin:38.4px;\" class=\"fusion-checklist fusion-checklist-2 fusion-checklist-default type-icons\"><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p><strong>Zugriffsrollen<\/strong>\u00a0umfassen eine Reihe von Privilegien auf niedriger Ebene f\u00fcr Snowflake-Objekte. Eine Zugriffsrolle kann z.B. nur Leseberechtigungen f\u00fcr eine bestimmte database umfassen. Sie werden den Benutzern nicht direkt gew\u00e4hrt.<\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p><strong>Funktionale Rollen<\/strong>\u00a0sind die den Benutzern zugewiesenen Rollen. Sie umfassen eine Reihe von Zugriffsrollen. Sie werden f\u00fcr ein bestimmtes Team erstellt.<\/p>\n<\/div><\/li><\/ul><div class=\"fusion-text fusion-text-9\" style=\"--awb-text-transform:none;\"><p>Wir haben uns daf\u00fcr entschieden, die Zugriffsrollen auf der\u00a0<strong>dataGrundstufe<\/strong>. Es macht es einfach, die Privilegien von einer Umgebung in eine andere zu replizieren, indem es Zero-Copy-Cloning verwendet. Es war auch ein\u00a0<strong>Kompromiss<\/strong>\u00a0zwischen der Flexibilit\u00e4t, die wir den Endbenutzern zugestehen, und der strikten Anwendung des Prinzips der geringsten Privilegien.<\/p>\n<p>Auf der Ebene database haben wir 3 Ebenen von Zugriffsrollen definiert:<\/p>\n<\/div><ul style=\"--awb-line-height:27.2px;--awb-icon-width:27.2px;--awb-icon-height:27.2px;--awb-icon-margin:11.2px;--awb-content-margin:38.4px;\" class=\"fusion-checklist fusion-checklist-3 fusion-checklist-default type-icons\"><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p>Schreibgesch\u00fctzt<\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p>Lesen und Schreiben<\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p>Admin<\/p>\n<\/div><\/li><\/ul><div class=\"fusion-text fusion-text-10\" style=\"--awb-text-transform:none;\"><p>Wir haben eine \u00e4hnliche Strategie f\u00fcr den Lagerzugang mit zwei Arten von Rollen angewandt:<\/p>\n<\/div><ul style=\"--awb-line-height:27.2px;--awb-icon-width:27.2px;--awb-icon-height:27.2px;--awb-icon-margin:11.2px;--awb-content-margin:38.4px;\" class=\"fusion-checklist fusion-checklist-4 fusion-checklist-default type-icons\"><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p>Benutzer<\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p>Admin<\/p>\n<\/div><\/li><\/ul><div class=\"fusion-text fusion-text-11\" style=\"--awb-text-transform:none;\"><p>Unten sehen Sie eine Illustration unseres Rahmens. Die Pfeile stehen f\u00fcr Zusch\u00fcsse.<\/p>\n<\/div><div class=\"fusion-image-element\" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-2 hover-type-none\"><img decoding=\"async\" width=\"632\" height=\"596\" alt=\"Below is an illustration of our framework. Arrows represent grants. Snowflakes\" title=\"Unten sehen Sie eine Illustration unseres Rahmens. Die Pfeile stehen f\u00fcr Zusch\u00fcsse.\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/10\/Below-is-an-illustration-of-our-framework.-Arrows-represent-grants..png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/10\/Below-is-an-illustration-of-our-framework.-Arrows-represent-grants..png\" class=\"lazyload img-responsive wp-image-68174\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27632%27%20height%3D%27596%27%20viewBox%3D%270%200%20632%20596%27%3E%3Crect%20width%3D%27632%27%20height%3D%27596%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/10\/Below-is-an-illustration-of-our-framework.-Arrows-represent-grants.-200x189.png 200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/10\/Below-is-an-illustration-of-our-framework.-Arrows-represent-grants.-400x377.png 400w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/10\/Below-is-an-illustration-of-our-framework.-Arrows-represent-grants.-600x566.png 600w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/10\/Below-is-an-illustration-of-our-framework.-Arrows-represent-grants..png 632w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 632px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-12\" style=\"--awb-text-transform:none;\"><p>Zu diesem Zeitpunkt hatten wir eine bessere Vorstellung davon, wie wir Berechtigungen verwalten w\u00fcrden, aber wir hatten auch Probleme mit der Benutzerverwaltung.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-5 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-margin-bottom-small:8px;\"><h2 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:50;line-height:1.2;\">Benutzerverwaltung<\/p><\/h2><\/div><div class=\"fusion-text fusion-text-13\" style=\"--awb-text-transform:none;\"><p>Wir richten ein\u00a0<strong>Einmalige Anmeldung<\/strong>\u00a0um Snowflake-Benutzern zu erm\u00f6glichen\u00a0<strong>sich \u00fcber Azure Active Directory (AAD) anmelden<\/strong>. Auf diese Weise entfiel die Komplexit\u00e4t der Verwaltung von zwei data-Benutzerdatenbanken, und der Offboarding-Prozess war robuster. Tats\u00e4chlich mussten wir den Benutzer nur in AAD deaktivieren und die L\u00f6schung wurde automatisch in Snowflake repliziert.<\/p>\n<p>Da es in Snowflake eine Zuordnung zwischen AD-Gruppen und Rollen gibt, konnten wir jedem Benutzer, den wir erstellen, eine Rolle zuweisen. Wir folgen demselben Prozess f\u00fcr jeden neuen Benutzer.<\/p>\n<\/div><ul style=\"--awb-line-height:27.2px;--awb-icon-width:27.2px;--awb-icon-height:27.2px;--awb-icon-margin:11.2px;--awb-content-margin:38.4px;\" class=\"fusion-checklist fusion-checklist-5 fusion-checklist-default type-icons paddingList dark-text\"><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">Sie senden eine Anfrage \u00fcber unser Ticketingsystem, in der sie erkl\u00e4ren, zu welchem Team sie geh\u00f6ren und was sie f\u00fcr den Zugang ben\u00f6tigen.<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p>Wir f\u00fcgen den Benutzer zu der\/den entsprechenden AD-Gruppe(n) hinzu<\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p>Die Synchronisierung erfolgt im Hintergrund<\/p>\n<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p>Der Benutzer kann auf Snowflake zugreifen und die ihm zugewiesene Rolle verwenden<\/p>\n<\/div><\/li><\/ul><div class=\"fusion-text fusion-text-14\" style=\"--awb-text-transform:none;\"><p>Es handelt sich dabei um den Prozess f\u00fcr echte menschliche Benutzer, der jedoch eine der eingangs erw\u00e4hnten Einschr\u00e4nkungen nicht ber\u00fccksichtigt: die Verwendung pers\u00f6nlicher Anmeldedaten f\u00fcr automatisierte Auftr\u00e4ge.<\/p>\n<p>Aus diesem Grund haben wir\u00a0<strong>Servicekonten<\/strong>. Die Verwaltung von Servicekonten \u00e4hnelt sehr dem, was wir gerade beschrieben haben. Der einzige Unterschied besteht darin, dass wir f\u00fcr jedes Servicekonto eine funktionale Rolle erstellen. Es gibt eine\u00a0<strong>Eins-zu-eins-Beziehung zwischen Servicekonten und ihren Rollen<\/strong>. Daher schr\u00e4nken wir den Umfang der Berechtigungen f\u00fcr jedes Dienstkonto streng ein.<\/p>\n<p>Diese Schritte waren gro\u00dfe Verbesserungen. Alles wurde dokumentiert. Die Teams nahmen den neuen Rahmen schnell an. Wir waren zufrieden.<\/p>\n<p>Aber wir haben immer noch viel Zeit damit verbracht, den Zugriff manuell zu gew\u00e4hren, und da dies sehr manuell war, war es auch fehleranf\u00e4llig. Es war klar, dass wir ein Tool brauchten, um diese Aufgaben zu automatisieren.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-6 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-margin-bottom-small:8px;\"><h2 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:50;line-height:1.2;\">Automatisierung zur Rettung<\/p><\/h2><\/div><div class=\"fusion-text fusion-text-15\" style=\"--awb-text-transform:none;\"><p>Wir hatten ein paar M\u00f6glichkeiten:<\/p>\n<\/div><ul style=\"--awb-line-height:27.2px;--awb-icon-width:27.2px;--awb-icon-height:27.2px;--awb-icon-margin:11.2px;--awb-content-margin:38.4px;\" class=\"fusion-checklist fusion-checklist-6 fusion-checklist-default type-icons paddingList dark-text\"><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">Verwenden Sie die\u00a0<a class=\"au lc\" href=\"https:\/\/registry.terraform.io\/providers\/Snowflake-Labs\/snowflake\/latest\" target=\"_blank\" rel=\"noopener ugc nofollow\">Snowflake Terraform Anbieter<\/a>\u00a0um die Umwelt zu verwalten<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">Schreiben Sie Bash-Skripte, um die Erstellung von Benutzern und die Vergabe von Berechtigungen zu automatisieren.<\/div><\/li><li class=\"fusion-li-item\" style=\"\"><span class=\"icon-wrapper circle-no\"><i class=\"fusion-li-icon awb-icon-check\" aria-hidden=\"true\"><\/i><\/span><div class=\"fusion-li-item-content\">\n<p>Unser eigenes CLI in einer Sprache wie Python oder Go schreiben<\/p>\n<\/div><\/li><\/ul><div class=\"fusion-text fusion-text-16\" style=\"--awb-text-transform:none;\"><p>Schlie\u00dflich haben wir ein CLI in Python erstellt.<\/p>\n<p>Wir bevorzugen die Verwendung von Terraform f\u00fcr die Bereitstellung von Infrastruktur und nur von Infrastruktur. Wenn Sie anfangen, Ihre Benutzer und Berechtigungen mit Terraform zu verwalten, kann es zu unerw\u00fcnschten Verhaltensweisen kommen. Zum Beispiel ist die Rotation von Geheimnissen sehr schwer zu verwalten.<\/p>\n<p>Wir m\u00f6gen bash, aber nur f\u00fcr ad-hoc und einfache Operationen. Hier m\u00fcssen wir Konfigurationsdateien laden, mit der Snowflake API interagieren und data-Strukturen manipulieren. Das ist zwar m\u00f6glich, aber auf lange Sicht w\u00e4re es schwer zu pflegen.<\/p>\n<p>Zus\u00e4tzlich zu diesem Aspekt brauchten wir auch Zuverl\u00e4ssigkeit. Eine M\u00f6glichkeit, dies zu erreichen, besteht darin, Tests zu schreiben. Das ist in Programmiersprachen wie Python einfacher.<\/p>\n<p>Wenn Sie das Tool ausf\u00fchren, geschieht Folgendes hinter den Kulissen.<\/p>\n<\/div><div class=\"fusion-image-element\" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-3 hover-type-none\"><img decoding=\"async\" width=\"282\" height=\"647\" title=\"0_qDJt0rvHAJJb0wuZ\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/10\/0_qDJt0rvHAJJb0wuZ.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/10\/0_qDJt0rvHAJJb0wuZ.png\" alt class=\"lazyload img-responsive wp-image-68175\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27282%27%20height%3D%27647%27%20viewBox%3D%270%200%20282%20647%27%3E%3Crect%20width%3D%27282%27%20height%3D%27647%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/10\/0_qDJt0rvHAJJb0wuZ-200x459.png 200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/10\/0_qDJt0rvHAJJb0wuZ.png 282w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 282px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-17\" style=\"--awb-text-transform:none;\"><p>Das Tool erstellt keine Rolle, die bereits existiert. Dasselbe gilt f\u00fcr Privilegien. Das Tool berechnet die\u00a0<strong>Unterschied zwischen der Konfiguration und der entfernten Umgebung<\/strong>\u00a0und wendet die notwendigen \u00c4nderungen an. So k\u00f6nnen wir jegliche Ausfallzeiten vermeiden.<\/p>\n<p>Wir haben dieses Tool zun\u00e4chst lokal ausgef\u00fchrt. Aber das konnte zu Problemen f\u00fchren. So konnte es beispielsweise zu Konflikten zwischen zwei Ingenieuren kommen, die gleichzeitig \u00c4nderungen vornehmen wollten. Aus diesem Grund haben wir ein\u00a0<strong>Arbeitsablauf basierend auf den CI\/CD-Funktionen von Azure DevOps (ADO)<\/strong>.<\/p>\n<blockquote class=\"nn no np\">\n<p>Hinweis: Wir haben ADO verwendet, aber Sie k\u00f6nnen dies auch mit GitHub, GitLab oder Bitbucket tun.<\/p>\n<\/blockquote>\n<p>Hier ist der endg\u00fcltige Prozess.<\/p>\n<\/div><div class=\"fusion-image-element\" style=\"--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-4 hover-type-none\"><img decoding=\"async\" width=\"974\" height=\"416\" alt=\"Here is the final process of snowflakes\" title=\"Schneeflocken-medium\" src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/10\/snowflakes-medium.png\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/10\/snowflakes-medium.png\" class=\"lazyload img-responsive wp-image-68176\" srcset=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27974%27%20height%3D%27416%27%20viewBox%3D%270%200%20974%20416%27%3E%3Crect%20width%3D%27974%27%20height%3D%27416%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-srcset=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/10\/snowflakes-medium-200x85.png 200w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/10\/snowflakes-medium-400x171.png 400w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/10\/snowflakes-medium-600x256.png 600w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/10\/snowflakes-medium-800x342.png 800w, https:\/\/www.artefact.com\/\/wp-content\/uploads\/2022\/10\/snowflakes-medium.png 974w\" data-sizes=\"auto\" data-orig-sizes=\"(max-width: 640px) 100vw, 974px\" \/><\/span><\/div><div class=\"fusion-text fusion-text-18\" style=\"--awb-text-transform:none;\"><p>Dieser vollst\u00e4ndig automatisierte Arbeitsablauf funktioniert sehr gut. Die Tests fangen Fehler schon fr\u00fch in der CI-Pipeline ab. Und die obligatorische \u00dcberpr\u00fcfung ist auch eine M\u00f6glichkeit, Zwischenf\u00e4lle zu verhindern.<\/p>\n<p>Au\u00dferdem dienen Pull Requests als eine Art Dokumentation aller Anforderungen.<\/p>\n<\/div><div class=\"fusion-title title fusion-title-7 fusion-sep-none fusion-title-text fusion-title-size-two\" style=\"--awb-margin-bottom-small:8px;\"><h2 class=\"fusion-title-heading title-heading-left fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:50;line-height:1.2;\">Fazit<\/p><\/h2><\/div><div class=\"fusion-text fusion-text-19\" style=\"--awb-text-transform:none;\"><p>Es ist jetzt etwas weniger als ein Jahr her, dass wir mit dieser L\u00f6sung begonnen haben. Obwohl die Implementierung anfangs eine gewisse Zeit in Anspruch nahm, hat sie sich absolut gelohnt.<\/p>\n<p>Wir verbringen jetzt mehr Zeit damit, mit den Benutzern \u00fcber ihre W\u00fcnsche zu diskutieren und weniger mit der eigentlichen Implementierung. Die meisten Anfragen k\u00f6nnen in etwa 10 Zeilen YAML gel\u00f6st werden. Das ist sehr effizient und l\u00e4sst sich gut skalieren. Wir freuen uns immer noch \u00fcber neue Benutzer und k\u00f6nnen die Nachfrage bew\u00e4ltigen. Au\u00dferdem haben wir die anf\u00e4nglichen Probleme gel\u00f6st. Es war also ein Erfolg!<\/p>\n<\/div><div class=\"fusion-text fusion-text-20\" style=\"--awb-text-transform:none;\"><article>\n<div class=\"l\">\n<div class=\"l\">\n<section>\n<div class=\"ir is it iu iv\">\n<p class=\"pw-post-body-paragraph ld le iy lf b lg lh jz li lj lk kc ll lm ln lo lp lq lr ls lt lu lv lw lx ly ir ga\" data-selectable-paragraph=\"\">Dank an <a class=\"oc et cj\" href=\"https:\/\/medium.com\/u\/16b1369e2064?source=post_page-----44b7add1b978--------------------------------\" target=\"_blank\" rel=\"noopener\">Samy Dougui\u00a0<\/a>die diesen Artikel gepr\u00fcft und mit mir an der Entwicklung dieser L\u00f6sung gearbeitet haben<\/p>\n<\/div>\n<\/section>\n<\/div>\n<\/div>\n<\/article>\n<\/div><\/div><\/div><\/div><\/article><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-5 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-margin-top:40px;--awb-margin-bottom:40px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"max-width:calc( 1440px + 20px );margin-left: calc(-20px \/ 2 );margin-right: calc(-20px \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-4 fusion_builder_column_1_1 1_1 fusion-flex-column fusion-flex-align-self-center\" style=\"--awb-padding-top:40px;--awb-padding-right:40px;--awb-padding-bottom:40px;--awb-padding-left:40px;--awb-overflow:hidden;--awb-bg-position:left center;--awb-bg-size:cover;--awb-border-color:rgba(10,17,40,0.1);--awb-border-style:solid;--awb-border-radius:4px 4px 4px 4px;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:10px;--awb-margin-bottom-large:0px;--awb-spacing-left-large:10px;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:10px;--awb-spacing-left-medium:10px;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:10px;--awb-spacing-left-small:10px;\"><div class=\"fusion-column-wrapper lazyload fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-column fusion-column-has-bg-image\" data-bg-url=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/03\/background.jpg\" data-bg=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/03\/background.jpg\"><div class=\"fusion-image-element\" style=\"text-align:center;--awb-margin-right:20px;--awb-margin-left:20px;--awb-max-width:150px;--awb-caption-title-font-family:var(--h2_typography-font-family);--awb-caption-title-font-weight:var(--h2_typography-font-weight);--awb-caption-title-font-style:var(--h2_typography-font-style);--awb-caption-title-size:var(--h2_typography-font-size);--awb-caption-title-transform:var(--h2_typography-text-transform);--awb-caption-title-line-height:var(--h2_typography-line-height);--awb-caption-title-letter-spacing:var(--h2_typography-letter-spacing);\"><span class=\"fusion-imageframe imageframe-none imageframe-5 hover-type-none\"><img decoding=\"async\" width=\"72\" height=\"41\" title=\"mittel\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2772%27%20height%3D%2741%27%20viewBox%3D%270%200%2072%2041%27%3E%3Crect%20width%3D%2772%27%20height%3D%2741%27%20fill-opacity%3D%220%22%2F%3E%3C%2Fsvg%3E\" data-orig-src=\"https:\/\/www.artefact.com\/\/wp-content\/uploads\/2021\/03\/medium.png\" alt class=\"lazyload img-responsive wp-image-60927\"\/><\/span><\/div><div class=\"fusion-title title fusion-title-8 fusion-sep-none fusion-title-center fusion-title-text fusion-title-size-three\" style=\"--awb-margin-top:20px;--awb-margin-bottom:0px;--awb-margin-bottom-small:8px;\"><h3 class=\"fusion-title-heading title-heading-center fusion-responsive-typography-calculated\" style=\"margin:0;--fontSize:20;line-height:1.2;\">Mittel Blog von Artefact.<\/h3><\/div><div class=\"fusion-text fusion-text-21\" style=\"--awb-content-alignment:center;\"><p>Dieser Artikel wurde urspr\u00fcnglich ver\u00f6ffentlicht auf <strong>Medium.com<\/strong>.<br \/>\nFolgen Sie uns auf unserem Medium Blog !<\/p>\n<\/div><div style=\"text-align:center;\"><a class=\"fusion-button button-flat button-medium button-default fusion-button-default button-1 fusion-button-default-span fusion-button-default-type\" target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\/\/medium.com\/artefact-engineering-and-data-science\/snowflake-access-management-at-scale-44b7add1b978\"><span class=\"fusion-button-text awb-button__text awb-button__text--default\">Unseren Artikel lesen<\/span><\/a><\/div><\/div><\/div><\/div><\/div><\/p>","protected":false},"excerpt":{"rendered":"<p>Snowflake | Wie wir die Verwaltung eines Kontos mit mehr als 50 Benutzern unter Einhaltung der data governance-Standards automatisiert haben<\/p>","protected":false},"featured_media":68680,"parent":0,"template":"","meta":{"_acf_changed":false,"ep_exclude_from_search":false},"blog-category":[21939],"blog-language":[2991],"class_list":["post-68170","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog-category-medium","blog-language-en"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.artefact.com\/de\/wp-json\/wp\/v2\/blog\/68170","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.artefact.com\/de\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.artefact.com\/de\/wp-json\/wp\/v2\/types\/blog"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.artefact.com\/de\/wp-json\/wp\/v2\/media\/68680"}],"wp:attachment":[{"href":"https:\/\/www.artefact.com\/de\/wp-json\/wp\/v2\/media?parent=68170"}],"wp:term":[{"taxonomy":"blog-category","embeddable":true,"href":"https:\/\/www.artefact.com\/de\/wp-json\/wp\/v2\/blog-category?post=68170"},{"taxonomy":"blog-language","embeddable":true,"href":"https:\/\/www.artefact.com\/de\/wp-json\/wp\/v2\/blog-language?post=68170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}