Sdílet prostřednictvím


Autorizace přístupu k objektům blob a souborům pomocí AzCopy a ID Microsoft Entra

AzCopy můžete zadat s autorizačními přihlašovacími údaji pomocí ID Microsoft Entra. Tímto způsobem nebudete muset ke každému příkazu připojit token sdíleného přístupového podpisu (SAS).

Začněte ověřením přiřazení rolí. Pak zvolte typ objektu zabezpečení, který chcete autorizovat. Identita uživatele, spravovaná identita a instanční objekt jsou každý typ objektu zabezpečení.

Pro autorizaci přístupu nastavíte proměnné prostředí v paměti. Pak spusťte libovolný příkaz AzCopy. AzCopy načte ověřovací token potřebný k dokončení operace. Po dokončení operace token zmizí z paměti.

AzCopy načte token OAuth pomocí přihlašovacích údajů, které zadáte. Případně může AzCopy použít token OAuth aktivní relace Azure CLI nebo Azure PowerShellu.

Další informace o nástroji AzCopy najdete v tématu Začínáme s nástrojem AzCopy.

Ověření přiřazení rolí

Úroveň autorizace, kterou potřebujete, je založená na tom, jestli plánujete nahrát soubory nebo je jenom stáhnout.

Pokud chcete jenom stáhnout soubory, ověřte, že je k vaší identitě uživatele, spravované identitě nebo instančnímu objektu přiřazena role Čtenář dat objektů blob služby Storage (Azure Blob Storage) nebo role privilegovaného čtenáře dat souboru úložiště (Azure Files).

Pokud chcete nahrát soubory do služby Azure Blob Storage, ověřte, že jedna z těchto rolí byla přiřazena k vašemu objektu zabezpečení.

Pokud chcete nahrát soubory do sdílené složky Azure, ověřte, že je k vašemu objektu zabezpečení přiřazená privilegovaná čtečka dat souborů úložiště.

Tyto role se dají přiřadit k vašemu objektu zabezpečení v některém z těchto oborů:

  • Kontejner (systém souborů) nebo sdílená složka
  • Účet úložiště
  • Skupina prostředků
  • Předplatné

Informace o ověřování a přiřazování rolí najdete v tématu Přiřazení role Azure pro přístup k datům objektů blob (Blob Storage) nebo volba způsobu autorizace přístupu k datům souborů na webu Azure Portal (Soubory Azure).

Poznámka:

Mějte na paměti, že rozšíření přiřazení rolí Azure může trvat až pět minut.

Pokud se objekt zabezpečení přidá do seznamu řízení přístupu (ACL) cílového kontejneru nebo adresáře, nemusíte mít přiřazenou některou z těchto rolí. V seznamu ACL potřebuje objekt zabezpečení oprávnění k zápisu do cílového adresáře a spouštění oprávnění pro kontejner a každý nadřazený adresář.

Další informace najdete v tématu Model řízení přístupu ve službě Azure Data Lake Storage Gen2.

Autorizace pomocí nástroje AzCopy

AzCopy používá přihlašovací údaje, které zadáte k autorizaci objektu zabezpečení.

Autorizace identity uživatele

Jakmile ověříte, že vaše identita uživatele získala potřebnou úroveň autorizace, zadejte následující příkaz a stiskněte klávesu ENTER.

export AZCOPY_AUTO_LOGIN_TYPE=DEVICE

Pak spusťte libovolný příkaz azcopy (například: azcopy list https://contoso.blob.core.windows.net).

Tento příkaz vrátí ověřovací kód a adresu URL webu. Otevřete web, zadejte kód a pak zvolte tlačítko Další .

Vytvoření kontejneru

Zobrazí se přihlašovací okno. V takovém okně se přihlaste ke svému účtu Azure pomocí svých přihlašovacích údajů k účtu Azure. Po úspěšném přihlášení se operace může dokončit.

Autorizace spravované identity

Tato možnost je skvělá v případě, že plánujete použít AzCopy uvnitř skriptu, který běží bez zásahu uživatele, a skript se spustí z virtuálního počítače Azure. Při použití této možnosti nebudete muset na virtuálním počítači ukládat žádné přihlašovací údaje.

Ke svému účtu se můžete přihlásit pomocí spravované identity pro celý systém, kterou jste povolili na virtuálním počítači, nebo pomocí ID klienta, ID objektu nebo ID prostředku spravované identity přiřazené uživatelem, kterou jste přiřadili k virtuálnímu počítači.

Další informace o tom, jak povolit spravovanou identitu pro celý systém nebo vytvořit spravovanou identitu přiřazenou uživatelem, najdete v tématu Konfigurace spravovaných identit pro prostředky Azure na virtuálním počítači pomocí webu Azure Portal.

Autorizace pomocí spravované identity pro celý systém

Nejprve se ujistěte, že jste na virtuálním počítači povolili spravovanou identitu pro celý systém. Viz spravovaná identita přiřazená systémem.

Zadejte následující příkaz a stiskněte klávesu ENTER.

export AZCOPY_AUTO_LOGIN_TYPE=MSI

Pak spusťte libovolný příkaz azcopy (například: azcopy list https://contoso.blob.core.windows.net).

Autorizace pomocí spravované identity přiřazené uživatelem

Nejprve se ujistěte, že jste na virtuálním počítači povolili spravovanou identitu přiřazenou uživatelem. Viz spravovaná identita přiřazená uživatelem.

Zadejte následující příkaz a stiskněte klávesu ENTER.

export AZCOPY_AUTO_LOGIN_TYPE=MSI

Potom zadejte některý z následujících příkazů a stiskněte klávesu ENTER.

export AZCOPY_MSI_CLIENT_ID=<client-id>

<client-id> Zástupný symbol nahraďte ID klienta spravované identity přiřazené uživatelem.

export AZCOPY_MSI_OBJECT_ID=<object-id>

<object-id> Zástupný symbol nahraďte ID objektu spravované identity přiřazené uživatelem.

export AZCOPY_MSI_RESOURCE_STRING=<resource-id>

<resource-id> Zástupný symbol nahraďte ID prostředku spravované identity přiřazené uživatelem.

Po nastavení těchto proměnných můžete spustit libovolný příkaz azcopy (například: azcopy list https://contoso.blob.core.windows.net).

Autorizace instančního objektu

Tato možnost je skvělá v případě, že plánujete použít AzCopy uvnitř skriptu, který běží bez zásahu uživatele, zejména při místním spuštění. Pokud plánujete spustit AzCopy na virtuálních počítačích, které běží v Azure, je jednodušší spravovat identitu spravované služby. Další informace najdete v části Autorizace spravované identity v tomto článku.

Ke svému účtu se můžete přihlásit pomocí tajného klíče klienta nebo pomocí hesla certifikátu, který je přidružený k registraci aplikace instančního objektu.

Další informace o vytváření instančního objektu najdete v tématu Postupy: Použití portálu k vytvoření aplikace Microsoft Entra a instančního objektu, který má přístup k prostředkům.

Další informace o instančních objektech obecně najdete v tématu Aplikační a instanční objekty v Microsoft Entra ID.

Autorizace instančního objektu pomocí tajného klíče klienta

Zadejte následující příkaz a stiskněte klávesu ENTER.

export AZCOPY_AUTO_LOGIN_TYPE=SPN
export AZCOPY_SPA_APPLICATION_ID=<application-id>
export AZCOPY_SPA_CLIENT_SECRET=<client-secret>
export AZCOPY_TENANT_ID=<tenant-id>

<application-id> Zástupný symbol nahraďte ID aplikace vaší registrace aplikace instančního objektu. <client-secret> Zástupný symbol nahraďte tajným kódem klienta. <tenant-id> Zástupný symbol nahraďte ID tenanta organizace, do které patří účet úložiště. Id tenanta najdete tak, že na webu Azure Portal vyberete ID tenanta vlastností > tenanta.

Poznámka:

Zvažte použití výzvy ke shromáždění hesla od uživatele. Heslo se tak nezobrazí v historii příkazů.

Pak spusťte libovolný příkaz azcopy (například: azcopy list https://contoso.blob.core.windows.net).

Autorizace instančního objektu pomocí certifikátu

Pokud dáváte přednost použití vlastních přihlašovacích údajů k autorizaci, můžete nahrát certifikát do registrace aplikace a pak ho použít k přihlášení.

Kromě nahrání certifikátu do registrace aplikace budete také muset mít kopii certifikátu uloženého na počítači nebo virtuálním počítači, na kterém bude nástroj AzCopy spuštěný. Tato kopie certifikátu by měla být v . PFX nebo . Formát PEM a musí obsahovat privátní klíč. Privátní klíč by měl být chráněný heslem. Pokud používáte Windows a váš certifikát existuje jenom v úložišti certifikátů, nezapomeňte tento certifikát exportovat do souboru PFX (včetně privátního klíče). Pokyny najdete v tématu Export-PfxCertificate

Zadejte následující příkaz a stiskněte klávesu ENTER.

export AZCOPY_AUTO_LOGIN_TYPE=SPN
export AZCOPY_SPA_APPLICATION_ID=<application-id>
export AZCOPY_SPA_CERT_PATH=<path-to-certificate-file>
export AZCOPY_SPA_CERT_PASSWORD=<certificate-password>
export AZCOPY_TENANT_ID=<tenant-id>

<application-id> Zástupný symbol nahraďte ID aplikace vaší registrace aplikace instančního objektu. <path-to-certificate-file> Zástupný symbol nahraďte relativní nebo plně kvalifikovanou cestou k souboru certifikátu. AzCopy uloží cestu k tomuto certifikátu, ale neuloží kopii certifikátu, proto nezapomeňte tento certifikát zachovat. <certificate-password> Zástupný symbol nahraďte heslem certifikátu. <tenant-id> Zástupný symbol nahraďte ID tenanta organizace, do které patří účet úložiště. Id tenanta najdete tak, že na webu Azure Portal vyberete ID tenanta vlastností > tenanta.

Poznámka:

Zvažte použití výzvy ke shromáždění hesla od uživatele. Heslo se tak nezobrazí v historii příkazů.

Pak spusťte libovolný příkaz azcopy (například: azcopy list https://contoso.blob.core.windows.net).

Autorizace pomocí příkazu AzCopy login

Jako alternativu k používání proměnných v paměti autorizujete přístup pomocí příkazu azcopy login.

Příkaz azcopy login načte token OAuth a potom tento token umístí do úložiště tajných kódů ve vašem systému. Pokud váš operační systém nemá úložiště tajných kódů, jako je například klíčnice Linuxu, příkaz azcopy login nebude fungovat, protože token nejde umístit.

Autorizace identity uživatele (příkaz azcopy login)

Jakmile ověříte, že vaše identita uživatele získala potřebnou úroveň autorizace, otevřete příkazový řádek, zadejte následující příkaz a stiskněte klávesu ENTER.

azcopy login

Pokud se zobrazí chyba, zkuste přidat ID tenanta organizace, do které účet úložiště patří.

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

<tenant-id> Zástupný symbol nahraďte ID tenanta organizace, do které patří účet úložiště. Id tenanta najdete tak, že na webu Azure Portal vyberete ID tenanta vlastností > tenanta.

Tento příkaz vrátí ověřovací kód a adresu URL webu. Otevřete web, zadejte kód a pak zvolte tlačítko Další .

Vytvoření kontejneru

Zobrazí se přihlašovací okno. V takovém okně se přihlaste ke svému účtu Azure pomocí svých přihlašovacích údajů k účtu Azure. Po úspěšném přihlášení můžete okno prohlížeče zavřít a začít používat AzCopy.

Autorizace pomocí spravované identity pro celý systém (příkaz azcopy login)

Nejprve se ujistěte, že jste na virtuálním počítači povolili spravovanou identitu pro celý systém. Viz spravovaná identita přiřazená systémem.

Potom v konzole příkazů zadejte následující příkaz a stiskněte klávesu ENTER.

azcopy login --identity

Autorizace pomocí spravované identity přiřazené uživatelem (příkaz azcopy login)

Nejprve se ujistěte, že jste na virtuálním počítači povolili spravovanou identitu přiřazenou uživatelem. Viz spravovaná identita přiřazená uživatelem.

Potom v konzole příkazového řádku zadejte některý z následujících příkazů a stiskněte klávesu ENTER.

azcopy login --identity --identity-client-id "<client-id>"

<client-id> Zástupný symbol nahraďte ID klienta spravované identity přiřazené uživatelem.

azcopy login --identity --identity-object-id "<object-id>"

<object-id> Zástupný symbol nahraďte ID objektu spravované identity přiřazené uživatelem.

azcopy login --identity --identity-resource-id "<resource-id>"

<resource-id> Zástupný symbol nahraďte ID prostředku spravované identity přiřazené uživatelem.

Autorizace instančního objektu (příkaz azcopy login)

Před spuštěním skriptu se musíte interaktivně přihlásit aspoň jednou, abyste nástroj AzCopy mohli poskytnout přihlašovací údaje instančního objektu. Tyto přihlašovací údaje jsou uložené v zabezpečeném a zašifrovaném souboru, aby váš skript nemusel tyto citlivé informace poskytovat.

Ke svému účtu se můžete přihlásit pomocí tajného klíče klienta nebo pomocí hesla certifikátu, který je přidružený k registraci aplikace instančního objektu.

Další informace o vytváření instančního objektu najdete v tématu Postupy: Použití portálu k vytvoření aplikace Microsoft Entra a instančního objektu, který má přístup k prostředkům.

Autorizace instančního objektu pomocí tajného klíče klienta (příkaz azcopy login)

Začněte nastavením AZCOPY_SPA_CLIENT_SECRET proměnné prostředí na tajný klíč klienta registrace aplikace instančního objektu.

Poznámka:

Nezapomeňte tuto hodnotu nastavit z příkazového řádku a ne v nastavení proměnné prostředí operačního systému. Tímto způsobem je hodnota k dispozici pouze pro aktuální relaci.

Tento příklad ukazuje, jak to můžete udělat v PowerShellu.

$env:AZCOPY_SPA_CLIENT_SECRET="$(Read-Host -prompt "Enter key")"

Poznámka:

Zvažte použití výzvy, jak je znázorněno v tomto příkladu. Heslo se tak nezobrazí v historii příkazů konzoly.

Potom zadejte následující příkaz a stiskněte klávesu ENTER.

azcopy login --service-principal  --application-id application-id --tenant-id=tenant-id

<application-id> Zástupný symbol nahraďte ID aplikace vaší registrace aplikace instančního objektu. <tenant-id> Zástupný symbol nahraďte ID tenanta organizace, do které patří účet úložiště. Id tenanta najdete tak, že na webu Azure Portal vyberete ID tenanta vlastností > tenanta.

Autorizace instančního objektu pomocí certifikátu (příkaz azcopy login)

Pokud dáváte přednost použití vlastních přihlašovacích údajů k autorizaci, můžete nahrát certifikát do registrace aplikace a pak ho použít k přihlášení.

Kromě nahrání certifikátu do registrace aplikace budete také muset mít kopii certifikátu uloženého na počítači nebo virtuálním počítači, na kterém bude nástroj AzCopy spuštěný. Tato kopie certifikátu by měla být v . PFX nebo . Formát PEM a musí obsahovat privátní klíč. Privátní klíč by měl být chráněný heslem. Pokud používáte Windows a váš certifikát existuje jenom v úložišti certifikátů, nezapomeňte tento certifikát exportovat do souboru PFX (včetně privátního klíče). Pokyny najdete v tématu Export-PfxCertificate

Dále nastavte proměnnou AZCOPY_SPA_CERT_PASSWORD prostředí na heslo certifikátu.

Poznámka:

Nezapomeňte tuto hodnotu nastavit z příkazového řádku a ne v nastavení proměnné prostředí operačního systému. Tímto způsobem je hodnota k dispozici pouze pro aktuální relaci.

Tento příklad ukazuje, jak můžete tuto úlohu provést v PowerShellu.

$env:AZCOPY_SPA_CERT_PASSWORD="$(Read-Host -prompt "Enter key")"

Potom zadejte následující příkaz a stiskněte klávesu ENTER.

azcopy login --service-principal --application-id application-id --certificate-path <path-to-certificate-file> --tenant-id=<tenant-id>

<application-id> Zástupný symbol nahraďte ID aplikace vaší registrace aplikace instančního objektu. <path-to-certificate-file> Zástupný symbol nahraďte relativní nebo plně kvalifikovanou cestou k souboru certifikátu. AzCopy uloží cestu k tomuto certifikátu, ale neuloží kopii certifikátu, proto nezapomeňte tento certifikát zachovat. <tenant-id> Zástupný symbol nahraďte ID tenanta organizace, do které patří účet úložiště. Id tenanta najdete tak, že na webu Azure Portal vyberete ID tenanta vlastností > tenanta.

Poznámka:

Zvažte použití výzvy, jak je znázorněno v tomto příkladu. Heslo se tak nezobrazí v historii příkazů konzoly.

Autorizace pomocí Azure CLI

Pokud se přihlásíte pomocí Azure CLI, Azure CLI získá token OAuth, který AzCopy může použít k autorizaci operací.

Pokud chcete nástroj AzCopy povolit použití tohoto tokenu, zadejte následující příkaz a stiskněte klávesu ENTER.

export AZCOPY_AUTO_LOGIN_TYPE=AZCLI

Další informace o tom, jak se přihlásit pomocí Azure CLI, najdete v tématu Přihlášení pomocí Azure CLI.

Autorizace pomocí Azure PowerShellu

Pokud se přihlásíte pomocí Azure PowerShellu, Azure PowerShell získá token OAuth, který AzCopy může použít k autorizaci operací.

Pokud chcete nástroj AzCopy povolit použití tohoto tokenu, zadejte následující příkaz a stiskněte klávesu ENTER.

$Env:AZCOPY_AUTO_LOGIN_TYPE="PSCRED"

Další informace o tom, jak se přihlásit pomocí Azure PowerShellu, najdete v tématu Přihlášení pomocí Azure PowerShellu.

Další kroky