AWS Transfer Family编辑用户详情失败:${transfer:Home*}变量使用问题
解决AWS Transfer Family会话策略报错:
Failed to edit user details (${transfer:Home*} variable used in policy for a user with a logical home directory) 错误原因
当你给AWS Transfer Family用户配置了逻辑主目录(Logical Home Directory)时,会话策略里不能使用${transfer:HomeDirectory}、${transfer:HomeBucket}这类transfer:Home*变量。逻辑主目录是靠IAM角色策略动态控制访问路径的,和依赖固定路径的transfer:Home*变量机制不兼容,两者无法同时使用。
解决方案
方案1:保留逻辑主目录,修改会话策略
删掉所有${transfer:Home*}变量,换成具体的S3桶和路径,或者直接通过IAM角色的策略来限定用户的访问范围。
比如原来的错误策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::${transfer:HomeBucket}", "Condition": { "StringLike": { "s3:prefix": "${transfer:HomeDirectory}/*" } } } ] }
可修改为对应逻辑主目录的具体桶和路径(假设逻辑主目录映射为s3://my-bucket/user1/):
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::my-bucket", "Condition": { "StringLike": { "s3:prefix": "user1/*" } } } ] }
方案2:使用transfer:Home*变量,切换主目录类型
把用户的主目录类型从逻辑主目录切换为基于路径的主目录(Path-based Home Directory),配置好具体的S3桶和路径后,就能正常在会话策略里使用transfer:Home*变量了。
内容的提问来源于stack exchange,提问作者Ajay
相关产品推荐
相关产品推荐

