Azure Blob Storage SFTP機能が2022年10月にGAしました。
公開鍵認証方式にいくつかパターンがあるので検証結果を書き残してます。
Azure Data Lake Storage Gen2アップグレード
- SFTP機能を使用するためにはADLS Gen2にアップグレードする必要があります。
- 公式手順に従って、既存Storage Accountをアップグレードします。
- 以下の機能はサポートされなくなるので注意が必要です。(事前にチェックされます)
- Storage Accountをデフォルト設定で作成している場合は、「コンテナーの論理的な削除保護」と「BLOBの論理的な削除保護」が事前チェックで引っかかると思うので、無効にしてアップグレードする必要があります。
SFTP有効化
-
SFTP機能を有効にすると、2023年1月1日から時間単位のコストが発生するようになっているので注意が必要です。SFTP機能の価格はこちら
Azureで新しいキーペアを作成する
sftp -i [秘密鍵] [Storage Account Name].[Container Name].[Local User Name]@[Storage Account Name].blob.core.windows.net
Azureに格納されている既存のキーを使用する
-
同一リソースグループに先ほど作ったSSHキーというリソースが作成されています。これを他のユーザーでも使いまわすことができるということですね。
-
当然先ほどと同じ秘密鍵を使ってアクセスすることができます。
既存の公開キーを使用
ssh-keygen -C ""
-
作成された公開鍵(id_rsa.pub)をメモ帳などで開きます。
-
この状態でローカルユーザーを作成します。
-
作成された秘密鍵(id_rsa)を使ってクライアントからアクセスすることができます。
プライベートエンドポイントからの接続
- ついでにプライベートエンドポイントからの接続がSFTPでも問題なくできるのかを検証しました。
- プライベートエンドポイントからのプライベートIP接続でも、SFTPは問題なく利用できたので書き残しておきます。
以上