You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何限制进程可见的FSxN文件系统?授权调用DescribeFileSystems报错

问题:限制EC2仅查看特定FSx文件系统时出现权限错误

我尝试限制某进程仅能查看特定FSx文件系统,已为EC2实例附加包含如下语句的IAM角色:

"Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "fsx:Describe*",
                "fsx:List*",
                "fsx:UpdateFileSystem"
            ],
            "Resource": [
                "arn:aws:fsx:us-west-2:75xxxxxxx648:file-system/fs-0e8d9xxxxxxxef3b",
                "arn:aws:fsx:us-west-2:75xxxxxxx648:file-system/fs-07bcxxxxxxxx5e43"
            ]
        }
]

但调用aws fsx describe-file-systems时出现权限拒绝错误:

ubuntu@ip-10-129-10-194:~$ aws fsx describe-file-systems --region=us-west-2
 
An error occurred (AccessDeniedException) when calling the DescribeFileSystems operation: User: arn:aws:sts::75xxxxxxx648:assumed-role/Cloud-Manager-Operator-399y9hM/i-00d9xxxxxxf16 is not authorized to perform: fsx:DescribeFileSystems on resource: arn:aws:fsx:us-west-2:75xxxxxxx648:file-system/* because no identity-based policy allows the fsx:DescribeFileSystems action

即使指定了角色中已授权的FSx文件系统ID,仍然报错:

ubuntu@ip-10-129-10-194:~$ aws fsx describe-file-systems --region=us-west-2 --file-system-ids fs-07bxxxxxx5e43
 
An error occurred (AccessDeniedException) when calling the DescribeFileSystems operation: User: arn:aws:sts::75xxxxxxx648:assumed-role/Cloud-Manager-Operator-399y9hM/i-00d9bxxxxxff16 is not authorized to perform: fsx:DescribeFileSystems on resource: arn:aws:fsx:us-west-2:75xxxxxxx648:file-system/* because no identity-based policy allows the fsx:DescribeFileSystems action

需求:如何让AWS自动忽略无权限的文件系统,只返回有权限访问的结果?


原因分析

  • 当调用DescribeFileSystems不指定具体文件系统ID时,AWS会尝试访问所有文件系统资源(arn:aws:fsx:区域:账号:file-system/*),而现有策略仅授权特定资源,因此触发权限拒绝。
  • 即使指定文件系统ID,部分场景下AWS仍会先校验对*资源的权限,导致报错。

解决办法

方案1:添加带条件限制的全局Describe权限

修改IAM策略,允许fsx:DescribeFileSystems对所有资源的访问,但通过条件限制仅能查看指定文件系统:

"Statement": [
    {
        "Sid": "AllowDescribeSpecificFSx",
        "Effect": "Allow",
        "Action": "fsx:DescribeFileSystems",
        "Resource": "*",
        "Condition": {
            "ForAllValues:StringEquals": {
                "fsx:FileSystemId": ["fs-0e8d9xxxxxxxef3b", "fs-07bcxxxxxxxx5e43"]
            }
        }
    },
    {
        "Sid": "VisualEditor0",
        "Effect": "Allow",
        "Action": [
            "fsx:Describe*",
            "fsx:List*",
            "fsx:UpdateFileSystem"
        ],
        "Resource": [
            "arn:aws:fsx:us-west-2:75xxxxxxx648:file-system/fs-0e8d9xxxxxxxef3b",
            "arn:aws:fsx:us-west-2:75xxxxxxx648:file-system/fs-07bcxxxxxxxx5e43"
        ]
    }
]

此配置下,调用describe-file-systems时AWS会自动过滤无权限的文件系统,仅返回已授权的结果。

方案2:调用命令时显式指定所有有权限的文件系统ID

每次调用命令时,直接传入所有已授权的文件系统ID:

aws fsx describe-file-systems --region=us-west-2 --file-system-ids fs-0e8d9xxxxxxxef3b fs-07bcxxxxxxxx5e43

该方式无需修改IAM策略,但需要确保每次调用都指定正确的ID,适合脚本化场景。

方案3:单独拆分DescribeFileSystems的资源级权限

将fsx:DescribeFileSystems单独拆分,明确指定授权的资源:

"Statement": [
    {
        "Sid": "AllowDescribeSpecificFSx",
        "Effect": "Allow",
        "Action": "fsx:DescribeFileSystems",
        "Resource": [
            "arn:aws:fsx:us-west-2:75xxxxxxx648:file-system/fs-0e8d9xxxxxxxef3b",
            "arn:aws:fsx:us-west-2:75xxxxxxx648:file-system/fs-07bcxxxxxxxx5e43"
        ]
    },
    {
        "Sid": "VisualEditor0",
        "Effect": "Allow",
        "Action": [
            "fsx:Describe*",
            "fsx:List*",
            "fsx:UpdateFileSystem"
        ],
        "Resource": [
            "arn:aws:fsx:us-west-2:75xxxxxxx648:file-system/fs-0e8d9xxxxxxxef3b",
            "arn:aws:fsx:us-west-2:75xxxxxxx648:file-system/fs-07bcxxxxxxxx5e43"
        ]
    }
]

注意:这种写法的有效性取决于FSx的权限模型,若方案1可行,优先选择方案1。


内容的提问来源于stack exchange,提问作者kcantrel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 12:02:08