Salta al contenuto

Come posso configurare il mio server Transfer Family per utilizzare un file system di Amazon EFS presente in un altro account AWS?

3 minuti di lettura
0

Desidero che il server AWS Transfer Family nel mio account AWS acceda a un file system di Amazon Elastic File System (Amazon EFS) in un altro account. Desidero inoltre configurare il mio server Transfer Family con accesso multi-account al file system di Amazon EFS.

Risoluzione

Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori relativi ad AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Per configurare il server Transfer Family, crea un ruolo AWS Identity and Access Management (AWS IAM) nell'account A con accesso al file system nell'account B. Quindi, crea un utente del server Transfer Family configurato con il ruolo IAM nell'account A. Verifica che l'utente del server Transfer Family nell'account A possa accedere al file system nell'account B.

Nota: la console AWS Transfer Family mostra solo il file system di Amazon EFS presente nello stesso account. Per utilizzare il server Transfer Family con un file system che si trova in un altro account, utilizza AWS CLI o un AWS SDK.

Crea un ruolo IAM nell'account A con accesso al file system

Crea un ruolo IAM per gli utenti del server. Per la policy IAM del ruolo, utilizza la seguente istruzione di policy:

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

Aggiungi una policy nel file system per l'account B che autorizzi il ruolo IAM dall'account A:

{  
  "Sid": "EFS-TransferFamily",  
  "Effect": "Allow",  
  "Principal": {  
    "AWS": "arn:aws:iam::AccounA-id:role/RoleName"  
  },  
  "Action": [  
    "elasticfilesystem:ClientRootAccess",  
    "elasticfilesystem:ClientWrite",  
    "elasticfilesystem:ClientMount"  
  ],  
  "Resource": "arn:aws:elasticfilesystem:region:accountB-id:file-system/file-system-id"  
}

Crea un utente del server Transfer Family configurato con il ruolo IAM nell'account A

Esegui questo comando AWS CLI create-user per creare un utente Transfer Family:

aws transfer create-user --user-name "sftp" --server-id "SERVER-ID" --role "arn:aws:iam::accountA-id:role/RoleName" --home-directory "/file-system-id/username"

Il comando restituisce l'ID del server e il nome utente.

Esempio di output:

{  
  "ServerId":  "MY_SERVER_ID",  
  "UserName":  "MY_SERVER_USER_NAME"  
}

Verifica che l'utente del server Transfer Family nell'account A possa accedere al bucket nell'account B

Completa i seguenti passaggi:

  1. Connettiti al server come l'utente che hai creato. Puoi eseguire questo comando OpenSSH sftp per connetterti:

    sftp -i myserveruser MY_SERVER_USER_NAME@MY_SERVER_ID.server.transfer.us-east-1.amazonaws.com
  2. Elenca la home directory del bucket. Se utilizzi OpenSSH, esegui il comando ls:

    ls

Se il comando restituisce la home directory, l'utente del server ha accesso multi-account al bucket.

Informazioni correlate

Crea un server compatibile con SFTP

Creazione di policy del file system

Come posso configurare il mio server AWS Transfer Family per utilizzare un bucket Amazon S3 che si trova in un altro account AWS?

Configurazione dell'accesso multi-account per Transfer Family

AWS UFFICIALEAggiornata 7 mesi fa