翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SFTPコネクタを作成する
この手順では、 コンソールまたは を使用して AWS Transfer Family SFTP コネクタを作成する方法について説明します AWS CLI。
- Console
-
SFTPコネクタを作成するには
-
https://console.aws.amazon.com/transfer/
で AWS Transfer Family コンソールを開きます。 -
左側のナビゲーションペインで、SFTP コネクタを選択し、SFTP コネクタの作成を選択します。
-
[コネクタ構成] セクションで、次の情報を入力します。
-
[URL] には、リモート SFTP サーバーの URL を入力します。この URL は
sftp://
、例えば次のような形式にする必要があります。partner-SFTP-server-url
sftp://AnyCompany.com
注記
オプションで、URL にポート番号を指定できます。形式は
sftp://
です。デフォルトのポート番号 (ポートが指定されていない場合) はポート 22 です。partner-SFTP-server-url
:port-number
-
アクセスロールで、使用する (IAM) ロールの Amazon リソースネーム AWS Identity and Access Management (ARN) を選択します。
-
StartFileTransfer
リクエストで使用されるファイルロケーションの親ディレクトリに対して、このロールが読み取りと書き込みのアクセスを提供することを確認します。 -
secretsmanager:GetSecretValue
このロールがシークレットへのアクセス許可を提供していることを確認してください。注記
ポリシーでは、シークレットの ARN を指定する必要があります。ARN にはシークレット名が含まれていますが、6 つのランダムな英数字で名前を追加します。シークレットの ARN の形式は次のとおりです。
arn:aws:secretsmanager:
region
:account-id
:secret:aws/transfer/SecretName-6RandomCharacters
-
「このロールに信頼関係が含まれていることを確認する」ことで、ユーザーの転送要求に対応する際に、コネクタがリソースにアクセスできません。信頼関係の確立の詳細については、信頼関係を確立するには を参照してください。
次の例では、Amazon S3
3 の amzn-s3-demo-bucket
および Secrets Manager に保存されている指定されたシークレットにアクセスするために必要なアクセス許可を付与します。{ "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:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:
region
:account-id
:secret:aws/transfer/SecretName-6RandomCharacters
" } ] }注記
アクセス ロールの場合、この例では 1 つのシークレットへのアクセスを許可します。ただし、ワイルドカード文字を使用すると、複数のユーザーとシークレットに対して同じ IAM ロールを再利用する場合に作業を節約できます。例えば、次のリソース ステートメントは、
aws/transfer
で始まる名前を持つすべてのシークレットに対するアクセス許可を付与します。"Resource": "arn:aws:secretsmanager:
region
:account-id
:secret:aws/transfer/*"SFTP 認証情報を含むシークレットを別の AWS アカウントに保存することもできます。クロスアカウントシークレットアクセスの有効化の詳細については、「別のアカウントのユーザーの AWS Secrets Manager シークレットへのアクセス許可」を参照してください。
-
-
(オプション) [Logging ロールでは]、CloudWatch ログにイベントをプッシュするために使用するコネクタの IAM ロールを選択します。次のポリシー例では、SFTP コネクタのイベントをログに記録するために必要なアクセス許可を一覧表示します。
{ "Version": "2012-10-17", "Statement": [{ "Sid": "SFTPConnectorPermissions", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/transfer/*" ] }] }
-
-
「SFTPの設定」セクションで、以下の情報を入力する:
-
[コネクタ認証情報については]、ドロップダウンリストから SFTP AWS Secrets Manager ユーザーのプライベートキーまたはパスワードを含むシークレットの名前を選択します。シークレットを作成し、特定の方法で保存する必要があります。詳細については、「Secrets Manager に SFTP コネクタの認証情報を保存する 」を参照してください。
-
(オプション) )
TrustedHostKeys
パラメータを空のままにしてコネクタを作成するオプションがあります。ただし、コネクタの設定でこのパラメータを指定するまで、コネクタはリモートサーバーでファイルを転送できません。コネクタの作成時に信頼されたホストキー (複数可) を入力するか、後でTestConnection
コンソールアクションまたは API コマンドによって返されるホストキー情報を使用してコネクタを更新できます。つまり、信頼されたホストキーのテキストボックスでは、次のいずれかを実行できます。-
コネクタの作成時に信頼されたホストキー (複数可) を指定します。外部サーバーを識別するために使用されるホストキーのパブリック部分を貼り付けます。[信頼できるホストキーを追加] を選択してキーを追加することで、複数のキーを追加できます。SFTP サーバーに対して
ssh-keyscan
コマンドを使用して、必要なキーを取得できます。Transfer Family がサポートするトラステッドホストキーの形式とタイプの詳細については、を参照してください「SFTPConnectorConfig」。 -
コネクタを作成するときは、信頼されたホストキー (複数可) テキストボックスを空のままにし、後でこの情報を使用してコネクタを更新します。コネクタの作成時にホストキー情報がない場合は、現時点ではこのパラメータを空のままにして、コネクタの作成に進むことができます。コネクタを作成したら、新しいコネクタの ID を使用して、 AWS CLI またはコネクタの詳細ページで
TestConnection
コマンドを実行します。成功すると、TestConnection
は必要なホストキー情報を返します。その後、コンソールを使用して (またはUpdateConnector
AWS CLI コマンドを実行して) コネクタを編集し、 の実行時に返されたホストキー情報を追加できますTestConnection
。
重要
を実行してリモートサーバーのホストキーを取得する場合は
TestConnection
、返されるキーに対してout-of-band検証を実行してください。新しいキーを信頼済みとして受け入れるか、接続先のリモート SFTP サーバーの所有者から受け取った既知のフィンガープリントを使用して、提示されたフィンガープリントを検証する必要があります。
-
-
(オプション) 最大同時接続については、ドロップダウンリストから、コネクタがリモートサーバーに作成する同時接続の数を選択します。コンソールのデフォルト選択は 5 です。
この設定では、コネクタがリモートサーバーと同時に確立できるアクティブな接続の数を指定します。同時接続を作成すると、並列オペレーションを有効にしてコネクタのパフォーマンスを向上させることができます。
-
-
暗号化アルゴリズムオプションセクションで、セキュリティポリシーフィールドのドロップダウンリストからセキュリティポリシーを選択します。セキュリティポリシーを使用すると、コネクタがサポートする暗号化アルゴリズムを選択できます。使用可能なセキュリティポリシーとアルゴリズムの詳細については、「」を参照してくださいAWS Transfer Family SFTP コネクタのセキュリティポリシー。
-
(オプション)[Tags] セクションの[Key] と[Value] に、1 つ以上のタグをキーと値のペアとして入力します。
-
すべての設定を確認したら、SFTP コネクタの作成を選択して SFTP コネクタを作成します。コネクタが正常に作成されると、割り当てられた静的 IP アドレスのリストと接続のテストボタンが画面に表示されます。ボタンを使用して、新しいコネクタの設定をテストします。
新しい SFTP [コネクタの] ID がリストに追加されたコネクタページが表示されます。コネクタの詳細を表示するには、SFTP コネクタの詳細を表示します。 を参照してください。
-
- CLI
-
コネクタを作成するには、「create-connector」コマンドを使用します。このコマンドを使用して SFTP コネクタを作成するには、次の情報を指定する必要があります。
-
リモート SFTP サーバーの URL。この URL は
sftp://
、例えば次のような形式にする必要があります。partner-SFTP-server-url
sftp://AnyCompany.com
-
アクセスロール 使用する AWS Identity and Access Management (IAM)ロールの Amazon リソースネーム(ARN)を選択します。
-
StartFileTransfer
リクエストで使用されるファイルロケーションの親ディレクトリに対して、このロールが読み取りと書き込みのアクセスを提供することを確認します。 -
secretsmanager:GetSecretValue
このロールがシークレットへのアクセス許可を提供していることを確認してください。注記
ポリシーでは、シークレットの ARN を指定する必要があります。ARN にはシークレット名が含まれていますが、6 つのランダムな英数字で名前を追加します。シークレットの ARN の形式は次のとおりです。
arn:aws:secretsmanager:
region
:account-id
:secret:aws/transfer/SecretName-6RandomCharacters
-
「このロールに信頼関係が含まれていることを確認する」ことで、ユーザーの転送要求に対応する際に、コネクタがリソースにアクセスできません。信頼関係の確立の詳細については、信頼関係を確立するには を参照してください。
次の例では、Amazon S3
3 の amzn-s3-demo-bucket
および Secrets Manager に保存されている指定されたシークレットにアクセスするために必要なアクセス許可を付与します。{ "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:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:
region
:account-id
:secret:aws/transfer/SecretName-6RandomCharacters
" } ] }注記
アクセス ロールの場合、この例では 1 つのシークレットへのアクセスを許可します。ただし、ワイルドカード文字を使用すると、複数のユーザーとシークレットに対して同じ IAM ロールを再利用する場合に作業を節約できます。例えば、次のリソース ステートメントは、
aws/transfer
で始まる名前を持つすべてのシークレットに対するアクセス許可を付与します。"Resource": "arn:aws:secretsmanager:
region
:account-id
:secret:aws/transfer/*"SFTP 認証情報を含むシークレットを別の AWS アカウントに保存することもできます。クロスアカウントシークレットアクセスの有効化の詳細については、「別のアカウントのユーザーの AWS Secrets Manager シークレットへのアクセス許可」を参照してください。
-
-
(オプション) イベントを CloudWatch ログにプッシュするために使用するコネクタの IAM ロールを選択します。次のポリシー例では、SFTP コネクタのイベントをログに記録するために必要なアクセス許可を一覧表示します。
{ "Version": "2012-10-17", "Statement": [{ "Sid": "SFTPConnectorPermissions", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/transfer/*" ] }] }
-
次の SFTP 構成情報を入力します。
-
SFTP ユーザーのプライベートキーまたはパスワード AWS Secrets Manager を含む のシークレットの ARN。
-
外部サーバーを識別するために使用されるホストキーの公開部分。必要に応じて、複数の信頼できるホスト キーを指定できます。
SFTP 情報を提供する最も簡単な方法は、SFTP 情報をファイルに保存することです。例えば、
testSFTPConfig.json
次のサンプルテキストをという名前のファイルにコピーします。// Listing for testSFTPConfig.json { "UserSecretId": "arn:aws::secretsmanager:
us-east-2
:123456789012
:secret:aws/transfer/example-username-key
", "TrustedHostKeys": [ "sftp.example.com ssh-rsa AAAAbbbb...EEEE=
" ] } -
-
コネクタのセキュリティポリシーを指定し、セキュリティポリシー名を入力します。
注記
SecretId
は、ARN 全体またはシークレットの名前 (前のリストのexample-username-key
) のいずれかになります。その後、次のコマンドを実行してコネクタを作成します。
aws transfer create-connector --url "sftp://
partner-SFTP-server-url
" \ --access-roleyour-IAM-role-for-bucket-access
\ --logging-role arn:aws:iam::your-account-id
:role/service-role/AWSTransferLoggingAccess \ --sftp-config file:///path/to
/testSFTPConfig.json --security-policy-namesecurity-policy-name
--maximum-concurrent-connectionsinteger-from-1-to-5
-