次の方法で共有


ユーザー ID を使用して AzCopy へのアクセスを承認する

ユーザー ID 認証は、個人用の Microsoft Entra ID 資格情報を使用して AzCopy 操作を承認する簡単な方法を提供します。 この認証方法は、AzCopy コマンドを手動で実行したり、開発環境で作業したりする対話型のシナリオに最適です。

この記事では、ユーザー ID と環境変数、対話型 AzCopy サインイン コマンド、または既存の Azure CLI または Azure PowerShell セッションを利用して、AzCopy を認証する方法について説明します。

AzCopy へのアクセスを承認するその他の方法については、「 AzCopy の承認」を参照してください。

ロールの割り当てを確認する

ユーザー ID に、目的の操作に必要な Azure ロールがあることを確認します。

ロールの割り当て手順については、「 BLOB データ (Blob Storage) へのアクセス用に Azure ロールを割り当てる 」または Azure portal (Azure Files) でファイル データへのアクセスを承認する方法を選択 する方法を参照してください。

ロールの割り当てが反映されるまでに最大 5 分かかることがあります。

階層型名前空間を持つアカウント内の BLOB を転送する場合は、ターゲット コンテナーまたはディレクトリのアクセス制御リスト (ACL) にセキュリティ プリンシパルを追加する場合、これらのロールをセキュリティ プリンシパルに割り当てる必要はありません。 ACL では、セキュリティ プリンシパルにはターゲット ディレクトリに対する書き込みアクセス許可と、コンテナーと各親ディレクトリに対する実行アクセス許可が必要です。 詳細については、「Azure Data Lake Storage のアクセス制御モデル」を参照してください。

環境変数を使用して承認する

アクセスを承認するには、メモリ内環境変数を設定してから、AzCopy コマンドを実行します。 AzCopy は、操作を完了するために必要な認証トークンを取得します。 操作が完了すると、トークンはメモリから削除されます。 AzCopy は、ユーザーが指定した資格情報を使って OAuth トークンを取得します。

ユーザー ID に必要な承認があることを確認したら、次のコマンドを入力し、Enter キーを押します。

export AZCOPY_AUTO_LOGIN_TYPE=DEVICE

次に、AzCopy コマンド (例: azcopy list https://contoso.blob.core.windows.net) を実行します。

このコマンドによって、認証コードと Web サイトの URL が返されます。 Web サイトを開き、コードを入力して、[ 次へ ] ボタンを選択します。

コンテナーを作成する

サインイン ウィンドウが表示されます。 そのウィンドウで、Azure アカウントの資格情報を使用して Azure アカウントにサインインします。 正常にサインインすると、操作が完了します。

AzCopy login コマンドを使用して承認する

メモリ内変数を使用する代わりに、 azcopy login コマンドを使用してアクセスを承認します。

azcopy login コマンドは OAuth トークンを取得し、そのトークンをシステム上のシークレット ストアに格納します。 オペレーティング システムに Linux キーリングなどのシークレット ストアがない場合、トークンを配置する場所がないため、 azcopy login コマンドは機能しません。

ユーザー ID に必要な承認レベルがあることを確認したら、コマンド プロンプトを開き、次のコマンドを入力して、 Enter キーを押します。

azcopy login

エラーが発生する場合は、ストレージ アカウントが属する組織のテナント ID を含めてみてください。

azcopy login --tenant-id=<tenant-id>

<tenant-id> プレースホルダーを、ストレージ アカウントが属する組織のテナント ID に置き換えます。 テナント ID を見つけるには、Azure portal で [テナントのプロパティ] > [テナント ID] を選択します。

このコマンドによって、認証コードと Web サイトの URL が返されます。 Web サイトを開き、コードを入力して、[ 次へ ] ボタンを選択します。

コンテナーを作成する

サインイン ウィンドウが表示されます。 そのウィンドウで、Azure アカウントの資格情報を使用して Azure アカウントにサインインします。 正常にサインインしたら、ブラウザー ウィンドウを閉じて、AzCopy の使用を開始できます。

Azure CLI を使用して承認する

Azure CLI を使用してサインインすると、Azure CLI は、AzCopy が操作の承認に使用できる OAuth トークンを取得します。

AzCopy がそのトークンを使用できるようにするには、次のコマンドを入力し、 Enter キーを押します。

export AZCOPY_AUTO_LOGIN_TYPE=AZCLI
export AZCOPY_TENANT_ID=<tenant-id>

Azure CLI を使用してサインインする方法の詳細については、「Azure CLI を使用して 対話形式で Azure にサインインする」を参照してください。

Azure PowerShell を使用して承認する

Azure PowerShell を使用してサインインすると、Azure PowerShell は、AzCopy が操作の承認に使用できる OAuth トークンを取得します。

AzCopy がそのトークンを使用できるようにするには、次のコマンドを入力し、 Enter キーを押します。

$Env:AZCOPY_AUTO_LOGIN_TYPE="PSCRED"
$Env:AZCOPY_TENANT_ID=<tenant-id>

Azure PowerShell を使用してサインインする方法の詳細については、「Azure PowerShell に対話形式でサインインする」を参照してください。

次のステップ

  • AzCopy の詳細については、「 AzCopy の概要」を参照してください。

  • 質問、問題、または一般的なフィードバックがある場合は、 GitHub で送信してください。