PutFileSystemPolicy
将 Amazon EFS FileSystemPolicy
应用于 Amazon EFS 文件系统。文件系统策略是一种基于 IAM 资源的策略,可以包含多个策略声明。一个文件系统始终只有一个文件系统策略,该策略可以是默认策略,也可以是使用此 API 操作设置或更新的显式策略。EFS 文件系统策略有 2 万个字符的限制。设置显式策略后,它会覆盖默认策略。有关默认文件系统策略的更多信息,请参阅默认 EFS 文件系统策略。
注意
EFS 文件系统策略有 2 万个字符的限制。
此操作需要 elasticfilesystem:PutFileSystemPolicy
操作的权限。
请求语法
PUT /2015-02-01/file-systems/FileSystemId
/policy HTTP/1.1
Content-type: application/json
{
"BypassPolicyLockoutSafetyCheck": boolean
,
"Policy": "string
"
}
URI 请求参数
请求使用以下 URI 参数。
- FileSystemId
-
要为其创建或更新
FileSystemPolicy
的 EFS 文件系统 ID。长度限制:最大长度为 128。
模式:
^(arn:aws[-a-z]*:elasticfilesystem:[0-9a-z-:]+:file-system/fs-[0-9a-f]{8,40}|fs-[0-9a-f]{8,40})$
必需:是
请求体
请求接受采用 JSON 格式的以下数据。
- BypassPolicyLockoutSafetyCheck
-
(可选)指定是否绕过
FileSystemPolicy
锁定安全检查的布尔值。锁定安全检查确定请求中的策略是否将锁定或阻止发出请求的 IAM 主体在此文件系统上发出未来的PutFileSystemPolicy
请求。仅当您打算阻止发出请求的 IAM 主体在此文件系统上发出后续PutFileSystemPolicy
请求时才将BypassPolicyLockoutSafetyCheck
设置为True
。默认值为False
。类型:布尔值
必需:否
- Policy
-
正在创建的
FileSystemPolicy
。接受 JSON 格式的策略定义。EFS 文件系统策略有 2 万个字符的限制。要详细了解构成文件系统策略的元素,请参阅 Amazon EFS 中基于资源的策略。类型:字符串
长度限制:长度下限为 1。最大长度为 20000。
模式:
[\s\S]+
必需:是
响应语法
HTTP/1.1 200
Content-type: application/json
{
"FileSystemId": "string",
"Policy": "string"
}
响应元素
如果此操作成功,则该服务将会发送回 HTTP 200 响应。
服务以 JSON 格式返回以下数据。
- FileSystemId
-
指定
FileSystemPolicy
适用的 EFS 文件系统。类型:字符串
长度限制:最大长度为 128。
模式:
^(arn:aws[-a-z]*:elasticfilesystem:[0-9a-z-:]+:file-system/fs-[0-9a-f]{8,40}|fs-[0-9a-f]{8,40})$
- Policy
-
EFS 文件系统的 JSON 格式的
FileSystemPolicy
。类型:字符串
长度限制:长度下限为 1。最大长度为 20000。
模式:
[\s\S]+
错误
- BadRequest
-
如果请求格式错误或包含错误(例如参数值无效或缺少必填参数),则返回此内容。
HTTP 状态代码:400
- FileSystemNotFound
-
如果请求者的 Amazon Web Services 账户中不存在指定的
FileSystemId
值,则返回此内容。HTTP 状态代码:404
- IncorrectFileSystemLifeCycleState
-
如果文件系统的生命周期状态不是“可用”,则返回此内容。
HTTP 状态代码:409
- InternalServerError
-
如果服务器端发生错误,则返回此内容。
HTTP 状态代码:500
- InvalidPolicyException
-
如果
FileSystemPolicy
格式错误或包含错误(例如参数值无效或缺少必填参数),则返回。如果出现策略锁定安全检查错误,则返回。HTTP 状态代码:400
示例
创建 EFS FileSystemPolicy
以下请求创建一个 FileSystemPolicy
,它允许所有 Amazon 主体以读写权限挂载指定的 EFS 文件系统。
示例请求
PUT /2015-02-01/file-systems/fs-01234567/file-system-policy HTTP/1.1
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"elasticfilesystem:ClientMount",
"elasticfilesystem:ClientWrite"
],
"Principal": {
"AWS": ["*"]
},
}
]
}
示例响应
{
"Version": "2012-10-17",
"Id": "1",
"Statement": [
{
"Sid": "efs-statement-abcdef01-1111-bbbb-2222-111122224444",
"Effect": "Allow",
"Action": [
"elasticfilesystem:ClientMount",
"elasticfilesystem:ClientWrite"
],
"Principal": {
"AWS": ["*"]
},
"Resource":"arn:aws:elasticfilesystem:us-east-1:1111222233334444:file-system/fs-01234567"
}
]
}
另请参阅
有关在特定语言的 Amazon SDK 中使用此 API 的更多信息,请参阅以下内容: