

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

# 设置阶段构造示例
<a name="model-registry-staging-construct-set-up"></a>

要为您的 Amazon SageMaker 模型注册表设置阶段结构，管理员需要向目标角色授予相关权限。下文举例说明了如何为各种角色设置阶段构造。

**注意**  
Amazon SageMaker AI 域中的用户将能够查看该域中定义的所有阶段，但只能使用他们有权访问的阶段。

阶段由 `ModelLifeCycle` 参数定义并具有以下结构。管理员可设置权限，指定哪些角色可以访问哪些 `stage` 和 `stageStatus`。代入角色的用户可以使用相关的 `stage` 和 `stageStatus`，并包含他们自己的 `stageDescription`。

```
ModelLifeCycle {
    stage: String # Required (e.g., Development/QA/Production)
    stageStatus: String # Required (e.g., PendingApproval/Approved/Rejected)  
    stageDescription: String # Optional
}
```

下表包含模型注册表预定义的阶段构造模板。可根据您的使用案例来定义自己的阶段构造。需要先设置相关权限，之后用户才能使用它们。


| 暂存区 | 阶段状态 | 
| --- | --- | 
|  提案  |  PendingApproval  | 
|  开发  |  InProgress  | 
|  QA  |  OnHold  | 
|  PreProduction  |  已批准  | 
|  生产  |  已拒绝  | 
|  已存档  |  已停用  | 

可以通过以下方式调用该`ModelLifeCycle`参数 APIs：
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateModelPackage.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateModelPackage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateModelPackage.html)
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackage.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeModelPackage.html)

------
#### [ Policy for a data scientist role ]

以下是使用模型生命周期条件键的 IAM 策略示例。您可以根据自己的要求对其进行修改。在此示例中，角色的权限仅限于将模型生命周期阶段设置或定义为：
+ 使用阶段 `"Development"` 和状态 `"Approved"` 创建或更新模型。
+ 使用阶段质量保证、`"QA"` 和状态 `"PendingApproval"` 更新模型包。

```
{
    "Action" : [
        "sagemaker:UpdateModelPackage",
        "sagemaker:CreateModelPackage"
    ],
    "Resource": [
        "*"
    ],
    "Condition": {
        "StringEquals": {
            "sagemaker:ModelLifeCycle:stage" : "Development"
            "sagemaker:ModelLifeCycle:stageStatus" : "Approved"       
        }
    }
},
{
    "Action" : [
        "sagemaker:UpdateModelPackage"
    ],
    "Resource": [
        "*"
    ],
    "Condition": {
        "StringEquals": {
            "sagemaker:ModelLifeCycle:stage" : "Staging"
            "sagemaker:ModelLifeCycle:stageStatus" : "PendingApproval"       
        }
    }
}
```

------
#### [ Policy for a quality assurance specialist ]

以下是使用模型生命周期条件键的 IAM 策略示例。您可以根据自己的要求对其进行修改。在此示例中，角色的权限仅限于将模型生命周期阶段设置或定义为：
+ 使用以下项更新模型包：
  + 阶段 `"QA"` 和状态 `"Approved"` 或 `"Rejected"`。
  + 阶段 `"Production"` 和状态 `"PendingApproval"`。

```
{
    "Action": [
        "sagemaker:UpdateModelPackage"
    ],
    "Resource": [
        "*"
    ],
    "Condition": {
        "StringEquals": {
            "sagemaker:ModelLifeCycle:stage": "Staging",
            "sagemaker:ModelLifeCycle:stageStatus": "Approved"
        }
    }
}, {
    "Action": [
        "sagemaker:UpdateModelPackage"
    ],
    "Resource": [
        "*"
    ],
    "Condition": {
        "StringEquals": {
            "sagemaker:ModelLifeCycle:stage": "Staging",
            "sagemaker:ModelLifeCycle:stageStatus": "Rejected"
        }
    }
}, {
    "Action": [
        "sagemaker:UpdateModelPackage"
    ],
    "Resource": [
        "*"
    ],
    "Condition": {
        "StringEquals": {
            "sagemaker:ModelLifeCycle:stage": "Production",
            "sagemaker:ModelLifeCycle:stageStatus": "PendingApproval"
        }
    }
}
```

------
#### [ Policy for lead engineer role ]

以下是使用模型生命周期条件键的 IAM 策略示例。您可以根据自己的要求对其进行修改。在此示例中，角色的权限仅限于将模型生命周期阶段设置或定义为：
+ 使用以下项更新模型包：
  + 阶段 `"Production"` 和状态 `"Approved"` 或 `"Rejected"`。
  + 阶段 `"Development"` 和状态 `"PendingApproval"`。

```
{
    "Action" : [
        "sagemaker:UpdateModelPackage"
    ],
    "Resource": [
        "*"
    ],
    "Condition": {
        "ForAnyvalue:StringEquals" : {
            "sagemaker:ModelLifeCycle:stage" : "Production",
            "sagemaker:ModelLifeCycle:stageStatus" : "Approved"
        }
    }
},
{
    "Action" : [
        "sagemaker:UpdateModelPackage"
    ],
    "Resource": [
        "*"
    ],
    "Condition": {
        "StringEquals:" {
            "sagemaker:ModelLifeCycle:stage" : "Production"
            "sagemaker:ModelLifeCycle:stageStatus" : "Rejected"
        }
    }
},
{
    "Action" : [
        "sagemaker:UpdateModelPackage"
    ],
    "Resource": [
        "*"
    ],
    "Condition": {
        "StringEquals": {
            "sagemaker:ModelLifeCycle:stage" : "Development"
            "sagemaker:ModelLifeCycle:stageStatus" : "PendingApproval"
        }
    }
}
```

------

要在任何型号状态更新时获得 Amazon EventBridge 通知，请参阅中的示例[获取以下内容的事件通知 ModelLifeCycle](model-registry-staging-construct-event-bridge.md)。有关您可能收到的 EventBridge 有效载荷示例，请参阅[SageMaker 模型包状态更改](automating-sagemaker-with-eventbridge.md#eventbridge-model-package)。