Azure NetApp Filesでは、object REST API 機能を使用したオブジェクトへのアクセスがサポートされています。 オブジェクト REST API を使用すると、Azure AI 検索、Microsoft Fabric、Microsoft Foundry、Azure Databricks、OneLake、およびその他の S3 互換クライアントなどのサービスに接続できます。
この記事では、オブジェクト REST API アクセスを構成する方法について説明し、サポートされている 2 つの証明書ワークフローについて説明します。 セキュリティと運用上の要件に最も一致するワークフローを選択します。
自己署名証明書を作成する
Azure NetApp Filesでは、オブジェクト REST API アクセス用の 2 つの証明書オプションがサポートされています。
Azure Key Vault ベースの証明書 (推奨): 証明書が作成され、Azure Key Vaultに格納され、バケットの作成時に証明書がAzure Key Vaultから直接取得されます。
証明書の直接アップロード: PEM 証明書は、バケットの作成時に手動で生成およびアップロードされます。
Important
選択するオプションによって、生成する必要がある証明書の形式 (PKCS#12 と PEM)、およびバケットの作成時に証明書を指定する方法が決まります。
次のいずれかのオプションを選択する必要があります。
オプション 1 (推奨): Azure Key Vault ベースの証明書
バケットの作成時Azure NetApp Files証明書をAzure Key Vaultから直接読み取る場合は、このオプションを使用します。
Key Vaultに証明書を追加する方法については、
Azure Key Vaultで証明書を作成するときは、次のことを確認します。
- コンテンツ タイプ: PKCS#12
-
Subject:
"CN=<IP or FQDN>"形式を使用したAzure NetApp Files エンドポイントの IP アドレスまたは完全修飾ドメイン名 (FQDN) - DNS 名: IP アドレスまたは FQDN
証明書が正常に作成されたら、一覧から証明書をクリックし、プロパティを確認します。
- [証明書識別子] フィールドで、コンテナー "https://<vault_name>.azure.net" の URI を書き留めます。
- 証明書の名前を書き留めます
必要なAzure Key Vaultアクセス許可
バケットの作成エラーを回避するには、Azure NetApp Files サービスに、Azure Key Vaultから証明書を読み取るアクセス許可があることを確認します。
少なくとも、次のアクセス許可を付与する必要があります。
- 証明書: 取得、リスト、更新、作成、インポート、証明機関の管理、証明機関の取得、証明機関の一覧表示、証明機関の設定、証明機関の削除
- シークレット: 取得、一覧、設定、削除
注
これらのアクセス許可がない場合、Azure NetApp Filesが証明書の取得を試みると、バケットの作成は失敗します。
オプション 2: 証明書の直接アップロード
このオプションは、バケットの作成時に証明書を生成して手動でアップロードする場合に使用します。
証明書を作成するときは、次のことを確認します。
- コンテンツ タイプ: PEM
-
Subject:
"CN=<IP or FQDN>"形式を使用したAzure NetApp Files エンドポイントの IP アドレスまたは完全修飾ドメイン名 (FQDN) - DNS 名: IP アドレスまたは FQDN
証明書を生成する
提供されたスクリプトを使用して、自己署名 PEM 証明書を生成します。 このスクリプトでは、アップロードに必要な証明書ファイルと秘密キー ファイルの両方が作成されます。 コンピューター名 CN= を、オブジェクト REST API 対応エンドポイントの IP アドレスまたは完全修飾ドメイン名 (FQDN) に設定します。 このスクリプトは、必要な 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 ボリュームにバケットを作成する必要があります。
NetApp ボリュームから「バケット」を選択します。
[+ バケットの作成または更新] を選択します。
[バケットの作成または更新] で、バケットに関する次の情報を指定します。
バケットの構成
名前
バケットの名前を指定します。 名前付け規則については、Azure リソースに関する規則と制限事項を参照してください。
Path
オブジェクト REST API のサブディレクトリ パス。 フル ボリューム アクセスの場合は、このフィールドを空白のままにするか、ルート ディレクトリに
/を使用します。Important
指定したディレクトリがボリューム上に既に存在している必要があります。 存在しない場合、バケットの作成は失敗します。
プロトコル アクセス
NFS ボリューム
ユーザー ID (UID)
バケットへのアクセスに使用される UID。
グループ ID (GID)
バケットへのアクセスに使用される GID。
SMB ボリューム
ユーザー名
バケットの読み取りに使用される ID。
アクセス許可
[読み取り専用] または [読み取りと書き込み] を選択します。
資格情報ストレージ
Azure Key Vault
コンテナー URI
ドロップダウンリストから名前を選択します。
シークレット名
シークレットの名前を入力します。 秘密名はユーザー定義で、命名ガイドラインを満たす任意の値で設定できます。
アクセス キー
このオプションを選択すると、バケットが作成された後にポータルがアクセスキーを生成し、Azureポータルに一度だけ表示されます。 これらの値の両方を手動でコピーし、安全に保存する必要があります。
を選択してを作成します。
同じ IP アドレスを共有する一連のボリュームに最初のバケットを作成するには、追加の詳細が必要です。
証明書の管理
完全修飾ドメイン名
クライアントがバケットにアクセスするために使用するエンドポイント FQDN を入力します。
証明書ソース
Azure Key Vault
コンテナー URI
ドロップダウンリストから名前を選択します。
証明書名
証明書の名前を入力します。
証明書のアップロード
証明書ファイルを直接アップロードするには、証明書オプションを選択します。
証明書を指定していない場合は、PEM ファイルをアップロードします。
証明書のソース。
適切な証明書をアップロードします。 PEM ファイルのみがサポートされています。
[ 保存] を 選択して構成を検証します。
[ 作成] を選択してバケットをプロビジョニングします。
バケットを作成したら、バケットにアクセスするための資格情報を生成する必要があります。
資格情報を生成する
資格情報の生成動作は、選択した資格情報ストレージ オプションによって異なります。
新しく作成されたバケットに移動します。
[ 資格情報の生成] を選択します。
必要なアクセス キーの有効期間を日数で入力し、[ 資格情報の生成] を選択します。
Azure Key Vault ベースの資格情報
- 資格情報が生成され、Azure Key Vaultに安全に格納されます。
- 資格情報は Azure ポータルに表示されません。
- 構成されたKey Vaultから資格情報を直接取得する必要があります。
資格情報が生成されたら、次の操作を行います。
指定したKey Vaultにシークレットが作成されていることを確認します。
シークレットを確認します。
- Azure ポータルでキー ボールトに移動します。
- [ オブジェクト] を選択し、[シークレット] を選択 します。
- <secret_name>が作成されたことを確認します。
キーベースの資格情報にアクセスする
証明書の直接アップロードを使用する場合:
- アクセス キーとシークレット アクセス キーは、Azure ポータルに 1 回表示されます。
- 両方の値を安全にコピーして格納する必要があります。
- 最初の表示後に資格情報を再度取得することはできません。
Important
アクセス キーとシークレット アクセス キーは 1 回だけ表示されます。 キーは安全にコピーして格納する必要があります。 失われた場合は、新しい資格情報を生成する必要があります。
資格情報の再生成
資格情報が設定されたら、バケットの 3 つのドット (
…) を選択し、[資格情報の生成] を選択することで、新しい 資格情報を生成できます。Important
新しい資格情報を生成すると、既存の資格情報が直ちに無効になります。
バケット アクセスの更新
バケットのアクセス管理設定を変更できます。
- ユーザー ID/ユーザー名
- グループ識別子
- アクセス許可
- NetApp ボリュームから「バケット」を選択します。
- [+ バケットの作成または更新] を選択します。
- 変更するバケットの名前を入力します。
- 必要に応じて、アクセス管理の設定を変更します。
- [ 保存] をクリックして既存のバケットを変更します。
注
バケットのパスを変更することはできません。 バケットのパスを更新するには、新しいパスを使用してバケットを削除して再作成します。
バケットを削除する
バケットを完全に削除すると、そのバケットと関連するすべての構成が削除されます。 削除後にバケットを回復することはできません。
- NetApp アカウントで、[ バケット] に移動します。
- 削除するバケットの横にある 3 つのドット (
…) を選択します。 - を選択して、を削除します。
- [バケットの削除] ウィンドウで、[ 削除 ] を選択して、バケットを削除することを確認します。