

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

# 通过接口 VPC 终端节点连接到 MLflow 跟踪服务器
<a name="mlflow-interface-endpoint"></a>

 MLflow 跟踪服务器在由亚马逊 SageMaker 人工智能管理的亚马逊虚拟私有云中运行。您可以从自己的 VPC 中的终端节点连接到 MLflow 跟踪服务器。您向跟踪服务器发出的请求不会暴露在公共互联网上。有关将您的 VPC 连接到 SageMaker AI 的更多信息，请参阅[在您的 VPC 中连接到 SageMaker AI](interface-vpc-endpoint.md)。

**Topics**
+ [创建 VPC 终端节点](mlflow-interface-endpoint-create.md)
+ [为 A SageMaker I 创建 VPC 终端节点策略 MLflow](mlflow-private-link-policy.md)
+ [只允许从 VPC 内部访问](mlflow-private-link-restrict.md)

# 创建 VPC 终端节点
<a name="mlflow-interface-endpoint-create"></a>

您可以创建连接到 SageMaker AI 的接口终端节点 MLflow。有关说明，请参阅[创建接口端点](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint)。确保为 VPC 中要连接到 SageMaker AI MLflow 的所有子网创建接口终端节点。

创建接口端点时，确保端点上的安全组允许 HTTPS 流量的载入和导出访问。有关更多信息，请参阅[使用 VPC 端点控制对服务的访问](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html#vpc-endpoints-security-groups)。

**注意**  
除了创建连接到 SageMaker AI 的接口终端节点外 MLflow，还要创建连接到 Amazon SageMaker API 的接口终端节点。当用户调用[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedMlflowTrackingServerUrl.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedMlflowTrackingServerUrl.html)获取连接到 SageMaker AI 的 URL 时 MLflow，该调用将通过用于连接 SageMaker API 的接口端点。

创建接口端点时，请指定 **aws.sagemaker.*AWS 区域*.experiments** 作为服务名称。创建接口端点后，请为端点启用私有 DNS。当您使用 P SageMaker ython SDK MLflow 从 VPC 内连接到 SageMaker AI 时，您将通过接口终端节点而不是公共互联网进行连接。

在中 AWS 管理控制台，您可以使用以下过程来创建终端节点。

**创建端点**

1. 导航至 [Amazon Virtual Private Cloud 管理控制台](https://console.aws.amazon.com/vpcconsole)。

1. 导航至**端点**。

1. 选择**创建端点**。

1. （可选）对于**名称（标记）**，指定端点的名称。

1. 在**服务**下的搜索栏中，指定**实验**。

1. 选择要创建的端点。

1. 对于 **VPC**，请指定 VPC 的名称。

1. 选择**创建端点**。

# 为 A SageMaker I 创建 VPC 终端节点策略 MLflow
<a name="mlflow-private-link-policy"></a>

您可以将 Amazon VPC 终端节点策略附加到用于连接 SageMaker AI 的接口 VPC 终端节点 MLflow。终端节点策略控制对的访问 MLflow。您可以指定以下内容：
+ 可执行操作的主体。
+ 可执行的操作。
+ 可对其执行操作的资源。

有关更多信息，请参阅[使用 VPC 端点控制对服务的访问](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html)。

以下 VPC 终端节点策略示例指定允许所有有权访问该终端节点的用户访问您指定的 MLflow 跟踪服务器。禁止访问其他跟踪服务器。

```
{
    "Statement": [
        {
            "Action": "sagemaker-mlflow:*",
            "Effect": "Allow",
            "Principal": "*",
            "Resource": "arn:aws:sagemaker:AWS 区域:111122223333:mlflow-tracking-server/*"
        }
    ]
}
```

# 只允许从 VPC 内部访问
<a name="mlflow-private-link-restrict"></a>

即使您在 VPC 中设置了接口终端节点，VPC 之外的用户也可以通过互联网连接到 SageMaker AI MLflow 或通过互联网连接。

要仅允许访问从您的 VPC 内部建立的连接，请为此创建一个 AWS Identity and Access Management (IAM) 策略。将该策略添加到用于访问 SageMaker AI 的每个用户、群组或角色 MLflow。只有在使用 IAM 模式进行身份验证时才支持该功能，在 IAM Identity Center 模式下不支持该功能。以下示例演示了如何创建此类策略。

**重要**  
如果您应用类似于以下示例之一的 IAM 策略，则用户无法 MLflow 通过 SageMaker AI 控制台指定的 SageMaker APIs 访问 SageMaker AI。要访问 SageMaker AI MLflow，用户必须使用预签名 URL 或 SageMaker APIs直接调用。

**示例 1：只允许接口端点子网内的连接**

以下策略只允许连接到创建接口端点的子网中的调用方。

------
#### [ JSON ]

****  

```
{
    "Id": "mlflow-example-1",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "MlflowAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker-mlflow:*"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceVpce": "vpce-111bbaaa"
                }
            }
        }
    ]
}
```

------

**示例 2：只允许通过使用 `aws:sourceVpce` 的接口端点进行连接**

以下策略只允许通过 `aws:sourceVpce` 条件键指定的接口端点进行连接。例如，第一个接口端点可能允许通过 SageMaker AI 控制台进行访问。第二个接口端点可能允许通过 SageMaker API 进行访问。

------
#### [ JSON ]

****  

```
{
    "Id": "sagemaker-mlflow-example-2",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "MlflowAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker-mlflow:*"
            ],
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:sourceVpce": [
                        "vpce-111bbccc",
                        "vpce-111bbddd"
                    ]
                }
            }
        }
    ]
}
```

------

**示例 3：允许使用 `aws:SourceIp` 从 IP 地址进行连接**

以下策略只允许使用 `aws:SourceIp` 条件键从指定范围的 IP 地址进行连接。

------
#### [ JSON ]

****  

```
{
    "Id": "sagemaker-mlflow-example-3",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "MlflowAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker-mlflow:*"
            ],
            "Resource": "*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "192.0.2.0/24",
                        "203.0.113.0/24"
                    ]
                }
            }
        }
    ]
}
```

------

**示例 4：允许使用 `aws:VpcSourceIp` 通过接口端点从 IP 地址进行连接** 

如果您 MLflow 通过接口终端节点访问 SageMaker AI，则可以使用`aws:VpcSourceIp`条件键仅允许来自创建接口终端节点的子网中指定 IP 地址范围的连接，如以下策略所示：

------
#### [ JSON ]

****  

```
{
    "Id": "sagemaker-mlflow-example-4",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "MlflowAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker-mlflow:*"
            ],
            "Resource": "*",
            "Condition": {
                "IpAddress": {
                    "aws:VpcSourceIp": [
                        "192.0.2.0/24",
                        "203.0.113.0/24"
                    ]
                },
                "StringEquals": {
                    "aws:SourceVpc": "vpc-111bbaaa"
                }
            }
        }
    ]
}
```

------