Настройка REST API объекта в Azure NetApp Files

Azure NetApp Files поддерживает доступ к объектам с помощью функции REST API object REST API. С помощью REST API объекта можно подключаться к таким службам, как Поиск с использованием ИИ Azure, Microsoft Fabric, Microsoft Foundry, Azure Databricks, OneLake и другим клиентам, совместимым с S3.

В этой статье описывается настройка доступа к REST API объекта и пошаговое руководство по двум поддерживаемым рабочим процессам сертификатов. Выберите рабочий процесс, который лучше всего соответствует вашим требованиям к безопасности и эксплуатации.

Создание самозаверяющего сертификата

Azure NetApp Files поддерживает два варианта сертификата для доступа к REST API объекта:

  1. сертификаты на основе Azure Key Vault (рекомендуется): сертификаты создаются и хранятся в Azure Key Vault, а сертификат извлекается непосредственно из Azure Key Vault во время создания контейнера.

  2. Прямая отправка сертификатов: сертификаты PEM создаются и загружаются вручную во время создания контейнера.

Это важно

Параметры, которые вы выбрали, определяют формат сертификата, который необходимо создать (PKCS#12 и PEM), а также способ отправки сертификата во время создания контейнера.

Необходимо выбрать один из следующих параметров:

Используйте этот параметр, если вы хотите, чтобы Azure NetApp Files читать сертификат непосредственно из Azure Key Vault во время создания контейнера.

См. документацию Azure Key Vault по добавлению сертификата в Key Vault.

При создании сертификата в Azure Key Vault убедитесь, что:

  • Тип контента: PKCS#12
  • Subject: IP-адрес или полное доменное имя (FQDN) конечной точки Azure NetApp Files с помощью формата "CN=<IP or FQDN>"
  • DNS-имена: IP-адрес или полное доменное имя

Снимок экрана: параметры создания сертификата.

После успешного создания сертификата щелкните на сертификате в списке и просмотрите свойства.

  • В поле идентификатора сертификата запишите URI хранилища "https://<vault_name.azure.net>".
  • Обратите внимание на имя сертификата

Необходимые разрешения Azure Key Vault

Чтобы избежать сбоев создания контейнеров, убедитесь, что служба Azure NetApp Files имеет разрешение на чтение сертификата из Azure Key Vault.

Как минимум, необходимо предоставить следующие разрешения:

  • Сертификаты: Получение, перечисление, обновление, создание, импорт, управление центрами сертификации, получение центров сертификации, список центров сертификации, настройка центров сертификации, удаление центров сертификации
  • Секреты: Получить, Список, Установить, Удалить

Замечание

Если эти разрешения отсутствуют, создание контейнера завершается ошибкой при попытке Azure NetApp Files получить сертификат.

Вариант 2. Отправка прямого сертификата

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

При создании сертификата убедитесь, что:

  • Тип контента: PEM
  • Subject: IP-адрес или полное доменное имя (FQDN) конечной точки Azure NetApp Files с помощью формата "CN=<IP or FQDN>"
  • DNS-имена: IP-адрес или полное доменное имя

Создание сертификата

Используйте предоставленный скрипт для создания самозаверяющего сертификата PEM. Скрипт создает файлы сертификата и закрытого ключа, необходимые для отправки. Задайте имя компьютера CN= в соответствии с IP-адресом или полным доменным именем (FQDN) конечной точки с поддержкой REST API объекта. Этот скрипт создает папку, содержащую необходимые PEM-файл и закрытые ключи.

Создайте и запустите следующий скрипт:

#!/bin/sh
# Define certificate details 
CERT_DAYS=365 
RSA_STR_LEN=2048 
CERT_DIR="./certs" 
KEY_DIR="./certs/private" 
CN="mylocalsite.local" 

# Create directories if they don't exist 
mkdir -p $CERT_DIR 
mkdir -p $KEY_DIR 

# Generate private key 
openssl genrsa -out $KEY_DIR/server-key.pem $RSA_STR_LEN 

# Generate Certificate Signing Request (CSR) 
openssl req -new -key $KEY_DIR/server-key.pem -out $CERT_DIR/server-req.pem -subj "/C=US/ST=State/L=City/O=Organization/OU=Unit/CN=$CN" 

# Generate self-signed certificate 
openssl x509 -req -days $CERT_DAYS -in $CERT_DIR/server-req.pem -signkey $KEY_DIR/server-key.pem -out $CERT_DIR/server-cert.pem 

echo "Self-signed certificate created at $CERT_DIR/server-cert.pem"

После создания сертификата необходимо создать контейнер.

Создание контейнера

Чтобы включить REST API объекта, необходимо создать контейнер на томе Azure NetApp Files.

  1. В томе NetApp выберите "Контейнеры".

  2. Нажмите кнопку +Создать или обновить сегмент.

  3. В контейнере создания или обновления укажите следующие сведения для контейнера:

    Конфигурация контейнера

    • Имя

      Укажите имя контейнера. См. Правила и ограничения наименования ресурсов Azure для соглашений об именовании.

    • Путь

      Путь подкаталога для REST API объекта. Для полного доступа к тому оставьте это поле пустым или используйте / для корневого каталога.

      Это важно

      Указанный каталог уже должен существовать в томе. Если этого не существует, создать контейнер не удастся.

    Доступ к протоколу

    • Том NFS

      • Идентификатор пользователя (UID)

        UID, используемый для доступа к контейнеру.

      • Идентификатор группы (GID)

        GID, используемый для доступа к контейнеру.

    • Том SMB

      • Имя пользователя

        Идентификатор, используемый для чтения контейнера.

    • Разрешения

      Выберите "Только для чтения" или "Только для чтения" и "Запись".

    Снимок экрана: создание меню контейнера.

    • Хранилище учетных данных

      • Хранилище ключей Azure

        • Универсальный код ресурса (URI) хранилища

          Выберите имя из раскрывающегося списка.

        • Имя секрета

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

      • Ключ доступа

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

  4. Нажмите кнопку "Создать".

    Дополнительные сведения необходимы для создания первого бакета в наборе томов, разделяющих один IP-адрес.

    Управление сертификатами

    • Полностью квалифицированное доменное имя

      Введите полное доменное имя конечной точки, используемое клиентами для доступа к контейнерам.

    Источник сертификата

    • Хранилище ключей Azure

      • Универсальный код ресурса (URI) хранилища

        Выберите имя из раскрывающегося списка.

      • Имя сертификата

        Введите имя сертификата.

    • Отправка сертификата

      Выберите параметр сертификата для отправки файла сертификата напрямую.

      Если вы не предоставили сертификат, отправьте PEM-файл.

      • Источник сертификата.

        Отправьте соответствующий сертификат. Поддерживаются только ФАЙЛЫ PEM.

  5. Нажмите кнопку "Сохранить", чтобы проверить конфигурацию.

  6. Выберите "Создать ", чтобы подготовить контейнер.

После создания контейнера необходимо создать учетные данные для доступа к контейнеру.

Создание учетных данных

Поведение создания учетных данных зависит от выбранного параметра хранилища учетных данных.

  1. Перейдите к только что созданному контейнеру.

  2. Выберите "Создать учетные данные".

  3. Введите требуемый срок жизни ключа доступа в днях и выберите "Создать учетные данные".

    учетные данные, основанные на Azure Key Vault

    • Учетные данные создаются и хранятся безопасно в Azure Key Vault.
    • Учетные данные не отображаются на портале Azure.
    • Вы должны получить учетные данные непосредственно из настроенного Key Vault.

    После создания учетных данных выполните следующие действия:

    1. Убедитесь, что секрет создан в указанном Key Vault.

    2. Проверьте секрет:

      1. Перейдите к хранилищу ключей на портале Azure.
      2. Выберите "Объекты ", а затем выберите "Секреты".
      3. Убедитесь, что secret_name создан.

    Учетные данные на основе ключей доступа

    При использовании прямой отправки сертификатов:

    • Ключ доступа и секретный ключ доступа отображаются один раз на портале Azure.
    • Необходимо безопасно копировать и хранить оба значения.
    • Учетные данные нельзя получить снова после первоначального отображения.

    Это важно

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

    Повторное создание учетных данных

    После задания учетных данных можно создать новые учетные данные, выбрав три точки () в контейнере и выбрав "Создать учетные данные".

    Это важно

    Создание новых учетных данных немедленно отменяет существующие учетные данные.

Обновление доступа к контейнеру

Вы можете изменить параметры управления доступом в контейнере.

  • Идентификатор пользователя / имя пользователя
  • Идентификатор группы
  • Разрешения
  1. В томе NetApp выберите "Контейнеры".
  2. Нажмите кнопку +Создать или обновить сегмент.
  3. Введите имя контейнера, который требуется изменить.
  4. Измените параметры управления доступом по мере необходимости.
  5. Нажмите кнопку "Сохранить", чтобы изменить существующий контейнер.

Замечание

Невозможно изменить путь к контейнеру. Чтобы обновить путь к контейнеру, удалите и повторно создайте контейнер с новым путем.

Удаление контейнера

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

  1. В учетной записи NetApp перейдите в контейнеры.
  2. Выберите три точки () рядом с контейнером, который требуется удалить.
  3. Нажмите кнопку "Удалить".
  4. В окне "Удалить" выберите "Удалить ", чтобы подтвердить удаление контейнера.

Дальнейшие шаги