PutFileSystemPolicy
Applies an Amazon EFS
FileSystemPolicy
to an Amazon EFS file system. A file system policy is an
IAM resource-based policy and can contain multiple policy statements. A file system always has
exactly one file system policy, which can be the default policy or an explicit policy set or
updated using this API operation. EFS file system policies have a 20,000 character
limit. When an explicit policy is set, it overrides the default policy. For more information
about the default file system policy, see
Default EFS file system policy.
Note
EFS file system policies have a 20,000 character limit.
This operation requires permissions for the elasticfilesystem:PutFileSystemPolicy
action.
Request Syntax
PUT /2015-02-01/file-systems/FileSystemId
/policy HTTP/1.1
Content-type: application/json
{
"BypassPolicyLockoutSafetyCheck": boolean
,
"Policy": "string
"
}
URI Request Parameters
The request uses the following URI parameters.
- FileSystemId
-
The ID of the EFS file system that you want to create or update the
FileSystemPolicy
for.Length Constraints: Maximum length of 128.
Pattern:
^(arn:aws[-a-z]*:elasticfilesystem:[0-9a-z-:]+:file-system/fs-[0-9a-f]{8,40}|fs-[0-9a-f]{8,40})$
Required: Yes
Request Body
The request accepts the following data in JSON format.
- BypassPolicyLockoutSafetyCheck
-
(Optional) A boolean that specifies whether or not to bypass the
FileSystemPolicy
lockout safety check. The lockout safety check determines whether the policy in the request will lock out, or prevent, the IAM principal that is making the request from making futurePutFileSystemPolicy
requests on this file system. SetBypassPolicyLockoutSafetyCheck
toTrue
only when you intend to prevent the IAM principal that is making the request from making subsequentPutFileSystemPolicy
requests on this file system. The default value isFalse
.Type: Boolean
Required: No
- Policy
-
The
FileSystemPolicy
that you're creating. Accepts a JSON formatted policy definition. EFS file system policies have a 20,000 character limit. To find out more about the elements that make up a file system policy, see Resource-based policies within Amazon EFS.Type: String
Length Constraints: Minimum length of 1. Maximum length of 20000.
Pattern:
[\s\S]+
Required: Yes
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"FileSystemId": "string",
"Policy": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- FileSystemId
-
Specifies the EFS file system to which the
FileSystemPolicy
applies.Type: String
Length Constraints: Maximum length of 128.
Pattern:
^(arn:aws[-a-z]*:elasticfilesystem:[0-9a-z-:]+:file-system/fs-[0-9a-f]{8,40}|fs-[0-9a-f]{8,40})$
- Policy
-
The JSON formatted
FileSystemPolicy
for the EFS file system.Type: String
Length Constraints: Minimum length of 1. Maximum length of 20000.
Pattern:
[\s\S]+
Errors
- BadRequest
-
Returned if the request is malformed or contains an error such as an invalid parameter value or a missing required parameter.
HTTP Status Code: 400
- FileSystemNotFound
-
Returned if the specified
FileSystemId
value doesn't exist in the requester's AWS account.HTTP Status Code: 404
- IncorrectFileSystemLifeCycleState
-
Returned if the file system's lifecycle state is not "available".
HTTP Status Code: 409
- InternalServerError
-
Returned if an error occurred on the server side.
HTTP Status Code: 500
- InvalidPolicyException
-
Returned if the
FileSystemPolicy
is malformed or contains an error such as a parameter value that is not valid or a missing required parameter. Returned in the case of a policy lockout safety check error.HTTP Status Code: 400
Examples
Create an EFS FileSystemPolicy
The following request creates a FileSystemPolicy
that allows all AWS principals to mount the specified EFS file system with read and
write permissions.
Sample Request
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": ["*"]
},
}
]
}
Sample Response
{
"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"
}
]
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: