Как получить секрет из узла хранилища ключей Azure - PullRequest
0 голосов
/ 03 мая 2019

Я ищу пример кода, который демонстрирует, как подключиться к хранилищу ключей Azure и получить секрет из хранилища, не сохраняя кредиты в виде простого текста, а вместо этого используя сертификаты и SPN для аутентификации в хранилище. Кто-нибудь делал что-то подобное раньше, кто хотел бы пролить свет на это?

Я пытаюсь безопасно получить учетные данные из лазури, не имея необходимости сохранять кредиты локально, и это оказалось сложнее, чем я первоначально думал.

1 Ответ

1 голос
/ 06 мая 2019

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

Вот очень хорошая статья о том же с использованием точечной сети.

Проверка подлинности базы сертификатов

В качестве альтернативы Azure Key Vault предоставляет способ безопасного хранения учетных данных и других ключей и секретов, но ваш код должен пройти аутентификацию в Key Vault для их получения. Управляемая идентификация службы (MSI) упрощает решение этой проблемы, предоставляя службам Azure автоматически управляемую идентификацию в Azure Active Directory (Azure AD). Вы можете использовать эту идентификацию для аутентификации в любой службе, которая поддерживает аутентификацию Azure AD, включая Key Vault, без каких-либо учетных данных в коде.

Запустите команду assign-identity, чтобы создать удостоверение для этого приложения:

az webapp identity assign --name <app_name> --resource-group "<YourResourceGroupName>"

Эта команда эквивалентна переходу на портал и переключению удостоверения управляемой службы на Вкл в свойствах веб-приложения.

Назначение разрешений вашему приложению для чтения секретов из хранилища ключей

 {
      "principalId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "type": "SystemAssigned"
    }

Затем выполните эту команду, используя имя вашего хранилища ключей и значение PrincipalId, скопированное сверху:

az keyvault set-policy --name '<YourKeyVaultName>' --object-id <PrincipalId> --secret-permissions get

Deploy the Node App to Azure and retrieve the secret value

Разверните ваше приложение js для узла. После этого при просмотре https: //.azurewebsites.net вы увидите секретное значение. Убедитесь, что вы заменили имя на имя вашего хранилища

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...