AWS спонсировала этот пост.
С 2017 года, когда эта функция стала общедоступной, Kubernetes использует управление доступом на основе ролей (RBAC), чтобы определить, кто имеет право ее использовать.
Но восемь лет — это очень-очень много для технологий. «И у RBAC есть свои ограничения в Kubernetes», — сказал Мика Хауслер, главный инженер Amazon Web Services, в этом выпуске The New Stack Makers.
«Хотя он работает очень хорошо, он очень прост. Это разрешено только», — сказал мне Хауслер в эпизоде On the Road программы Makers, записанном на KubeCon + CloudNativeCon North America в Атланте.
«Я не могу запретить вам что-то делать. Я не могу ставить никаких условий. Я не могу сказать: «Вы можете прикоснуться к этой вещи, если эта вещь истинна, если это условие истинно». И это также не работает с атрибутами».
По словам Хауслера, Cedar, механизм авторизации и язык политики, первоначально выпущенный AWS в 2022 году и открытый в следующем году, изначально не разрабатывался для Kubernetes. Вместо этого, по его словам, оно предназначалось «на самом деле для решения проблем, с которыми сталкивались обе команды Amazon, а также проблем, с которыми сталкивались клиенты. Проблемы, связанные с тем, как мне авторизовать запросы? Как мне это сделать и убедиться, что это быстро, безопасно и производительно?»
Будучи инженером команды Kubernetes в AWS, Хауслер познакомился с Cedar во время поиска лучшего языка авторизации в K8s.
Со временем, по его словам, сотрудники отдела поддержки проекта поняли, что Cedar «на удивление хорошо моделирует все, что мы можем делать в Kubernetes, на кратком и читаемом языке политики».
По словам Хауслера, когда он познакомился с проектом, он был «в восторге» от его читабельности.
По его словам, у каждого, кто работает в сфере технологий, «есть нетехнические работники, семья, друзья и т. д. И вы можете попытаться объяснить своей семье и друзьям, над чем вы работаете, и сказать: «О, это то, чем я занимаюсь». И часто это может пролететь мимо их головы, их глаза могут потускнеть».
Но «когда я действительно могу показать им политику Cedar и сказать: вот текст этого кода, над которым я работаю, как вы думаете, что он делает? И они действительно могут, как нетехнический человек, прочитать его и понять».
Rust, Go и не только
Авторизация в Kubernetes, как отметил Хауслер, «намеренно очень ограничена. Она пытается быть быстрой, и это так и есть, но она также требует некоторых компромиссов с этой скоростью с точки зрения того, что пользователи не могут быть такими же выразительными. Я не могу ничего отрицать. Я не могу управлять доступом к типам на основе атрибутов».
Cedar, напротив, «дает нам не только те функции, которых нет в Kubernetes, но и имеет несколько действительно приятных функций, ориентированных на пользователя. Все ваши политики могут быть проверены на соответствие схеме».
По словам Хауслера, еще одна функция, включенная в Cedar: автозаполнение кода при написании политики. «Я также могу быть уверен, поскольку Cedar формально проверен, что мои политики верны, они не допустят ошибок. У меня не может быть невыполнимой политики. Она будет либо производить, либо разрешать, либо запрещать».
Cedar — в настоящее время подключенный к песочнице Cloud Native Computing Foundation — используется другими компаниями, такими как Cloudflare и MongoDB. «Если вы используете MongoDB и управляете базами данных, вы фактически пишете политики Xedar для управления вашим доступом к вашей MongoDB», — отметил Хауслер.
Проект, написанный на Rust, не зависит от языка. По словам Хауслера, StrongDM, участник проекта, написал реализацию на Go, которая была передана в дар компании Cedar.
По его словам, Cedar в настоящее время ищет участников и сопровождающих, особенно тех, кто может создавать привязки к другим языкам. «Чтобы построить целую экосистему, вам необходимо воспользоваться всеми преимуществами Cedar», — сказал он. «Не все пишут все на Rust или Go. Существует целая экосистема, включая TypeScript, JavaScript, Python, которая, я думаю, тоже может извлечь из этого пользу».
Посмотрите полный выпуск, чтобы узнать больше об истории Cedar, о том, как AWS приняла решение сделать его открытым исходным кодом, а также о растущей роли агентного ИИ в Kubernetes.
С момента своего создания Amazon Web Services (AWS) была для клиентов лучшим местом для создания и запуска программного обеспечения с открытым исходным кодом в облаке. AWS гордится тем, что поддерживает проекты с открытым исходным кодом, фонды и партнеров. Узнайте больше Последние новости AWS TRENDING STORIES YOUTUBE.COM/THENEWSTACK Технологии развиваются быстро, не пропустите ни одного эпизода. Подпишитесь на наш канал YouTube, чтобы смотреть все наши подкасты, интервью, демонстрации и многое другое. ПОДПИСАТЬСЯ Группа, созданная в Sketch. Хизер Джослин — главный редактор журнала The New Stack, специализирующаяся на вопросах управления и карьеры, которые актуальны для разработчиков программного обеспечения и инженеров. Ранее она работала главным редактором Container Solutions, консалтинговой компании Cloud Native… Подробнее от Хизер Джослин