

# 为 Lambda 函数启用租户隔离
<a name="tenant-isolation-configure"></a>

要激活租户隔离模式，请创建新的 Lambda 函数。您无法对现有函数启用租户隔离。

**Topics**
+ [启用租户隔离（控制台）](#tenant-isolation-console)
+ [启用租户隔离（AWS CLI）](#tenant-isolation-cli)
+ [启用租户隔离（API）](#tenant-isolation-api)
+ [启用租户隔离（CloudFormation）](#tenant-isolation-cfn)

## 启用租户隔离（控制台）
<a name="tenant-isolation-console"></a>

**要使用控制台创建 Lambda 函数**

1. 打开 Lamba 控制台的 [Functions page](https://console.aws.amazon.com/lambda/home#/functions)（函数页面）。

1. 选择**创建函数**。

1. 选择**从头开始编写**。

1. 在**基本信息**窗格中，为**函数名称**输入 `image-analysis`。

1. 在**运行时**中，选择任何[支持的 Lambda 运行时](lambda-runtimes.md#runtimes-supported)。

1. 在其他配置下的**租户隔离模式**中，选择**启用**。

1. 检查您的设置，然后选择**创建函数**。

## 启用租户隔离（AWS CLI）
<a name="tenant-isolation-cli"></a>

**创建具有租户隔离功能的函数**

使用 CLI 创建新函数时，请将 `--tenancy-config '{"TenantIsolationMode": "PER_TENANT"}'` 选项添加到您的 [create-function](https://docs.aws.amazon.com/cli/latest/reference/lambda/create-function.html) 请求中。示例：

```
aws lambda create-function \
    --function-name {{image-analysis}} \
    --runtime {{nodejs24.x}} \
    --zip-file fileb://image-analysis-function.zip \
    --handler image-analysis-function.handler \
    --role {{arn:aws:iam:123456789012:role/execution-role}} \
    --tenancy-config '{"TenantIsolationMode": "PER_TENANT"}'
```

## 启用租户隔离（API）
<a name="tenant-isolation-api"></a>

**要使用 Lambda API 启用租户隔离**

1. 通过使用 [CreateFunction](https://docs.aws.amazon.com/lambda/latest/api/API_CreateFunction.html) API 操作并指定 `TenancyConfig` 参数，创建已启用租户隔离的新函数。

1. 通过使用 [GetFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_GetFunctionConfiguration.html) 操作确认已为该函数版本启用租户隔离。如果响应显示 `TenantIsolationMode` 为 `PER_TENANT`，则为该函数启用了租户隔离：

   ```
   "TenancyConfig": { 
           "TenantIsolationMode": "PER_TENANT"
        }
   ```

使用 [invoke](https://docs.aws.amazon.com/lambda/latest/api/API_Invoke.html) 操作调用相应函数版本。有关更多信息，请参阅 [调用具有租户隔离功能的 Lambda 函数](tenant-isolation-invoke.md)。

## 启用租户隔离（CloudFormation）
<a name="tenant-isolation-cfn"></a>

以下 CloudFormation 模板可创建启用租户隔离的新 Lambda 函数：

```
MyLambdaFunction:
    Type: AWS::Lambda::Function
    Properties:
      FunctionName: {{my-sample-python-lambda}}
      Runtime: {{python3.14}}
      Role: !GetAtt LambdaExecutionRole.Arn
      Handler: index.lambda_handler
      TenancyConfig:
        TenantIsolationMode: PER_TENANT
      Code:
        ZipFile: |
          import json

          def lambda_handler(event, context):
              return {
                  'statusCode': {{200}},
                  'body': json.dumps(f'Hello from Lambda! Tenant-ID: {context.tenant_id}')
              }
      Timeout: {{10}}
      MemorySize: {{128}}
```