Crea un ruolo e una policy IAM - 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à.

Crea un ruolo e una policy IAM

Questo argomento descrive i tipi di politiche e ruoli che è possibile utilizzare e illustra il processo di creazione di un ruolo utente. AWS Transfer Family Descrive inoltre come funzionano i criteri di sessione e fornisce un esempio di ruolo utente.

AWS Transfer Family utilizza i seguenti tipi di ruoli:

  • Ruolo utente: consente agli utenti gestiti dal servizio di accedere alle risorse Transfer Family necessarie. AWS Transfer Family assume questo ruolo nel contesto dell'ARN di un utente Transfer Family.

  • Ruolo di accesso: fornisce l'accesso solo ai file Amazon S3 che vengono trasferiti. Per i trasferimenti AS2 in entrata, il ruolo di accesso utilizza l'Amazon Resource Name (ARN) per l'accordo. Per i trasferimenti AS2 in uscita, il ruolo di accesso utilizza l'ARN per il connettore.

  • Ruolo di chiamata: da utilizzare con Amazon API Gateway come provider di identità personalizzato del server. Transfer Family assume questo ruolo nel contesto di un ARN del server Transfer Family.

  • Ruolo di registrazione: utilizzato per registrare le voci in Amazon CloudWatch. Transfer Family utilizza questo ruolo per registrare i dettagli relativi al successo e all'errore insieme alle informazioni sui trasferimenti di file. Transfer Family assume questo ruolo nel contesto di un ARN del server Transfer Family. Per i trasferimenti AS2 in uscita, il ruolo di registrazione utilizza il connettore ARN.

  • Ruolo di esecuzione: consente a un utente Transfer Family di chiamare e avviare flussi di lavoro. Transfer Family assume questo ruolo nel contesto di un flusso di lavoro Transfer Family ARN.

Oltre a questi ruoli, puoi anche utilizzare i criteri di sessione. Una politica di sessione viene utilizzata per limitare l'accesso quando necessario. Tieni presente che queste politiche sono autonome: ovvero non le aggiungi a un ruolo. Piuttosto, aggiungi una politica di sessione direttamente a un utente Transfer Family.

Nota

Quando crei un utente Transfer Family gestito dal servizio, puoi selezionare la politica di generazione automatica in base alla cartella home. Questa è una scorciatoia utile se desideri limitare l'accesso degli utenti alle proprie cartelle. Inoltre, è possibile visualizzare dettagli sulle politiche di sessione e un esempio inCome funzionano le politiche di sessione. Puoi anche trovare ulteriori informazioni sulle policy di sessione in Session policies nella IAM User Guide.

Creazione di un ruolo utente

Quando crei un utente, prendi una serie di decisioni sull'accesso degli utenti. Queste decisioni includono a quali bucket Amazon S3 o file system Amazon EFS l'utente può accedere, a quali parti di ogni bucket Amazon S3 e quali file nel file system sono accessibili e quali autorizzazioni dispone l'utente (ad esempio, o). PUT GET

Per impostare l'accesso, crei una politica e un ruolo basati sull'identità AWS Identity and Access Management (IAM) che forniscono tali informazioni di accesso. Come parte di questo processo, fornisci l'accesso al tuo utente al bucket Amazon S3 o al file system Amazon EFS che è la destinazione o l'origine per le operazioni sui file. A questo scopo, esegui la seguente procedura dettagliata, descritta di seguito:

Creazione di un ruolo utente
  1. Crea una policy IAM per. AWS Transfer Family Ciò è descritto inPer creare una policy IAM per AWS Transfer Family.

  2. Crea un ruolo IAM e allega la nuova policy IAM. Per vedere un esempio, consulta Esempio di politica di accesso in lettura/scrittura.

  3. Stabilisci una relazione di fiducia tra AWS Transfer Family e il ruolo IAM. Questo è descritto inPer stabilire una relazione di trust.

Le seguenti procedure descrivono come creare una policy e un ruolo IAM.

Per creare una policy IAM per AWS Transfer Family
  1. Apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel riquadro di navigazione, seleziona Policy e quindi Crea policy.

  3. Nella pagina Create Policy (Crea policy), selezionare la scheda JSON.

  4. Nell'editor visualizzato, sostituisci il contenuto dell'editor con la policy IAM che desideri allegare al ruolo IAM.

    Puoi concedere l'accesso in lettura/scrittura o limitare gli utenti alla loro home directory. Per ulteriori informazioni, consulta Esempio di politica di accesso in lettura/scrittura.

  5. Scegli Rivedi politica e fornisci un nome e una descrizione per la tua politica, quindi scegli Crea politica.

Quindi, crea un ruolo IAM e collegalo alla nuova policy IAM.

Per creare un ruolo IAM per AWS Transfer Family
  1. Nel riquadro di navigazione, scegli Ruoli e quindi Crea ruolo.

    Nella pagina Crea ruolo, assicurati che il AWS servizio sia selezionato.

  2. Scegliere Transfer (Trasferisci) dall'elenco di servizi, quindi selezionare Next: Permissions (Successivo: Autorizzazioni). Ciò stabilisce una relazione di fiducia tra AWS Transfer Family e AWS.

  3. Nella sezione Allega criteri di autorizzazione, individua e scegli la politica che hai appena creato e scegli Avanti: Tag.

  4. (Facoltativo) Immettere una chiave e un valore per un tag e scegliere Next: Review (Successivo: Rivedi).

  5. Nella pagina Review (Rivedi), immettere un nome e una descrizione per il nuovo ruolo, quindi scegliere Create role (Crea ruolo).

Successivamente, stabilisci una relazione di fiducia tra AWS Transfer Family e AWS.

Per stabilire una relazione di trust
Nota

Nei nostri esempi, utilizziamo entrambi ArnLike eArnEquals. Sono identici dal punto di vista funzionale e pertanto è possibile utilizzarli entrambi quando si creano le proprie politiche. La documentazione di Transfer Family utilizza ArnLike quando la condizione contiene un carattere jolly e ArnEquals indica una condizione di corrispondenza esatta.

  1. Nella console IAM, scegliere il ruolo appena creato.

  2. Nella pagina Riepilogo, scegliere Relazioni di trust e selezionare Edit trust relationship (Modifica relazione di trust).

  3. Nell'editor Edit Trust Relationship, assicurati che il servizio sia "transfer.amazonaws.com" attivo. La politica di accesso è mostrata di seguito.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

    Si consiglia di utilizzare le chiavi di condizione aws:SourceAccount e aws:SourceArn per proteggersi dal problema del "confused deputy". L'account di origine è il proprietario del server e l'ARN di origine è l'ARN dell'utente. Per esempio:

    "Condition": { "StringEquals": { "aws:SourceAccount": "account_id" }, "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region:account_id:user/*" } }

    Puoi utilizzare la ArnLike condizione anche se desideri limitarti a un determinato server anziché a qualsiasi server dell'account utente. Per esempio:

    "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region:account-id:user/server-id/*" } }
    Nota

    Negli esempi precedenti, sostituisci ogni segnaposto di input dell'utente con le tue informazioni.

    Per i dettagli sul problema del vicesceriffo confuso e altri esempi, si veda. Prevenzione del problema "confused deputy" tra servizi

  4. Scegli Aggiorna politica di fiducia per aggiornare la politica di accesso.

Ora hai creato un ruolo IAM che consente di AWS Transfer Family chiamare AWS i servizi per tuo conto. Hai associato al ruolo la policy IAM che hai creato per consentire l'accesso al tuo utente. Nella Guida introduttiva agli endpoint del server AWS Transfer Family sezione, questo ruolo e questa policy vengono assegnati al tuo utente o ai tuoi utenti.

Consulta anche

Come funzionano le politiche di sessione

Quando un amministratore crea un ruolo, il ruolo spesso include ampie autorizzazioni per coprire più casi d'uso o membri del team. Se un amministratore configura l'URL di una console, può ridurre le autorizzazioni per la sessione risultante utilizzando una politica di sessione. Ad esempio, se crei un ruolo con accesso in lettura/scrittura, puoi configurare un URL che limiti l'accesso degli utenti solo alle loro home directory.

I criteri di sessione sono criteri avanzati che vengono trasmessi come parametro quando si crea a livello di codice una sessione temporanea per un ruolo o un utente. Le policy di sessione sono utili per bloccare gli utenti in modo che abbiano accesso solo alle parti del bucket in cui i prefissi degli oggetti contengono il loro nome utente. Il diagramma seguente mostra che le autorizzazioni dei criteri di sessione sono l'intersezione tra i criteri di sessione e i criteri basati sulle risorse più l'intersezione dei criteri di sessione e i criteri basati sull'identità.

Diagramma di Venn sulle autorizzazioni dei criteri di sessione. Mostra l'efficacia delle autorizzazioni nelle intersezioni tra criteri basati sulle risorse, criteri basati sull'identità e criteri di sessione.

Per maggiori dettagli, consulta le politiche di sessione nella Guida per l'utente IAM.

Nel AWS Transfer Family, una policy di sessione è supportata solo durante il trasferimento da o verso Amazon S3. La seguente politica di esempio è una politica di sessione che limita l'accesso degli utenti solo alle loro home directory. Tieni presente quanto segue:

  • Le PutObjectACL istruzioni GetObjectACL e sono necessarie solo se è necessario abilitare Cross Account Access. Cioè, il tuo server Transfer Family deve accedere a un bucket in un altro account.

  • La lunghezza massima di una politica di sessione è di 2048 caratteri. Per maggiori dettagli, consulta il parametro Policy request per l'CreateUserazione nel riferimento API.

  • Se il tuo bucket Amazon S3 è crittografato utilizzando AWS Key Management Service (AWS KMS), devi specificare autorizzazioni aggiuntive nella tua policy. Per informazioni dettagliate, vedi Crittografia dei dati in Amazon S3.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::${transfer:HomeBucket}" ], "Condition": { "StringLike": { "s3:prefix": [ "${transfer:HomeFolder}/*", "${transfer:HomeFolder}" ] } } }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::${transfer:HomeDirectory}/*" } ] }
Nota

L'esempio di policy precedente presuppone che le directory home degli utenti siano impostate in modo da includere una barra finale, a indicare che si tratta di una directory. Se, al contrario, imposti quella di un utente HomeDirectory senza la barra finale, dovresti includerla come parte della tua politica.

Nella policy di esempio precedente, prendete nota dell'uso dei parametri transfer:HomeFoldertransfer:HomeBucket, e transfer:HomeDirectory policy. Questi parametri sono impostati per HomeDirectory i parametri configurati per l'utente, come descritto in HomeDirectoryandImplementazione del metodo API Gateway. Questi parametri hanno le seguenti definizioni:

  • Il transfer:HomeBucket parametro viene sostituito con il primo componente diHomeDirectory.

  • Il transfer:HomeFolder parametro viene sostituito con le parti rimanenti del HomeDirectory parametro.

  • Al transfer:HomeDirectory parametro è stata rimossa la barra anteriore (/) iniziale in modo che possa essere utilizzata come parte di un Amazon Resource Name (ARN) di S3 in un'istruzione. Resource

Nota

Se utilizzi directory logiche, ovvero quelle dell'utente, LOGICAL questi parametri di policy (HomeBucket, e) homeDirectoryType non sono supportati. HomeDirectory HomeFolder

Ad esempio, supponiamo che il HomeDirectory parametro configurato per l'utente Transfer Family sia/home/bob/amazon/stuff/.

  • transfer:HomeBucketè impostato su/home.

  • transfer:HomeFolderè impostato su/bob/amazon/stuff/.

  • transfer:HomeDirectorydiventahome/bob/amazon/stuff/.

Il primo "Sid" consente all'utente di elencare tutte le directory a partire da/home/bob/amazon/stuff/.

Il secondo "Sid" limita l'getaccesso dell'utente put e quello dello stesso percorso,. /home/bob/amazon/stuff/

Esempio di politica di accesso in lettura/scrittura

Concedi l'accesso in lettura/scrittura al bucket Amazon S3

La seguente politica di esempio AWS Transfer Family concede l'accesso in lettura/scrittura agli oggetti nel tuo bucket Amazon S3.

Tieni presente quanto segue:

  • Sostituisci DOC-EXAMPLE-BUCKET con il nome del bucket Amazon S3.

  • Le PutObjectACL istruzioni GetObjectACL e sono obbligatorie solo se devi abilitare Cross Account Access. Cioè, il tuo server Transfer Family deve accedere a un bucket in un altro account.

  • DeleteObjectVersionLe istruzioni GetObjectVersion and sono necessarie solo se il controllo delle versioni è abilitato sul bucket Amazon S3 a cui si accede.

    Nota

    Se hai già abilitato il controllo delle versioni per il tuo bucket, allora hai bisogno di queste autorizzazioni, poiché puoi solo sospendere il controllo delle versioni in Amazon S3 e non disattivarlo completamente. Per maggiori dettagli, consulta Unversioned, versioning-enabled e versioning-suspended bucket.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" } ] }
Concedi l'accesso al file system ai file nel file system Amazon EFS

Nota

Oltre alla policy, devi anche assicurarti che le autorizzazioni dei tuoi file POSIX garantiscano l'accesso appropriato. Per ulteriori informazioni, consulta Working with users, groups, and permissions at the Network File System (NFS) Level (Utilizzo di utenti, gruppi e autorizzazioni a livello NFS (Network File System) nella Guida per l'utente di Amazon Elastic File System.

La seguente policy di esempio concede l'accesso al file system root ai file del tuo file system Amazon EFS.

Nota

Negli esempi seguenti, sostituisci la regione con la tua regione, l'ID account con l'account in cui si trova il file e file-system-idcon l'ID del tuo Amazon Elastic File System (Amazon EFS).

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RootFileSystemAccess", "Effect": "Allow", "Action": [ "elasticfilesystem:ClientRootAccess", "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Resource": "arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id" } ] }

La seguente policy di esempio concede all'utente l'accesso ai file system del file system Amazon EFS.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UserFileSystemAccess", "Effect": "Allow", "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Resource": "arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id" } ] }