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, memorizzare la chiave pubblica dell'utente e assegnare il ruolo dell' AWS Identity and Access Management utente (). 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 nel JSON formato.

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 logiche delle directory che specificano quali percorsi e chiavi di EFS Amazon S3 o Amazon 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 AmazonEFS. Se si specifica solo un obiettivo, questo viene visualizzato così com'è. Devi anche assicurarti che il tuo 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 EFS percorso Amazon così com'è nei client del protocollo di trasferimento file. Se lo imposti suLOGICAL, devi fornire le mappature relative al HomeDirectoryMappings modo in cui desideri rendere visibili i percorsi Amazon S3 o EFS Amazon agli utenti.

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 politica 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 JSON blob, anziché come Amazon Resource Name (ARN) della policy. La policy viene salvata come JSON blob e la si inserisce nell'Policyargomento.

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'POSIXidentità completa, inclusi ID utente (Uid), ID gruppo (Gid) ed eventuali gruppi secondari IDs (SecondaryGids), che controlla l'accesso degli utenti ai tuoi EFS file system Amazon. Le POSIX autorizzazioni impostate su file e directory in Amazon EFS determinano il livello di accesso che gli utenti ottengono quando trasferiscono file da e verso i file system AmazonEFS.

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 EFS Amazon. Le policy associate a questo ruolo determinano il livello di accesso che desideri fornire ai tuoi utenti durante il trasferimento di file da e verso il bucket Amazon S3 o il file system EFS Amazon. Il IAM ruolo deve inoltre contenere una relazione di fiducia che consenta al server di accedere alle tue risorse per soddisfare le 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

Vincoli 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 di formato a chiave SSH pubblica standard sono <key type><body base64>, e uno opzionale<comment>, con spazi tra ogni elemento.

AWS Transfer Family accetta RSA ECDSA e ED25519 chiavi.

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

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

  • Per ECDSA le chiavi, il tipo di chiave è o ecdsa-sha2-nistp256 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'azione ha esito positivo, il servizio restituisce una risposta di HTTP 200.

I seguenti dati vengono restituiti in JSON formato dal 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.

HTTPCodice di stato: 500

InvalidRequestException

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

HTTPCodice di stato: 400

ResourceExistsException

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

HTTPCodice di stato: 400

ResourceNotFoundException

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

HTTPCodice di stato: 400

ServiceUnavailableException

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

HTTPCodice di stato: 500

Esempi

Esempio

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

{ "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 questo comando API in una delle lingue specifiche, consultate quanto segue AWS SDKs: