Hallo Jasper Bartscher ,
Create SFTP Local User via Java SDK
Sie können den folgenden Code verwenden, um den lokalen SFTP-Benutzer im Azure-Speicherkonto mithilfe des Azure Java SDK zu erstellen.
Code:
import com.azure.identity.DefaultAzureCredential;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.core.management.AzureEnvironment;
import com.azure.core.management.profile.AzureProfile;
import com.azure.resourcemanager.storage.StorageManager;
import com.azure.resourcemanager.storage.fluent.LocalUsersOperationsClient;
import com.azure.resourcemanager.storage.fluent.models.LocalUserInner;
import com.azure.resourcemanager.storage.fluent.models.LocalUserRegeneratePasswordResultInner;
import com.azure.resourcemanager.storage.models.PermissionScope;
import java.util.Arrays;
public class App {
public static void main(String[] args) {
String subscriptionId = "xxxxxx";
String tenantId = "xxxxx";
String resourceGroupName = "xxxx";
String storageAccountName = "xxx";
String localUserName = "xxx";
String containerName = "xxxx";
DefaultAzureCredential credential = new DefaultAzureCredentialBuilder().build();
AzureProfile profile = new AzureProfile(tenantId, subscriptionId, AzureEnvironment.AZURE);
StorageManager storageManager = StorageManager.authenticate(credential, profile);
LocalUsersOperationsClient localUsersClient = storageManager.serviceClient().getLocalUsersOperations();
// Define the local user properties
LocalUserInner localUser = new LocalUserInner()
.withHasSshPassword(true)
.withHasSshKey(false)
.withPermissionScopes(Arrays.asList(
new PermissionScope()
.withResourceName(containerName)
.withService("blob")
.withPermissions("rw")
));
LocalUserInner response = localUsersClient.createOrUpdate(
resourceGroupName,
storageAccountName,
localUserName,
localUser
);
System.out.println("Local user created: " + response.name());
LocalUserRegeneratePasswordResultInner passwordResponse = localUsersClient.regeneratePassword(
resourceGroupName,
storageAccountName,
localUserName
);
// Print the regenerated password
System.out.println("Password regenerated successfully.");
System.out.println("Generated password: " + passwordResponse.sshPassword());
}
}
Ausgabe:
Local user created: xxxxx
Password regenerated successfully.
Generated password: xxxxx
Sie können die gleiche Abhängigkeit verwenden, die oben in Ihrer Frage erwähnt wurde, und Sie können auch die Schritte für die SSH-Schlüsselauthentifizierung befolgen.
Referenz:
com.azure.resourcemanager.storage.fluent.models Paket | Microsoft Learn
Lassen Sie es mich wissen, wenn Sie Fragen haben, und ich helfe Ihnen gerne weiter.
Wenn die bereitgestellten Informationen für Sie hilfreich waren, denken Sie bitte daran, die Antwort zu akzeptieren und hochzuvoten, da dies auch für andere Community-Mitglieder hilfreich sein wird.
Ich übersetze die Antworten aus dem Englischen, also verzeihen Sie mir bitte, wenn es Grammatikprobleme gibt.