Komma åt datalager och filresurser med Windows-autentisering från SSIS-paket i Azure
GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics
Du kan använda Windows-autentisering för att komma åt datalager, till exempel SQL-servrar, filresurser, Azure Files osv. från SSIS-paket som körs på din Azure-SSIS Integration Runtime (IR) i Azure Data Factory (ADF) och Azure Synapse. Dina datalager kan finnas lokalt, finnas på Azure Virtual Machines (VM) eller köras i Azure som hanterade tjänster. Om de finns lokalt måste du ansluta din Azure-SSIS IR till en Virtual Network (Microsoft Azure Virtual Network) som är ansluten till ditt lokala nätverk. Mer information finns i Ansluta Azure-SSIS IR till en Microsoft Azure-Virtual Network. Det finns fyra metoder för att komma åt datalager med Windows-autentisering från SSIS-paket som körs på din Azure-SSIS IR:
Anslutningsmetod | Effektivt omfång | Installationssteg | Åtkomstmetod i paket | Antal autentiseringsuppsättningar och anslutna resurser | Typ av anslutna resurser |
---|---|---|---|---|---|
Konfigurera en körningskontext på aktivitetsnivå | Per körning av SSIS-paketaktivitet | Konfigurera Windows-autentiseringsegenskapen för att konfigurera en "Körning/Kör som"-kontext när du kör SSIS-paket som Kör SSIS-paketaktiviteter i ADF-pipelines. Mer information finns i Konfigurera körning av SSIS-paketaktivitet. |
Komma åt resurser direkt i paket, till exempel använda UNC-sökväg för att komma åt filresurser eller Azure Files: \\YourFileShareServerName\YourFolderName eller\\YourAzureStorageAccountName.file.core.windows.net\YourFolderName |
Stöd endast för en uppsättning autentiseringsuppgifter för alla anslutna resurser | – Filresurser lokalt/virtuella Azure-datorer – Azure Files, se Använda en Azure-filresurs – SQL-servrar lokalt/virtuella Azure-datorer med Windows-autentisering – Andra resurser med Windows-autentisering |
Konfigurera en körningskontext på katalognivå | Per Azure-SSIS IR, men åsidosättas när du konfigurerar en körningskontext på aktivitetsnivå (se ovan) | Kör en lagrad SSISDB-procedur catalog.set_execution_credential för att konfigurera kontexten "Körning/Kör som".Mer information finns i resten av den här artikeln nedan. |
Komma åt resurser direkt i paket, till exempel använda UNC-sökväg för att komma åt filresurser eller Azure Files: \\YourFileShareServerName\YourFolderName eller\\YourAzureStorageAccountName.file.core.windows.net\YourFolderName |
Stöd endast för en uppsättning autentiseringsuppgifter för alla anslutna resurser | – Filresurser lokalt/virtuella Azure-datorer – Azure Files, se Använda en Azure-filresurs – SQL-servrar lokalt/virtuella Azure-datorer med Windows-autentisering – Andra resurser med Windows-autentisering |
Spara autentiseringsuppgifter via cmdkey kommando |
Per Azure-SSIS IR, men åsidosättas när du konfigurerar en aktivitets-/katalognivåkörningskontext (se ovan) | Kör cmdkey kommandot i ett anpassat installationsskript (main.cmd ) när du etablerar din Azure-SSIS IR, till exempel om du använder filresurser, Azure Files eller SQL Server:cmdkey /add:YourFileShareServerName /user:YourDomainName\YourUsername /pass:YourPassword ,cmdkey /add:YourAzureStorageAccountName.file.core.windows.net /user:azure\YourAzureStorageAccountName /pass:YourAccessKey eller cmdkey /add:YourSQLServerFullyQualifiedDomainNameOrIPAddress:YorSQLServerPort /user:YourDomainName\YourUsername /pass:YourPassword .Mer information finns i Anpassa konfiguration för Azure-SSIS IR. |
Komma åt resurser direkt i paket, till exempel använda UNC-sökväg för att komma åt filresurser eller Azure Files: \\YourFileShareServerName\YourFolderName eller\\YourAzureStorageAccountName.file.core.windows.net\YourFolderName |
Stöd för flera autentiseringsuppsättningar för olika anslutna resurser | – Filresurser lokalt/virtuella Azure-datorer – Azure Files, se Använda en Azure-filresurs – SQL-servrar lokalt/virtuella Azure-datorer med Windows-autentisering – Andra resurser med Windows-autentisering |
Montering av enheter vid körning av paket (ej beständiga) | Per paket | Kör net use kommandot i Kör processuppgift som läggs till i början av kontrollflödet i dina paket, till exempel net use D: \\YourFileShareServerName\YourFolderName |
Komma åt filresurser via mappade enheter | Stöd för flera enheter för olika filresurser | – Filresurser lokalt/virtuella Azure-datorer – Azure Files, se Använda en Azure-filresurs |
Varning
Om du inte använder någon av ovanstående metoder för att komma åt datalager med Windows-autentisering kan dina paket som är beroende av Windows-autentisering inte komma åt dem och misslyckas vid körning.
I resten av den här artikeln beskrivs hur du konfigurerar SSIS-katalog (SSISDB) i SQL Database/SQL Managed Instance för att köra paket på Azure-SSIS IR som använder Windows-autentisering för att komma åt datalager.
Du kan bara använda en uppsättning autentiseringsuppgifter
När du använder Windows-autentisering i ett SSIS-paket kan du bara använda en uppsättning autentiseringsuppgifter. De domänautentiseringsuppgifter som du anger när du följer stegen i den här artikeln gäller för alla paketkörningar – interaktiva eller schemalagda – på Azure-SSIS IR tills du ändrar eller tar bort dem. Om paketet måste ansluta till flera datalager med olika uppsättningar autentiseringsuppgifter bör du överväga ovanstående alternativa metoder.
Ange domänautentiseringsuppgifter för Windows-autentisering
Gör följande för att ange domänautentiseringsuppgifter som låter paket använda Windows-autentisering för att komma åt datalager lokalt:
Med SQL Server Management Studio (SSMS) eller ett annat verktyg ansluter du till SQL Database/SQL Managed Instance som är värd för SSISDB. Mer information finns i Ansluta till SSISDB i Azure.
Öppna ett frågefönster med SSISDB som aktuell databas.
Kör följande lagrade procedur och ange lämpliga domänautentiseringsuppgifter:
catalog.set_execution_credential @user='<your user name>', @domain='<your domain name>', @password='<your password>'
Kör dina SSIS-paket. Paketen använder de autentiseringsuppgifter som du angav för att komma åt datalager lokalt med Windows-autentisering.
Visa domänautentiseringsuppgifter
Om du vill visa autentiseringsuppgifterna för den aktiva domänen gör du följande:
Med SSMS eller något annat verktyg ansluter du till SQL Database/SQL Managed Instance som är värd för SSISDB. Mer information finns i Ansluta till SSISDB i Azure.
Öppna ett frågefönster med SSISDB som aktuell databas.
Kör följande lagrade procedur och kontrollera utdata:
SELECT * FROM catalog.master_properties WHERE property_name = 'EXECUTION_DOMAIN' OR property_name = 'EXECUTION_USER'
Rensa domänautentiseringsuppgifter
Gör följande för att rensa och ta bort de autentiseringsuppgifter som du angav enligt beskrivningen i den här artikeln:
Med SSMS eller något annat verktyg ansluter du till SQL Database/SQL Managed Instance som är värd för SSISDB. Mer information finns i Ansluta till SSISDB i Azure.
Öppna ett frågefönster med SSISDB som aktuell databas.
Kör följande lagrade procedur:
catalog.set_execution_credential @user='', @domain='', @password=''
Ansluta till en SQL Server lokalt
Gör följande för att kontrollera om du kan ansluta till en SQL Server lokalt:
Om du vill köra det här testet letar du upp en dator som inte är domänansluten.
På den icke-domänanslutna datorn kör du följande kommando för att starta SSMS med de domänautentiseringsuppgifter som du vill använda:
runas.exe /netonly /user:<domain>\<username> SSMS.exe
Från SSMS kontrollerar du om du kan ansluta till SQL Server lokalt.
Förutsättningar
Om du vill komma åt en SQL Server lokalt från paket som körs i Azure gör du följande:
Aktivera TCP/IP-protokoll i Konfigurationshanteraren för SQL Server.
Tillåt åtkomst via Windows-brandväggen. Mer information finns i Konfigurera Windows-brandväggen för åtkomst SQL Server.
Anslut din Azure-SSIS IR till en Microsoft Azure-Virtual Network som är ansluten till SQL Server lokalt. Mer information finns i Ansluta Azure-SSIS IR till en Microsoft Azure-Virtual Network.
Använd den lagrade SSISDB-proceduren
catalog.set_execution_credential
för att ange autentiseringsuppgifter enligt beskrivningen i den här artikeln.
Ansluta till en filresurs lokalt
Gör följande för att kontrollera om du kan ansluta till en filresurs lokalt:
Om du vill köra det här testet letar du upp en dator som inte är domänansluten.
Kör följande kommandon på den icke-domänanslutna datorn. De här kommandona öppnar ett kommandotolkfönster med de domänautentiseringsuppgifter som du vill använda och testar sedan anslutningen till filresursen lokalt genom att hämta en kataloglista.
runas.exe /netonly /user:<domain>\<username> cmd.exe dir \\fileshare
Kontrollera om kataloglistan returneras för filresursen lokalt.
Förutsättningar
Om du vill komma åt en filresurs lokalt från paket som körs i Azure gör du följande:
Tillåt åtkomst via Windows-brandväggen.
Anslut din Azure-SSIS IR till en Microsoft Azure-Virtual Network som är ansluten till filresursen lokalt. Mer information finns i Ansluta Azure-SSIS IR till en Microsoft Azure-Virtual Network.
Använd den lagrade SSISDB-proceduren
catalog.set_execution_credential
för att ange autentiseringsuppgifter enligt beskrivningen i den här artikeln.
Ansluta till en filresurs på en virtuell Azure-dator
Om du vill komma åt en filresurs på en virtuell Azure-dator från paket som körs i Azure gör du följande:
Med SSMS eller något annat verktyg ansluter du till SQL Database/SQL Managed Instance som är värd för SSISDB. Mer information finns i Ansluta till SSISDB i Azure.
Öppna ett frågefönster med SSISDB som aktuell databas.
Kör följande lagrade procedur och ange lämpliga domänautentiseringsuppgifter:
catalog.set_execution_credential @domain = N'.', @user = N'username of local account on Azure virtual machine', @password = N'password'
Ansluta till en filresurs i Azure Files
Mer information om Azure Files finns i Azure Files.
Om du vill komma åt en filresurs i Azure Files från paket som körs i Azure gör du följande:
Med SSMS eller något annat verktyg ansluter du till SQL Database/SQL Managed Instance som är värd för SSISDB. Mer information finns i Ansluta till SSISDB i Azure.
Öppna ett frågefönster med SSISDB som aktuell databas.
Kör följande lagrade procedur och ange lämpliga domänautentiseringsuppgifter:
catalog.set_execution_credential @domain = N'Azure', @user = N'<storage-account-name>', @password = N'<storage-account-key>'
Nästa steg
- Distribuera dina paket. Mer information finns i Distribuera ett SSIS-projekt till Azure med SSMS.
- Kör dina paket. Mer information finns i Köra SSIS-paket i Azure med SSMS.
- Schemalägg dina paket. Mer information finns i Schemalägga SSIS-paket i Azure.