Autorizace přístupu AzCopy pomocí spravované identity

Spravované identity poskytují bezpečný a pohodlný způsob autorizace operací AzCopy bez uložení přihlašovacích údajů nebo správy tokenů SAS. Tato metoda ověřování je obzvláště cenná pro automatizované skripty, kanály CI/CD a aplikace běžící na virtuálních počítačích Azure nebo jiných službách Azure.

V tomto článku se dozvíte, jak nakonfigurovat AzCopy tak, aby používal spravované identity přiřazené systémem nebo přiřazené uživatelem. Přístup můžete autorizovat prostřednictvím proměnných prostředí, příkazu AzCopy login nebo pomocí existujících relací Azure CLI nebo Azure PowerShellu.

Další informace o dalších způsobech autorizace přístupu k Nástroji AzCopy najdete v tématu Autorizace nástroje AzCopy.

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

Ujistěte se, že vaše spravovaná identita má požadovanou roli Azure pro vaše zamýšlené operace:

Pokyny k přiřazení 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:

Propagace přiřazení rolí může trvat až pět minut.

Pokud přenášíte bloby v účtu, který má hierarchický obor názvů, nemusíte zajišťovacímu objektu přiřazovat jednu z těchto rolí. Stačí, když svůj zabezpečovací objekt přidáte do seznamu řízení přístupu (ACL) cílového kontejneru nebo adresáře. 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.

Autorizace pomocí proměnných prostředí

Pokud chcete autorizovat přístup, nastavte 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 z aktivní relace Azure CLI nebo Azure PowerShell.

Tato možnost je skvělá, pokud 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. Pokud použijete tuto možnost, nemusíte 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 na úrovni celého systému, kterou povolíte 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 přiřadíte 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 na virtuálním počítači povolíte spravovanou identitu pro celý systém. Další informace najdete v tématu 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

Potom 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 na virtuálním počítači povolíte spravovanou identitu přiřazenou uživatelem. Další informace najdete v tématu 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

Dále nastavte proměnné prostředí pro ID klienta, ID objektu nebo ID prostředku spravované identity přiřazené uživatelem.

Použití ID klienta

Pokud chcete autorizovat pomocí ID klienta, zadejte následující příkaz a stiskněte klávesu ENTER.

export AZCOPY_MSI_CLIENT_ID=<client-id>

Zástupný symbol <client-id> nahraďte klientským ID spravované identity, kterou přiřadil uživatel.

ID klienta najdete na webu Azure Portal zobrazením vlastností spravované identity. Následující snímek obrazovky ukazuje umístění vlastnosti ID klienta.

Snímek obrazovky znázorňující umístění ID klienta

Použití ID objektu

Pokud chcete autorizovat pomocí ID objektu, zadejte následující příkaz a stiskněte ENTER.

export AZCOPY_MSI_OBJECT_ID=<object-id>

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

ID objektu najdete na webu Azure Portal zobrazením vlastností spravované identity. Následující snímek obrazovky ukazuje umístění ID objektu (označované také jako hlavní ID).

Snímek obrazovky znázorňující umístění ID objektu

Použijte ID prostředku

Pokud chcete autorizovat pomocí ID prostředku, zadejte následující příkaz a stiskněte enter.

export AZCOPY_MSI_RESOURCE_STRING=<resource-id>

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

ID prostředku najdete na webu Azure Portal zobrazením vlastností spravované identity. Následující snímek obrazovky ukazuje umístění vlastnosti ID prostředku.

Snímek obrazovky znázorňující umístění ID prostředku

Autorizace pomocí příkazu AzCopy authentication login

Místo použití proměnných v paměti autorizujete přístup pomocí azcopy login příkazu.

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 authentication login nefunguje, protože token nejde umístit.

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

Nejprve se ujistěte, že na virtuálním počítači povolíte spravovanou identitu pro celý systém. Další informace najdete v tématu 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

Nejprve se ujistěte, že na virtuálním počítači povolíte spravovanou identitu přiřazenou uživatelem. Další informace najdete v tématu Spravovaná identita přiřazená uživatelem. Pak se přihlaste pomocí ID klienta, ID objektu nebo ID prostředku spravované identity přiřazené uživatelem.

Přihlášení pomocí ID klienta

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

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

Zástupný symbol <client-id> nahraďte klientským ID spravované identity, kterou přiřadil uživatel.

ID klienta najdete na webu Azure Portal zobrazením vlastností spravované identity. Následující snímek obrazovky ukazuje umístění vlastnosti ID klienta.

Snímek obrazovky znázorňující umístění ID klienta

Přihlášení pomocí ID objektu

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

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

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

ID objektu najdete na webu Azure Portal zobrazením vlastností spravované identity. Následující snímek obrazovky ukazuje umístění ID objektu (označované také jako hlavní ID).

Snímek obrazovky znázorňující umístění ID objektu

Přihlaste se pomocí ID prostředku

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

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.

ID prostředku najdete na webu Azure Portal zobrazením vlastností spravované identity. Následující snímek obrazovky ukazuje umístění vlastnosti ID prostředku.

Snímek obrazovky, který znázorňuje umístění ID prostředku

Autorizace pomocí Azure CLI

Když se přihlásíte pomocí Azure CLI, Azure CLI získá token OAuth, který AzCopy používá 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
export AZCOPY_TENANT_ID=<tenant-id>

Další informace o tom, jak se přihlásit pomocí Azure CLI, najdete v tématu Přihlášení k Azure pomocí spravované identity 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"
$Env:AZCOPY_TENANT_ID="<tenant-id>"

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

Další kroky