Crea un IAM ruolo e una politica - 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 IAM ruolo e una politica

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 di un utente ARN Transfer Family.

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

  • 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 server ARN 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 server ARN Transfer Family. Per AS2 i trasferimenti 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 ARN di lavoro Transfer Family.

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. È inoltre possibile trovare ulteriori informazioni sui criteri di sessione in Criteri di sessione nella Guida IAM per l'utente.

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 EFS file system Amazon 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 EFS file system Amazon 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 IAM politica per. AWS Transfer Family Questo è descritto inCreare una IAM politica per AWS Transfer Family.

  2. Crea un IAM ruolo e allega la nuova IAM politica. 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 IAM ruolo. Questo è descritto inPer stabilire una relazione di trust.

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

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

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

  3. Nella pagina Crea politica, scegli la JSONscheda.

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

    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.

Successivamente, crei un IAM ruolo e gli alleghi la nuova IAM politica.

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

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

  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 IAM console, scegli il ruolo che hai 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 attivo"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'origine ARN è l'utente. ARN Per esempio:

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

    Puoi utilizzare ArnLike questa 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 ciascuno user input placeholder con le tue informazioni.

    Per dettagli sul problema del deputato confuso e altri esempi, vediPrevenzione del problema "confused deputy" tra servizi.

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

Ora hai creato un IAM ruolo che consente di AWS Transfer Family chiamare AWS i servizi per tuo conto. Hai allegato al ruolo la IAM politica 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 politica 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 una console URL, 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 impostare un ruolo 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 APIriferimento.

  • Se il tuo bucket Amazon S3 è crittografato utilizzando AWS Key Management Service (AWS KMS), devi specificare autorizzazioni aggiuntive nella tua policy. Per informazioni dettagliate, consultare 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 invece imposti quella di un utente HomeDirectory senza la barra finale, dovresti includerla come parte della tua politica.

Nella politica di esempio precedente, nota 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 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 principale (/) in modo che possa essere utilizzata come parte di un Amazon Resource Name (ARN) di S3 in un'Resourceistruzione.

Nota

Se utilizzi directory logiche, ovvero quelle dell'utente, LOGICAL questi parametri di homeDirectoryType policy (HomeBucket, HomeDirectory e) non sono supportati. 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:

  • Replace (Sostituisci) DOC-EXAMPLE-BUCKET con il nome del tuo bucket Amazon S3.

  • Le PutObjectACL dichiarazioni GetObjectACL e 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 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-suspending 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 EFS file system Amazon

Nota

Oltre alla politica, devi anche assicurarti che le autorizzazioni relative ai POSIX file garantiscano l'accesso appropriato. Per ulteriori informazioni, consulta Lavorare con utenti, gruppi e autorizzazioni a livello di Network File System (NFS) nella Amazon Elastic File System User Guide.

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

Nota

Negli esempi seguenti, sostituisci 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 (AmazonEFS).

{ "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 politica di esempio concede all'utente l'accesso ai file system del tuo EFS file system Amazon.

{ "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" } ] }