本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
示例会话策略
管理员创建角色时,该角色通常包含涵盖多个用例或团队成员的广泛权限。如果管理员配置了控制台 URL,则他们可以使用会话策略减少生成的会话的权限。例如,如果您创建具有读/写访问权限的角色,则可以设置一个 URL,限制用户只能访问其主目录。
会话策略是当您以编程方式为角色或用户创建临时会话时作为参数传递的高级策略。会话策略对于锁定用户很有用,这样他们只能访问存储桶中对象前缀包含用户名的部分。会话策略权限是会话策略与基于资源的策略的交集以及会话策略与基于身份的策略的交集。

有关更多详细信息,请参阅 IAM 用户指南中的会话策略。
在中Amazon Transfer Family,仅当您向 Amazon S3 传输或从 Amazon S3 传输时才支持会话策略。
会话策略的最大长度是 2048 个字符。有关更多详细信息,请参阅 API 参考中CreateUser
操作的策略请求参数。
以下示例策略是仅限制用户访问其home
目录的会话策略。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::${transfer:HomeBucket}" ], "Condition": { "StringLike": { "s3:prefix": [ "${transfer:HomeFolder}/*", "${transfer:HomeFolder}" ] } } }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::${transfer:HomeDirectory}*" } ] }
在上述策略中,假设用户的主目录设置为包含尾部斜杠,以表示它是一个目录。另一方面,如果您将用户设置为HomeDirectory
没有尾部斜杠,则应将其作为政策的一部分。
在前面的示例策略中,记下transfer:HomeFolder
transfer:HomeBucket
、和transfer:HomeDirectory
策略参数的使用。这些参数是为为HomeDirectory
用户配置的设置的,如HomeDirectory和中所述实现 API Gateway 方法。这些参数具有以下定义:
该
transfer:HomeBucket
参数由的第一个分量替换HomeDirectory
。该
transfer:HomeFolder
参数将替换为HomeDirectory
参数的其余部分。该
transfer:HomeDirectory
参数删除了前导正斜杠 (/
),因此可以在Resource
语句中将其用作 S3 Amazon 资源名称 (ARN) 的一部分。
如果您使用的是逻辑目录(即用户的逻辑目录LOGICAL
),homeDirectoryType
则不支持这些策略参数(HomeBucket
HomeDirectory
、和HomeFolder
)。
例如,假设为 Transfanser FTransfer Family 用户配置的HomeDirectory
参数是/home/bob/amazon/stuff/
。
transfer:HomeBucket
设置为/home
。transfer:HomeFolder
设置为/bob/amazon/stuff/
。transfer:HomeDirectory
变成home/bob/amazon/stuff/
。
第一个"Sid"
允许用户列出从开始的所有目录/home/bob/amazon/stuff/
。
第二个"Sid"
限制了用户put
对同一路径的get
访问权限/home/bob/amazon/stuff/
。