ablog

不器用で落着きのない技術者のメモ

Azure Data Factory から AWS Transfer Faimily の SFTP に公開鍵認証で接続する

AWS Transfer Family の設定

IAM ロールの作成
  • 以下の IAM ポリシーを作成して、IAM ロールにアタッチする。
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowListingOfUserFolder",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::<S3 バケット名>"
            ]
        },
        {
            "Sid": "HomeDirObjectAccess",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObjectVersion",
                "s3:GetObjectACL",
                "s3:PutObjectACL"
            ],
            "Resource": "arn:aws:s3:::<S3 バケット名>/*"
        }
    ]
}
  • 信頼ポリシー
{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Effect": "Allow",
			"Principal": {
				"Service": "transfer.amazonaws.com"
			},
			"Action": "sts:AssumeRole"
		}
	]
}
S3 バケットの作成
  • バケット名: azure-aws-sync
    • オブジェクト所有者: ACL無効
    • パブリックアクセスをすべて ブロック: チェック
    • バケットのバージョニング: 有効
    • 暗号化タイプ: SSE-S3
    • バケットキー: 有効にする
AWS Transfer Family の設定
  • サーバーを作成
    • プロトコル: SFTP
    • ID プロバイダーのタイプ: サービスマネージド
    • エンドポイントの設定
      • エンドポイントのタイプ: パブリックアクセス可能
      • カスタムホスト名: なし
    • ドメイン: Amazon S3
    • ログ記録
      • ロググループ: 新しいロググループを作成
    • 暗号化アルゴリズムのオプション: TransferSecurityPolicy-2022-03
  • ユーザーを作成
$ ssh-keygen -f ~/.ssh/ssh-key-sftp -t rsa -m PEM
Azure Data Factory の設定
  • Azure Data Factory のデータ転送先の設定