Рубрики
Uncategorized

Секреты доступа в AKV с использованием управляемых личностей для AKS

Цель этого поста Цель этого поста — показать вам, как получить доступ к секретам от A… Помечено с лазурным лазурем, дежоптом, Azuredevops.

Цель этого поста

Целью этого поста — показать вам, как получить доступ к секретам от AKS Cluster, которые хранятся в Vault Key Azure.

В одном из моих предыдущих сообщений в блоге я показал, как доступа к ключам из ключа Vault из Azure DEVOPS, где я настроил конвейер Release, чтобы извлечь секрет от ключевого хранилища и заменив его во время выполнения для трубопровода.

У нас есть много других способов доступа к ключам от ключевого хранилища с любого из любых ресурсов Azure Resource, которые мы развертываем, используя управляемые идентификаторы — это один из безопасных и простых способов доступа к сохранению нашего приложения.

Что такое управляемые идентичности?

Есть много постов, которые могут помочь вам понять, что такое управляемая идентичность. Если вы отправитесь в Microsoft Docs, вот определение управляемых личностей вы получите.

«Управляемые идентификаторы предоставляют идентификацию приложений для использования при подключении к ресурсам, которые поддерживают аутентификацию Azure Active Directory (Azure AD). Приложения могут использовать управляемую идентичность для получения токенов Azure AD. Например, приложение может использовать управляемую идентичность для доступа к ресурсам, такими как Azure Key Vault, где разработчики могут хранить учетные данные безопасным способом или для доступа к учетным записям. » Определение кредитов: Microsoft Docs.

Проще говоря, любой ресурс Azure, который поддерживает аутентификацию Azure AD, может иметь управляемые идентичности. Как только мы позволяем управлять идентичностью для Azure, принципал службы будет создан в Active Directory от имени этого ресурса Azure, который вы создаете. При этом вы можете предоставить доступ к ресурсу Azure, который управлял идентификацией, включенным в целевой ресурс Azure, который вы хотите получить доступ.

Например, если вы хотите получить доступ к WebApp, доступ к вашему ключу Vault, все, что вам нужно сделать, это включить управляемую идентичность на вашем webApp и предоставить доступ к управляемой идентичности вашего webapp в политиках доступа ключей ключа.

Без управляемых личностей, в вышеупомянутом сценарии вам понадобится Обслуживание обслуживания И секрет клиента, который будет создан для вашего приложения (WebApp в вышеуказанном сценарии), и этот сервисный директор должен быть предоставлен разрешение на целевой ресурс Azure (ключевое хранилище в приведенном выше сценарии). Вам необходимо настроить свой WebApp, чтобы использовать идентификатор клиента и секрет, чтобы вызова звонящих ключевым хранилищем, чтобы получить секреты.

Вам придется управлять идентификатором и секретом клиента самостоятельно. Процитируйте, если принципиальные учетные данные службы скомпрометируются, вам необходимо изменить секрет каждый раз и обновить код приложений, чтобы потреблять новый секрет. Это не только небезопасно, но также утомительно обновлять секреты клиентов в нескольких местах.

Управляемое удостоверение личности для спасения

С управляемыми идентификаторами вам больше не нужно создавать принцип обслуживания для вашего приложения, но когда функция включена на ресурс Azure, он не только создает SP для вас, но и он будет управлять вращением ключей самостоятельно. Вам больше не нужно держать идентификатор клиента и секрет клиента вашего руководителя обслуживания в исходном коде для доступа к целевому ресурсу.

Пожалуйста, обратите внимание, что мы снимаем бремя поддержания основных учетных данных об обслуживании в вашем коде. Но вам все еще нужно иметь соответствующие библиотеки и соответствующие код для доступа к целевому ресурсу. Например, если ваше приложение собирается получить доступ к ключам Vault, и если приложение будет на веб-пансионе с включенным управляемой идентичностью, вам больше не нужно передавать основные учетные данные Service, чтобы вызвать конечную точку ключа Vault API. Вы можете вызвать конечную точку API ключей Vault непосредственно с вашего WebApp, поскольку он управлял включенным идентификатором, и что управляемая идентификация предоставляется разрешение на ключ.

С этим давайте погрузиться в какую-то демонстрацию.

Вот шаги, которые мы собираемся следовать:

  1. Создать кластер Aks
  2. Включить управляемое удостоверение личности к кластеру AX
  3. Создайте ключ с секретом в этом.
  4. Включите доступ к управляемому личности AKS через политики доступа в Key Vault.
  5. Доступ к секрете в ключевом хранилище от стручка в AX.

Мы собираемся создавать 2 ресурса в этой демонстрации.

  1. Aks Cluster
  2. Azure Key Vault.

В этой демонстрировании я создал образец Aks Cluster, используя следующие команды после того, как я вошел в Azure с My Azure CLI

az group create --name yourresourcegroupname --location uksouth 
az aks create -g yourresourcegroupname -n MyAKS --location uksouth --generate-ssh-keys

Как мы обсуждаем о управляемой идентичности, а не о AX, то вышесказанное должно хватить для создания кластера AKS.

Как только создан кластер AKS, вы должны увидеть новую группу ресурсов, созданную с именем «MC_», это для базового ресурса, ваша кластер Aks должен работать.

После его создания нажмите на VMSS, созданные для вашего кластера AKS.

Один раз в лезвие VMSS, нажмите на идентичность и обратите внимание, что у нас есть вариант для назначенной системы управляемой идентичности.

Включите его одним щелчком нажатии на «на».

Как только он включен, вы должны увидеть новый управляемый ресурс идентификации, созданный в группе ресурсов «MC_».

Далее создайте и Azure Key Resource Resource и секрет в нем.

AZ Group Create —Name «Yourresourcegroupname» -l «locationofyourresorucegroup»

Я создал ниже ключа хранилища и секрет.

На данный момент мы создали кластер AKS, включал систему, назначенную управляемой идентичностью и создал ключ с новым секретом в этом.

Далее мы собираемся добавить разрешение на AK для доступа к ключу. Для этого перейдите к варианту доступа к политикам Key Vault и нажмите на опцию «Добавить политику доступа».

Выберите «Секретный менеджмент» в настройке Configure из шаблона. Обратите внимание, что я выбрал «секретное управление» ради этого POC. В реальной производственной среде, Get, списки разрешений должно быть достаточно.

В параметре «Выбрать принципал» нажмите «Нет выбранных», чтобы выбрать один и выбрать идентификатор объекта «Диаграмма обслуживания AKS» и «Добавить».

Вы должны увидеть политику доступа, добавленную в список политик доступа и нажмите «Сохранить».

После выполнения подключиться к кластеру AKS с помощью команд ниже

AZ AKS Get-Credentials —Resource-Group YourResourceGroupname —Name YouraksClustername Isoverwrite, существующий

После выполнения вкрутите POD NGINX, используя ниже команды.

Используйте следующую команду для входа в систему в POD

kubectl exec -i -t nginx —container nginx -/bin/башмак

Чтобы получить доступ к секретному ключу в Vault Key Azure, нам нужно ударить API, чтобы получить токен доступа, как описано в этом документ .

Как только токен получается, вы можете получить доступ к значению секретного ключа в Key Vault с помощью команды ниже.

Curl-10-01 ‘-H «Авторизация: носитель»

Таким образом, мы можем получить доступ к значениям в клавише Vault от AKS с включенными управляемыми идентификаторами.

В этом сообщении мы видели, какие управляемые идентификаторы находятся в оболочке ореховой оболочки и видели, как включить управляемую идентичность для Aks Cluster и получить доступ к ключам в хранилище AKS с помощью политики доступа, предоставленной управляемой идентичностью кластера AKS.

Система назначена управляемой идентичности жизни, пока ресурс находится в Azure. Как только ресурс будет удален, соответствующая управляемая идентичность и принципал его обслуживания также удаляются из Azure AD.

У нас также есть, что называется идентификацией пользователя, которая существует даже после удаления ресурса, и вы можете назначить его одному или нескольким экземплярам службы Azure. В случае назначенных пользователем управляемых идентификаторов идентичность управляется отдельно от ресурсов, которые его используют, и вы несете ответственность за очистку его после использования.

Надеюсь, вам понравилось, читая этот пост блога.

Спасибо за чтение!!

Оригинал: «https://dev.to/vivekanandrapaka/access-secrets-from-akv-using-managed-identities-for-aks-91p»