

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# PutFileSystemPolicy
<a name="API_PutFileSystemPolicy"></a>

将 Amazon EFS `FileSystemPolicy` 应用于 Amazon EFS 文件系统。文件系统策略是一种基于 IAM 资源的策略，可以包含多个策略声明。一个文件系统始终只有一个文件系统策略，该策略可以是默认策略，也可以是使用此 API 操作设置或更新的显式策略。EFS 文件系统策略有 2 万个字符的限制。设置显式策略后，它会覆盖默认策略。有关默认文件系统策略的更多信息，请参阅[默认 EFS 文件系统策略](https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html#default-filesystempolicy)。

**注意**  
EFS 文件系统策略有 2 万个字符的限制。

此操作需要 `elasticfilesystem:PutFileSystemPolicy` 操作的权限。

## 请求语法
<a name="API_PutFileSystemPolicy_RequestSyntax"></a>

```
PUT /2015-02-01/file-systems/FileSystemId/policy HTTP/1.1
Content-type: application/json

{
   "BypassPolicyLockoutSafetyCheck": boolean,
   "Policy": "string"
}
```

## URI 请求参数
<a name="API_PutFileSystemPolicy_RequestParameters"></a>

请求使用以下 URI 参数。

 ** [FileSystemId](#API_PutFileSystemPolicy_RequestSyntax) **   <a name="efs-PutFileSystemPolicy-request-uri-FileSystemId"></a>
要为其创建或更新 `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})$`  
必需：是

## 请求体
<a name="API_PutFileSystemPolicy_RequestBody"></a>

请求接受采用 JSON 格式的以下数据。

 ** [BypassPolicyLockoutSafetyCheck](#API_PutFileSystemPolicy_RequestSyntax) **   <a name="efs-PutFileSystemPolicy-request-BypassPolicyLockoutSafetyCheck"></a>
（可选）指定是否绕过 `FileSystemPolicy` 锁定安全检查的布尔值。锁定安全检查确定请求中的策略是否将锁定或阻止发出请求的 IAM 主体在此文件系统上发出未来的 `PutFileSystemPolicy` 请求。仅当您打算阻止发出请求的 IAM 主体在此文件系统上发出后续 `PutFileSystemPolicy` 请求时才将 `BypassPolicyLockoutSafetyCheck` 设置为 `True`。默认值为 `False`。  
类型：布尔值  
必需：否

 ** [Policy](#API_PutFileSystemPolicy_RequestSyntax) **   <a name="efs-PutFileSystemPolicy-request-Policy"></a>
正在创建的 `FileSystemPolicy`。接受 JSON 格式的策略定义。EFS 文件系统策略有 2 万个字符的限制。要详细了解构成文件系统策略的元素，请参阅 [Amazon EFS 中基于资源的策略](https://docs.aws.amazon.com/efs/latest/ug/security_iam_service-with-iam.html#security_iam_service-with-iam-resource-based-policies)。  
类型：字符串  
长度限制：最小长度为 1。最大长度为 20000。  
模式：`[\s\S]+`  
必需：是

## 响应语法
<a name="API_PutFileSystemPolicy_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "FileSystemId": "string",
   "Policy": "string"
}
```

## 响应元素
<a name="API_PutFileSystemPolicy_ResponseElements"></a>

如果此操作成功，则该服务将会发送回 HTTP 200 响应。

服务以 JSON 格式返回以下数据。

 ** [FileSystemId](#API_PutFileSystemPolicy_ResponseSyntax) **   <a name="efs-PutFileSystemPolicy-response-FileSystemId"></a>
指定 `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](#API_PutFileSystemPolicy_ResponseSyntax) **   <a name="efs-PutFileSystemPolicy-response-Policy"></a>
EFS 文件系统的 JSON 格式的 `FileSystemPolicy`。  
类型：字符串  
长度限制：最小长度为 1。最大长度为 20000。  
模式：`[\s\S]+`

## 错误
<a name="API_PutFileSystemPolicy_Errors"></a>

 ** BadRequest **   
如果请求格式错误或包含错误（例如参数值无效或缺少必填参数），则返回此内容。    
 ** ErrorCode **   
错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。  
 ** Message **   
错误消息包含错误条件的常规描述 (英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件，简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。
HTTP 状态代码：400

 ** FileSystemNotFound **   
如果请求者的指定`FileSystemId`值不存在，则返回。 AWS 账户    
 ** ErrorCode **   
错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。  
 ** Message **   
错误消息包含错误条件的常规描述 (英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件，简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。
HTTP 状态代码：404

 ** IncorrectFileSystemLifeCycleState **   
如果文件系统的生命周期状态不是“可用”，则返回此内容。    
 ** ErrorCode **   
错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。  
 ** Message **   
错误消息包含错误条件的常规描述 (英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件，简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。
HTTP 状态代码：409

 ** InternalServerError **   
如果服务器端发生错误，则返回此内容。    
 ** ErrorCode **   
错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。  
 ** Message **   
错误消息包含错误条件的常规描述 (英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件，简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。
HTTP 状态代码：500

 ** InvalidPolicyException **   
如果 `FileSystemPolicy` 格式错误或包含错误（例如参数值无效或缺少必填参数），则返回。如果出现策略锁定安全检查错误，则返回。    
 ** ErrorCode **   
错误代码是用于唯一标识错误条件的字符串。这意味着按类型检测和处理错误的程序将读取和理解错误代码。  
 ** Message **   
错误消息包含错误条件的常规描述 (英语)。它主要面向用户受众。如果用户遇到不知如何处理或不愿处理的错误条件，简单的程序将直接向最终用户显示消息。支持更详尽的错误处理和适当国际化的复杂程序更容易忽略错误消息。
HTTP 状态代码：400

## 示例
<a name="API_PutFileSystemPolicy_Examples"></a>

### 创建 EFS FileSystemPolicy
<a name="API_PutFileSystemPolicy_Example_1"></a>

以下请求创建一个`FileSystemPolicy`，允许所有 AWS 委托人以读写权限挂载指定的 EFS 文件系统。

#### 示例请求
<a name="API_PutFileSystemPolicy_Example_1_Request"></a>

```
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": ["*"]
            },
        }
    ]
}
```

#### 示例响应
<a name="API_PutFileSystemPolicy_Example_1_Response"></a>

```
{
    "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"
        }
    ]
}
```

## 另请参阅
<a name="API_PutFileSystemPolicy_SeeAlso"></a>

有关以特定语言之一使用此 API 的更多信息 AWS SDKs，请参阅以下内容：
+  [AWS 命令行界面 V2](https://docs.aws.amazon.com/goto/cli2/elasticfilesystem-2015-02-01/PutFileSystemPolicy) 
+  [AWS 适用于.NET 的 SDK V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/elasticfilesystem-2015-02-01/PutFileSystemPolicy) 
+  [AWS 适用于 C\$1\$1 的 SDK](https://docs.aws.amazon.com/goto/SdkForCpp/elasticfilesystem-2015-02-01/PutFileSystemPolicy) 
+  [AWS 适用于 Go v2 的 SDK](https://docs.aws.amazon.com/goto/SdkForGoV2/elasticfilesystem-2015-02-01/PutFileSystemPolicy) 
+  [AWS 适用于 Java 的 SDK V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/elasticfilesystem-2015-02-01/PutFileSystemPolicy) 
+  [AWS JavaScript V3 版软件开发工具包](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/elasticfilesystem-2015-02-01/PutFileSystemPolicy) 
+  [AWS 适用于 Kotlin 的 SDK](https://docs.aws.amazon.com/goto/SdkForKotlin/elasticfilesystem-2015-02-01/PutFileSystemPolicy) 
+  [AWS 适用于 PHP 的 SDK V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/elasticfilesystem-2015-02-01/PutFileSystemPolicy) 
+  [AWS Python 软件开发工具包](https://docs.aws.amazon.com/goto/boto3/elasticfilesystem-2015-02-01/PutFileSystemPolicy) 
+  [AWS 适用于 Ruby V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForRubyV3/elasticfilesystem-2015-02-01/PutFileSystemPolicy) 