View a markdown version of this page

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 policy e ruoli che possono essere utilizzati 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 di un ARN utente di 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 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 richiamo: 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 di successo e fallimento 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 di Transfer Family di chiamare e avviare flussi di lavoro. Transfer Family assume questo ruolo nel contesto di un ARN del flusso di lavoro di Transfer Family.

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

Nota

Quando crei un utente Transfer Family gestito dal servizio, puoi selezionare la Auto-generate politica in base alla cartella principale. Questa è una scorciatoia utile se desideri limitare l'accesso degli utenti alle proprie cartelle. Inoltre, puoi visualizzare i dettagli sulle politiche di sessione e un esempio inCome funzionano le policy di sessione. Puoi anche trovare ulteriori informazioni sulle politiche di sessione in Session policy 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, quali parti di ciascun bucket Amazon S3 e quali file del file system sono accessibili e quali autorizzazioni dispone l'utente (ad esempio, o). PUT GET

Per impostare l'accesso, crei una policy e un ruolo basati sull'identità AWS Identity and Access Management (IAM) che forniscono tali informazioni di accesso. Come parte di questo processo, fornisci all'utente l'accesso 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 Questa procedura è descritta in Per creare una policy IAM per AWS Transfer Family.

  2. Crea un ruolo IAM e allega la nuova policy IAM. Per un esempio, consulta Esempio di politica di read/write accesso.

  3. Stabilisci una relazione di fiducia tra AWS Transfer Family e il ruolo IAM. Questa procedura è descritta in Per 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. Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione, scegli Policy e Crea policy.

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

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

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

  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 pannello 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 il criterio 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 puoi utilizzarli entrambi quando costruisci le tue politiche. La documentazione di Transfer Family ArnLike viene utilizzata quando la condizione contiene un carattere jolly e ArnEquals per indicare 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". 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. Ad esempio:

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

    È inoltre possibile utilizzare la ArnLike condizione se si desidera limitare l'accesso a un determinato server anziché a qualsiasi server nell'account utente. Ad esempio:

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

    Negli esempi precedenti, sostituisci ciascuno user input placeholder con le tue informazioni.

    Per dettagli sul problema confuso dei sostituti e altri esempi, vedereCross-service prevenzione sostitutiva confusa.

  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 allegato al ruolo la policy IAM che hai creato per dare accesso al tuo utente. Nella Nozioni di base su AWS Transfer Family endpoint del server sezione, questo ruolo e questa policy sono assegnati al tuo utente o ai tuoi utenti.

Consulta anche

Come funzionano le policy 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 policy di sessione. Ad esempio, se crei un ruolo con read/write accesso, puoi impostare un URL che limiti l'accesso degli utenti solo alle loro home directory.

I criteri di sessione sono criteri avanzati che vengono passati come parametro quando si crea a livello di programmazione 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 della politica di sessione sono l'intersezione tra le politiche di sessione e le politiche basate sulle risorse più l'intersezione delle politiche di sessione e le politiche basate sull'identità.

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

Per maggiori dettagli, consulta le politiche di sessione nella IAM User Guide. https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session

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

  • Le PutObjectACL dichiarazioni GetObjectACL and sono obbligatorie solo se è necessario abilitare l'accesso tra account. Cioè, il tuo server Transfer Family deve accedere a un bucket in un altro account.

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

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

  • Per utilizzare le policy di sessione per creare autorizzazioni di accesso basate sugli attributi dell'utente senza creare ruoli IAM separati per ciascun utente, consulta. Approcci di gestione dinamica delle autorizzazioni

{ "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 home directory degli utenti siano impostate in modo da includere una barra finale, a indicare che si tratta di una directory. Se invece imposti quella di un utente HomeDirectory senza la barra finale, dovresti includerla come parte della tua politica.

Nel precedente esempio di policy, notate l'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 HomeDirectory eImplementazione 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 iniziale (/) in modo che possa essere utilizzato 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 di Transfer Family sia. /home/bob/amazon/stuff/

  • transfer:HomeBucket è impostato su /home;

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

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

La prima "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 dello stesso percorso,. /home/bob/amazon/stuff/

Esempio di politica di read/write accesso

Concedi read/write l'accesso al bucket Amazon S3

Il seguente esempio di policy per AWS Transfer Family read/write concedere l'accesso agli oggetti nel tuo bucket Amazon S3.

Tenere presente quanto segue:

  • Sostituisci amzn-s3-demo-bucket con il nome del bucket Amazon S3.

  • Le PutObjectACL dichiarazioni GetObjectACL and sono obbligatorie solo se è necessario 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 abilitato il controllo delle versioni per il tuo bucket, allora hai bisogno di queste autorizzazioni, poiché puoi sospendere il controllo delle versioni solo in Amazon S3 e non disattivarlo completamente. Per i dettagli, consulta Bucket senza versione, con versione abilitata e con versione sospesa.

{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetObjectTagging", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectVersionTagging", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::amzn-s3-demo-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 concedano 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 al file system root l'accesso ai file nel tuo file system Amazon EFS.

Nota

Nei seguenti esempi, sostituiscilo region con la tua regione, account-id con l'account in cui si trova il file e file-system-id con 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:us-east-1:123456789012:file-system/file-system-id" } ] }

La seguente policy di esempio consente al file system utente di accedere ai file nel tuo file system Amazon EFS.

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