SSH ファイル転送プロトコル (SFTP) クライアントの Azure Blob Storage へのアクセスを承認する

この記事では、SFTP クライアントを使用して Azure Storage アカウントの Blob Storage エンドポイントに安全に接続できるように、SFTP クライアントへのアクセスを承認する方法を示します。

Azure Blob Storage での SFTP のサポートの詳細については、「Azure Blob Storage での SSH ファイル転送プロトコル (SFTP)」を参照してください。

前提条件

ローカル ユーザーを作成する

Azure Storage では、Shared Access Signature (SAS) も、SFTP エンドポイントにアクセスするための Microsoft Entra 認証もサポートされていません。 代わりに、Azure で生成されたパスワードまたは Secure Shell (SSH) キー ペアで保護できるローカル ユーザーと呼ばれる ID を使用する必要があります。 接続しているクライアントへのアクセスを許可するには、ストレージ アカウントにパスワードまたはキーの組に関連付けられている ID が必要です。 その ID はローカル ユーザーと呼ばれます。

このセクションでは、ローカル ユーザーを作成し、認証方法を選択して、そのローカル ユーザーにアクセス許可を割り当てる方法を説明します。

SFTP アクセス許可モデルの詳細については、「SFTP アクセス許可モデル」を参照してください。

ヒント

このセクションでは、既存のストレージ アカウントのローカル ユーザーを構成する方法について説明します。 アカウントの作成の一環としてローカル ユーザーを構成する Azure Resource Manager テンプレートを表示するには、「Azure で SFTP プロトコルを使用してアクセスできる Azure Storage アカウントと BLOB コンテナーを作成する」を参照してください。

認証方法を選択する

パスワードまたは Secure Shell (SSH) の公開キーと秘密キーのペアを使って、SFTP クライアントから接続するローカル ユーザーを認証できます。

重要

両方の形式の認証を有効にできますが、SFTP クライアントはどちらか一方のみを使用して接続できます。 認証を成功させるために、有効なパスワードと有効な公開キーと秘密キーのペアの両方が必要な多要素認証はサポートされていません。

  1. Azure portal のストレージ アカウントに移動します。

  2. [設定] で、 [SFTP][ローカル ユーザーの追加] の順に選択します。

    [ローカル ユーザーの追加] ボタンのスクリーンショット。

  3. [ローカル ユーザーの追加] ウィンドウで、ユーザーの名前を追加し、このローカル ユーザーに関連付ける認証方法を選択します。 パスワードおよび/または SSH キーを関連付けできます。

    [SSH パスワード] を選択した場合、[ローカル ユーザーの追加] 構成ペインのすべての手順を完了すると、パスワードが表示されます。 SSH パスワードが Azure によって生成されます。長さは 32 文字以上です。

    [SSH キー ペア] を選択した場合は、[パブリック キー ソース] を選択してキー ソースを指定します。

    [ローカル ユーザーの構成] ウィンドウのスクリーンショット。

    次の表では、各キー ソース オプションについて説明します。

    オプション ガイダンス
    新しいキーの組の生成 新しい公開キーと秘密キーの組を作成するには、このオプションを使用します。 公開キーは、指定したキー名を使用して Azure に格納されます。 秘密キーは、ローカル ユーザーが正常に追加された後でダウンロードできます。
    Azure に格納されている既存のキーを使用する Azure に既に格納されている公開キーを使用する場合は、このオプションを使用します。 Azure で既存のキーを検索するには、「キーの一覧表示」 を参照してください。 SFTP クライアントでは、Azure Blob Storage に接続する場合、それらのクライアントで、この公開キーに関連付けられている秘密キーを指定する必要があります。
    既存の公開キーを使用します Azure の外部に格納されている公開キーをアップロードする場合は、このオプションを使用します。 公開キーを持ってはいないが、Azure の外部で公開キーを生成する場合は、「ssh-keygen でキーを生成する」を参照してください。
  4. [次へ] を選択して、構成ウィンドウの [アクセス許可] タブを開きます。

コンテナーにアクセス許可を付与する

アクセス権を付与するコンテナーと、提供するアクセス レベルを選択します。 これらのアクセス許可は、コンテナー内のすべてのディレクトリとサブディレクトリに適用されます。 各コンテナーのアクセス許可の詳細については、「コンテナーのアクセス許可」を参照してください。

ファイルおよびディレクトリ レベルでアクセスを承認する場合は、ACL の認可を有効にすることができます。 この機能はプレビュー段階であり、Azure portal を使用してのみ有効にすることができます。

  1. [アクセス許可] タブで、このローカル ユーザーが使用できるコンテナーを選択します。 次に、このローカル ユーザーが実行できる操作の種類を選択します。

    [アクセス許可] タブのスクリーンショット。

    重要

    ローカル ユーザーには、少なくとも 1 つのコンテナーのアクセス許可またはそのコンテナーのホーム ディレクトリに対する ACL アクセス許可が必要です。 それ以外の場合、そのコンテナーへの接続試行は失敗します。

  2. このコンテナー内のファイルとディレクトリに関連付けられているアクセス制御リスト (ACL) を使用してアクセスを承認する場合は、[Allow ACL authorization]\(ACL 承認を許可する\) チェックボックスをオンにします。 ACLS を使用して SFTP クライアントを承認する方法の詳細については、ACL の説明を参照してください。

    また、そのユーザーをグループ ID に割り当てることで、このローカル ユーザーをグループに追加することもできます。 その ID には、任意の数値または数値スキームを指定できます。 ユーザーをグループ化すると、ACL をディレクトリ構造全体に再適用する必要なく、ユーザーを追加および削除できます。 代わりに、グループに対してユーザーを追加または削除できます。

    グループ ID と ACL 承認チェックボックスのスクリーンショット。

    Note

    ローカル ユーザーのユーザー ID が自動的に生成されます。 この ID は変更できませんが、[ローカル ユーザーを編集する] ウィンドウでそのユーザーを再度開くことで、ローカル ユーザーを作成した後にその ID を確認できます。

  3. [ホーム ディレクトリ] 編集ボックスに、このローカル ユーザーに関連付けられている既定の場所になるコンテナーの名前またはディレクトリ パス (コンテナー名を含む) を入力します (例: mycontainer/mydirectory)。

    ホーム ディレクトリの詳細については、「ホーム ディレクトリ」を参照してください。

  4. [ボタンの追加] を選択してローカル ユーザーを追加します。

    パスワード認証を有効にした場合、ローカル ユーザーが追加された後、Azure で生成されたパスワードがダイアログ ボックスに表示されます。

    重要

    後でこのパスワードを取得することはできません。そのため、必ずパスワードをコピーして、見つけられる場所に保管してください。

    新しいキーの組を生成することを選択した場合、ローカル ユーザーが追加された後、そのキーの組の秘密キーをダウンロードするように求められます。

    Note

    ローカル ユーザーには、SMB 認証にのみ使用される sharedKey プロパティがあります。

次のステップ