Delen via


Toegang voor AzCopy autoriseren met behulp van een beheerde identiteit

Beheerde identiteiten bieden een veilige en handige manier om AzCopy-bewerkingen te autoriseren zonder referenties op te slaan of SAS-tokens te beheren. Deze verificatiemethode is met name waardevol voor geautomatiseerde scripts, CI/CD-pijplijnen en toepassingen die worden uitgevoerd op virtuele Azure-machines of andere Azure-services.

In dit artikel wordt beschreven hoe u AzCopy configureert voor het gebruik van door het systeem toegewezen of door de gebruiker toegewezen beheerde identiteiten. U leert toegang te autoriseren via omgevingsvariabelen, de AzCopy-aanmeldingsopdracht of door gebruik te maken van bestaande Azure CLI- of Azure PowerShell-sessies.

Zie AzCopy autoriseren voor meer informatie over andere manieren om toegang tot AzCopy te autoriseren.

Roltoewijzingen controleren

Zorg ervoor dat uw beheerde identiteit de vereiste Azure-rol heeft voor uw beoogde bewerkingen:

Voor downloadbewerkingen gebruikt u Storage Blob Data Reader (Blob Storage) of Storage File Data Privileged Reader (Azure Files).

Voor uploadbewerkingen gebruikt u Inzender voor Opslagblobgegevens of Eigenaar van opslagblobgegevens (Blob Storage) of Inzender voor opslagbestandsgegevens (Azure Files)

Zie Een Azure-rol toewijzen voor toegang tot blobgegevens (Blob Storage) of Kies hoe u toegang tot bestandsgegevens in Azure Portal (Azure Files) autoriseert voor instructies voor roltoewijzing.

Opmerking

Het kan vijf minuten duren voordat roltoewijzingen zijn doorgegeven.

Als u blobs overdraagt in een account met een hiƫrarchische naamruimte, hoeft u geen van deze rollen toe te wijzen aan uw beveiligingsprincipaal als u uw beveiligingsprincipaal toevoegt aan de toegangsbeheerlijst (ACL) van de doelcontainer of map. In de ACL heeft uw beveiligingsprincipaal schrijfmachtiging nodig voor de doelmap en moet de machtiging voor de container en elke bovenliggende map worden uitgevoerd. Zie het Access Control-model in Azure Data Lake Storage voor meer informatie.

Autoriseren met omgevingsvariabelen

Als u toegang wilt autoriseren, stelt u omgevingsvariabelen in het geheugen in. Voer vervolgens een AzCopy-opdracht uit. AzCopy haalt het verificatietoken op dat is vereist om de bewerking te voltooien. Nadat de bewerking is voltooid, verdwijnt het token uit het geheugen.

AzCopy haalt het OAuth-token op met behulp van de referenties die u opgeeft. AzCopy kan ook het OAuth-token van een actieve Azure CLI- of Azure PowerShell-sessie gebruiken.

Deze optie is handig als u AzCopy wilt gebruiken in een script dat wordt uitgevoerd zonder tussenkomst van de gebruiker en het script wordt uitgevoerd vanaf een virtuele Azure-machine (VM). Wanneer u deze optie gebruikt, hoeft u geen referenties op te slaan op de virtuele machine.

U kunt zich aanmelden bij uw account met behulp van een door het systeem beheerde identiteit die u inschakelt op uw VIRTUELE machine, of met behulp van de client-id, object-id of resource-id van een door de gebruiker toegewezen beheerde identiteit die u aan uw VM toewijst.

Zie Beheerde identiteiten configureren voor Azure-resources op een VIRTUELE machine met behulp van Azure Portal voor meer informatie over het inschakelen van een door het systeem beheerde identiteit of het maken van een door de gebruiker toegewezen beheerde identiteit.

Autoriseren met een door het systeem beheerde identiteit

Zorg er eerst voor dat u een door het hele systeem beheerde identiteit op uw VIRTUELE machine inschakelt. Zie Door het systeem toegewezen beheerde identiteit voor meer informatie.

Typ de volgende opdracht en druk op Enter.

export AZCOPY_AUTO_LOGIN_TYPE=MSI

Voer vervolgens een azcopy-opdracht uit (bijvoorbeeld: azcopy list https://contoso.blob.core.windows.net).

Autoriseren met een door de gebruiker toegewezen beheerde identiteit

Zorg er eerst voor dat u een door de gebruiker toegewezen beheerde identiteit inschakelt op uw VIRTUELE machine. Zie Door de gebruiker toegewezen beheerde identiteit voor meer informatie.

Typ de volgende opdracht en druk op Enter.

export AZCOPY_AUTO_LOGIN_TYPE=MSI

Stel vervolgens omgevingsvariabelen in voor de client-id, object-id of resource-id van de door de gebruiker toegewezen beheerde identiteit.

Een client-id gebruiken

Als u wilt autoriseren met behulp van een client-id, typt u de volgende opdracht en drukt u op Enter.

export AZCOPY_MSI_CLIENT_ID=<client-id>

Vervang de <client-id> tijdelijke aanduiding door de client-ID van de door de gebruiker toegewezen beheerde identiteit.

U vindt de client-id in Azure Portal door de eigenschappen van de beheerde identiteit weer te geven. In de volgende schermopname ziet u de locatie van de eigenschap client-id.

Schermopname van de locatie van de client-id.

Een object-id gebruiken

Als u wilt autoriseren met behulp van een object-id, typt u de volgende opdracht en drukt u op Enter.

export AZCOPY_MSI_OBJECT_ID=<object-id>

Vervang de <object-id> tijdelijke aanduiding door de object-id van de door de gebruiker toegewezen beheerde identiteit.

U vindt de object-id in Azure Portal door de eigenschappen van de beheerde identiteit weer te geven. In de volgende schermopname ziet u de locatie van de object-id (ook wel de principal-id genoemd).

Schermopname van de locatie van de object-id.

Een resource-id gebruiken

Als u wilt autoriseren met behulp van een resource-id, typt u de volgende opdracht en drukt u op Enter.

export AZCOPY_MSI_RESOURCE_STRING=<resource-id>

Vervang de tijdelijke aanduiding <resource-id> door de resource-ID van de beheerde identiteit die door de gebruiker is toegewezen.

U vindt de resource-id in Azure Portal door de eigenschappen van de beheerde identiteit weer te geven. In de volgende schermopname ziet u de locatie van de eigenschap resource-id.

Schermopname van de locatie van de resource-id.

Autoriseren met de azcopy-aanmeldingsopdracht

In plaats van variabelen in het geheugen te gebruiken, kunt u toegang autoriseren met behulp van de azcopy authentication login opdracht.

De azcopy-aanmeldingsopdracht haalt een OAuth-token op en plaatst dat token vervolgens in een geheim archief op uw systeem. Als uw besturingssysteem geen geheime opslag heeft, zoals een Linux-sleutelring, werkt de azcopy-authenticatie-aanmeldingsopdracht niet omdat het token nergens geplaatst kan worden.

Autoriseren met een door het systeem beheerde identiteit

Zorg er eerst voor dat u een door het hele systeem beheerde identiteit op uw VIRTUELE machine inschakelt. Zie Door het systeem toegewezen beheerde identiteit voor meer informatie.

Typ vervolgens in de opdrachtconsole de volgende opdracht en druk op Enter.

azcopy login --identity

Autoriseren met een door de gebruiker toegewezen beheerde identiteit

Zorg er eerst voor dat u een door de gebruiker toegewezen beheerde identiteit inschakelt op uw VIRTUELE machine. Zie door de gebruiker toegewezen beheerde identiteit. Meld u vervolgens aan met behulp van de client-id, object-id of resource-id van de door de gebruiker toegewezen beheerde identiteit.

Aanmelden met behulp van een client-id

Typ de volgende opdracht en druk op Enter.

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

Vervang de <client-id> tijdelijke aanduiding door de client-ID van de door de gebruiker toegewezen beheerde identiteit.

U vindt de client-id in Azure Portal door de eigenschappen van de beheerde identiteit weer te geven. In de volgende schermopname ziet u de locatie van de eigenschap client-id.

Schermopname van de locatie van de client-id

Aanmelden met behulp van een object-id

Typ de volgende opdracht en druk op Enter.

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

Vervang de <object-id> tijdelijke aanduiding door de object-id van de door de gebruiker toegewezen beheerde identiteit.

U vindt de object-id in Azure Portal door de eigenschappen van de beheerde identiteit weer te geven. In de volgende schermopname ziet u de locatie van de object-id (ook wel de principal-id genoemd).

Schermopname van de locatie van de object-id

Aanmelden met behulp van een resource-id

Typ de volgende opdracht en druk op Enter.

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

Vervang de tijdelijke aanduiding <resource-id> door de resource-ID van de beheerde identiteit die door de gebruiker is toegewezen.

U vindt de resource-id in Azure Portal door de eigenschappen van de beheerde identiteit weer te geven. In de volgende schermopname ziet u de locatie van de eigenschap resource-id.

Schermopname van de locatie van de resource-id

Autoriseren met Azure CLI

Wanneer u zich aanmeldt met behulp van Azure CLI, krijgt Azure CLI een OAuth-token dat AzCopy gebruikt om bewerkingen te autoriseren.

Als u Wilt dat AzCopy dat token gebruikt, typt u de volgende opdracht en drukt u op Enter.

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

Zie Aanmelden bij Azure met een beheerde identiteit met behulp van Azure CLI voor meer informatie over het aanmelden met de Azure CLI.

Autoriseren met Azure PowerShell

Als u zich aanmeldt met behulp van Azure PowerShell, verkrijgt Azure PowerShell een OAuth-token dat AzCopy kan gebruiken om bewerkingen te autoriseren.

Als u Wilt dat AzCopy dat token gebruikt, typt u de volgende opdracht en drukt u op Enter.

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

Zie Aanmelden met een beheerde identiteit voor meer informatie over het aanmelden met Azure PowerShell.

Volgende stappen