CreateUser - AWS Transfer Family

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

CreateUser

Crea un utente e lo associa a un server esistente abilitato al protocollo di trasferimento file. È possibile solo creare e associare gli utenti con i server con IdentityProviderType impostato su SERVICE_MANAGED. Utilizzando i parametri perCreateUser, è possibile specificare il nome utente, impostare la home directory, archiviare la chiave pubblica dell'utente e assegnare il ruolo dell'utente AWS Identity and Access Management (IAM). Facoltativamente è anche possibile aggiungere una policy di sessione e assegnare i metadati con tag che possono essere utilizzati per raggruppare e cercare gli utenti.

Sintassi della richiesta

{ "HomeDirectory": "string", "HomeDirectoryMappings": [ { "Entry": "string", "Target": "string", "Type": "string" } ], "HomeDirectoryType": "string", "Policy": "string", "PosixProfile": { "Gid": number, "SecondaryGids": [ number ], "Uid": number }, "Role": "string", "ServerId": "string", "SshPublicKeyBody": "string", "Tags": [ { "Key": "string", "Value": "string" } ], "UserName": "string" }

Parametri della richiesta

Per informazioni sui parametri comuni per tutte le azioni, consulta Parametri comuni.

La richiesta accetta i seguenti dati in formato JSON.

HomeDirectory

La directory di destinazione (cartella) per un utente quando accede al server utilizzando il client.

Un esempio di HomeDirectory è /bucket_name/home/mydirectory.

Nota

Il parametro HomeDirectory è utilizzato solo se HomeDirectoryType è impostato su PATH.

▬Tipo: stringa

Limitazioni di lunghezza: lunghezza minima di 0. La lunghezza massima è 1024 caratteri.

Modello: (|/.*)

Campo obbligatorio: no

HomeDirectoryMappings

Mappature di directory logiche che specificano quali percorsi e chiavi di Amazon S3 o Amazon EFS devono essere visibili all'utente e in che modo desideri renderli visibili. È necessario specificare la Target coppia Entry and, dove Entry mostra come il percorso viene reso visibile ed Target è il percorso effettivo di Amazon S3 o Amazon EFS. Se si specifica solo un obiettivo, questo viene visualizzato così com'è. È inoltre necessario assicurarsi che il proprio ruolo AWS Identity and Access Management (IAM) fornisca l'accesso ai percorsi inTarget. Questo valore può essere impostato solo quando HomeDirectoryType è impostato su LOGICAL.

Di seguito è riportato un esempio Target di coppia Entry and.

[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]

Nella maggior parte dei casi, è possibile utilizzare questo valore anziché la politica di sessione per bloccare l'utente nella home directory designata (» chroot «). A tale scopo, è possibile impostare / e Entry Target impostare il valore che l'utente dovrebbe visualizzare per la propria home directory al momento dell'accesso.

Di seguito è riportato un esempio Target di coppia Entry and perchroot.

[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]

Tipo: matrice di oggetti HomeDirectoryMapEntry

Membri dell’array: numero minimo di 1 elemento. Numero massimo di 50000 articoli.

Campo obbligatorio: no

HomeDirectoryType

Il tipo di directory (cartella) di destinazione in cui deve trovarsi la directory home degli utenti quando accedono al server. Se lo imposti suPATH, l'utente vedrà il bucket Amazon S3 assoluto o il percorso Amazon EFS così com'è nei client del protocollo di trasferimento file. Se lo imposti suLOGICAL, devi fornire le mappature relative al modo in cui desideri rendere i percorsi Amazon S3 o Amazon EFS visibili ai tuoi utenti. HomeDirectoryMappings

Nota

In caso HomeDirectoryType LOGICAL affermativo, devi fornire le mappature utilizzando il parametro. HomeDirectoryMappings Se, invece, HomeDirectoryType èPATH, si fornisce un percorso assoluto utilizzando il HomeDirectory parametro. Non puoi avere entrambi HomeDirectory e HomeDirectoryMappings nel tuo modello.

▬Tipo: stringa

Valori validi: PATH | LOGICAL

Campo obbligatorio: no

Policy

Una policy di sessione per il tuo utente in modo da poter utilizzare lo stesso ruolo AWS Identity and Access Management (IAM) su più utenti. Questa policy limita l'accesso di un utente a porzioni del suo bucket Amazon S3. Le variabili che è possibile utilizzare all'interno di questa policy includono ${Transfer:UserName}, ${Transfer:HomeDirectory} e ${Transfer:HomeBucket}.

Nota

Questa politica si applica solo quando il dominio ServerId è Amazon S3. Amazon EFS non utilizza policy di sessione.

Per le policy di sessione, AWS Transfer Family memorizza la policy come blob JSON, anziché come Amazon Resource Name (ARN) della policy. È possibile salvare la policy come blob JSON e passarla nell'argomento Policy.

Per un esempio di policy di sessione, consultare Example session policy (Esempio di policy di sessione).

Per ulteriori informazioni, consulta AssumeRoleil AWS Security Token Service API Reference.

▬Tipo: stringa

Limitazioni di lunghezza: lunghezza minima di 0. La lunghezza massima è 2048 caratteri.

Campo obbligatorio: no

PosixProfile

Speciifica l'identità POSIX completa, inclusi l'ID utente (Uid), l'ID di gruppo (Gid) e gli eventuali ID di gruppo secondari (SecondaryGids), che controlla l'accesso degli utenti ai file system Amazon EFS. Le autorizzazioni POSIX impostate su file e directory in Amazon EFS determinano il livello di accesso ottenuto dagli utenti durante il trasferimento di file da e verso i file system Amazon EFS.

Tipo: oggetto PosixProfile

Campo obbligatorio: no

Role

L'Amazon Resource Name (ARN) del ruolo AWS Identity and Access Management (IAM) che controlla l'accesso degli utenti al bucket Amazon S3 o al file system Amazon EFS. Le policy associate a questo ruolo determineranno il livello di accesso che desideri offrire agli utenti quando trasferiscono i file da e verso il bucket Amazon S3 o il file system Amazon EFS. Il ruolo IAM deve contenere anche una relazione di trust che consente al server di accedere alle proprie risorse durante la manutenzione delle richieste di trasferimento degli utenti.

▬Tipo: stringa

Limitazioni di lunghezza: lunghezza minima di 20. La lunghezza massima è 2048 caratteri.

Modello: arn:.*role/\S+

Campo obbligatorio: sì

ServerId

Un identificatore unico assegnato da sistema per un'istanza server. Questo è il server specifico a cui è stato aggiunto l'utente.

▬Tipo: stringa

Limiti di lunghezza: lunghezza fissa di 19.

Modello: s-([0-9a-f]{17})

Campo obbligatorio: sì

SshPublicKeyBody

La parte pubblica della chiave Secure Shell (SSH) utilizzata per autenticare l'utente sul server.

I tre elementi standard in formato chiave pubblica SSH sono <key type><body base64>, e uno opzionale<comment>, con spazi tra ogni elemento.

AWS Transfer Family accetta le chiavi RSA, ECDSA ed ED25519.

  • Per le chiavi RSA, il tipo di chiave è. ssh-rsa

  • Per le chiavi ED25519, il tipo di chiave è. ssh-ed25519

  • Per le chiavi ECDSA, il tipo di chiave èecdsa-sha2-nistp256, o ecdsa-sha2-nistp384ecdsa-sha2-nistp521, a seconda della dimensione della chiave generata.

▬Tipo: stringa

Limitazioni di lunghezza: lunghezza minima di 0. La lunghezza massima è 2048 caratteri.

Campo obbligatorio: no

Tags

Le coppie chiave-valore che è possibile utilizzare per raggruppare e cercare gli utenti. I tag sono metadati associati agli utenti per qualsiasi scopo.

Tipo: matrice di oggetti Tag

Membri dell’array: numero minimo di 1 elemento. Numero massimo di 50 item.

Campo obbligatorio: no

UserName

Una stringa univoca che identifica un utente ed è associata a un ServerId. Questo nome utente deve essere composto da un minimo di 3 a un massimo di 100 caratteri. I seguenti sono caratteri validi: a-z, A-Z, 0-9, carattere di sottolineatura '_', trattino '-', punto '.' e chiocciola '@'. Il nome utente non può iniziare con un trattino, un punto o una chiocciola.

▬Tipo: stringa

Limitazioni di lunghezza: lunghezza minima di 3. Lunghezza massima di 100.

Modello: [\w][\w@.-]{2,99}

Campo obbligatorio: sì

Sintassi della risposta

{ "ServerId": "string", "UserName": "string" }

Elementi di risposta

Se l'operazione riesce, il servizio restituisce una risposta HTTP 200.

I dati seguenti vengono restituiti in formato JSON mediante il servizio.

ServerId

L'identificatore del server a cui è collegato l'utente.

▬Tipo: stringa

Vincoli di lunghezza: lunghezza fissa di 19.

Modello: s-([0-9a-f]{17})

UserName

Una stringa univoca che identifica un utente Transfer Family.

▬Tipo: stringa

Limitazioni di lunghezza: lunghezza minima di 3. Lunghezza massima di 100.

Modello: [\w][\w@.-]{2,99}

Errori

Per informazioni sugli errori comuni a tutte le operazioni, consultare Errori comuni.

InternalServiceError

Questa eccezione viene generata quando si verifica un errore nel AWS Transfer Family servizio.

Codice di stato HTTP: 500

InvalidRequestException

Questa eccezione viene generata quando il client invia una richiesta non valida.

Codice di stato HTTP: 400

ResourceExistsException

La risorsa richiesta non esiste o esiste in una regione diversa da quella specificata per il comando.

Codice di stato HTTP: 400

ResourceNotFoundException

Questa eccezione viene generata quando una risorsa non viene trovata dal servizio AWS Transfer Family.

Codice di stato HTTP: 400

ServiceUnavailableException

La richiesta non è riuscita perché il servizio AWS Transfer Family non è disponibile.

Codice di stato HTTP: 500

Esempi

Esempio

Per creare un utente, puoi prima salvare i parametri in un file JSON, ad esempiocreateUserParameters, quindi eseguire il comando API create-user.

{ "HomeDirectory": "/DOC-EXAMPLE-BUCKET", "HomeDirectoryType": "PATH", "Role": "arn:aws:iam::111122223333:role/bob-role", "ServerId": "s-1111aaaa2222bbbb3", "SshPublicKeyBody": "ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA... bobusa@mycomputer.us-east-1.amazon.com", "UserName": "bobusa-API" }

Richiesta di esempio

aws transfer create-user --cli-input-json file://createUserParameters

Risposta di esempio

{ "ServerId": ""s-1111aaaa2222bbbb3", "UserName": "bobusa-API" }

Vedi anche

Per ulteriori informazioni sull'utilizzo di questa API in uno degli SDK specifici della lingua, consulta quanto segue AWS :