AWS 서비스형 watsonx.governance Amazon SageMaker 통합하여 watsonx.governance.governance의 거버넌스, 위험 및 규정 준수 기능을 Amazon SageMaker 모델에 도입할 수 있습니다.
시작하기 전에
다음 서비스가 있어야 합니다:
- watsonx.governance 인스턴스
- 아마존 SageMaker 인스턴스
AWS 다음 서비스를 설정하세요:
- CloudTrail: Amazon SageMaker 이벤트가 CloudTrail 게시됩니다.
- 단순 대기열 서비스(SQS): 이 서비스를 사용하여 Amazon SageMaker 모델에 대한 대기열을 설정합니다. 자세한 내용은 Amazon SQS 설정을 참조하세요.
- EventBridge: 이 서비스를 사용하여 Amazon SageMaker 모델 카드 변경 사항을 단순 대기열 서비스(SQS) FIFO 대기열로 추출하는 규칙을 정의합니다.
- 리소스 액세스 관리자: 이 서비스를 사용하여 중앙 모델 레지스트리를 만들고 리소스를 그룹화하여 관리할 수 있습니다. 자세한 내용은 리소스 탐색기 설정 및 구성을 참조하세요.
CloudTrail 및 EventBridge 서비스가 실행 중인지 확인합니다.
구성 계획
연결용 자격 증명
watsonx.governance Amazon SageMaker 간의 액세스를 어떻게 구성할지 결정합니다. 교차 계정 역할 또는 액세스 키를 사용할 수 있습니다.
- 교차 계정 역할을 사용하려면 교차 계정 역할 설정을 참조하세요.
- 액세스 키를 사용하려면 액세스 키 설정을 참조하세요.
계정
Amazon SageMaker 대한 각 연결은 중앙 집중식 모델 레지스트리를 소유한 계정에 연결됩니다. 각각 모델 레지스트리를 사용하여 최대 10개의 서로 다른 계정에 연결할 수 있습니다. 둘 이상의 중앙 모델 레지스트리 사용에 대한 자세한 내용은 AWS 다중 계정 Machine Learning 모델 거버넌스에 대한 지침을 참조하세요.
사업체
사용할 비즈니스 엔티티를 결정합니다. 구성하는 각 Amazon SageMaker 연결에 대해 별도의 비즈니스 엔티티가 필요합니다. 이 비즈니스 엔티티는 루트 레벨에 있어야 하며 다른 비즈니스 엔티티의 하위 엔티티가 아니어야 합니다. 연결된 모델 그룹 및 모델과 함께 구성된 비즈니스 엔티티 아래의 사용 사례만 watsonx.governance 및 Amazon SageMaker 적용을 받습니다.
비즈니스 엔티티는 사용 사례의 부모이지만 반드시 기본 부모일 필요는 없습니다. 사업체를 다른 용도로 사용할 수 있습니다.
사용자는 사용 사례를 만들 때 비즈니스 주체를 선택해야 합니다. 사용자가 어떤 비즈니스 엔티티를 사용할지 알 수 있도록 하세요. 또한 사용 사례 승인자는 사용 사례를 승인하기 전에 비즈니스 주체가 올바르게 설정되었는지 확인해야 합니다. 사용 사례가 승인되기 전에 비즈니스 엔티티가 올바르게 설정되지 않으면 사용 사례와 해당 하위 모델 그룹 및 모델이 Amazon SageMaker 동기화되지 않습니다.
예를 들어 사용자가 구성한 비즈니스 엔티티의 하위를 선택하고 사용 사례가 승인된 경우 동기화 작업은 사용 사례를 Amazon SageMaker 동기화하지 않습니다.
보안 도메인을 사용하여 사용자에게 필요한 특정 비즈니스 엔티티에 대한 액세스 권한을 부여하세요.
다음 단계를 수행하십시오.
- 각 연결에 대해 사용할 비즈니스 엔티티를 결정합니다. 새 비즈니스 엔티티를 사용하려면 Amazon SageMaker 대한 연결을 구성하기 전에 해당 엔티티를 생성하세요. 비즈니스 엔티티를 만들려면 관리 권한이 있어야 합니다.
- 거버넌스 콘솔에서 사용자에게 비즈니스 엔티티의 보안 도메인에 대한 액세스 권한을 부여합니다. 예를 들어 그룹을 만들고 그룹에 사용자를 추가한 다음 해당 그룹을 비즈니스 엔티티의 보안 도메인과 연결합니다. 자세한 내용은 보안 도메인을 참조하세요.
기본 프로필 및 기본 사용자
각 연결마다 기본 프로필과 기본 사용자가 필요합니다.
기본 프로필은 작업 보기에서 미리 서명된 링크를 생성하는 데 사용됩니다. 이 링크는 기본 프로필을 사용하여 Amazon SageMaker 엽니다. 기본 프로필에 거버넌스 사용자가 Amazon SageMaker 모델 그룹 및 모델에 대한 자세한 정보를 얻는 데 필요한 최소한의 액세스 권한을 부여하세요.
미리 서명된 링크는 5분 동안 유효합니다. 그 시간이 지나면 사용자는 링크를 다시 생성하기 위해 작업 보기를 새로 고쳐야 합니다.
기본 사용자는 다음과 같은 경우에 사용됩니다:
- 모델에 소유자가 지정되지 않은 경우 모델 소유자는 이 기본 사용자로 설정됩니다.
- 모델 소유자가 거버넌스 콘솔에 계정이 없는 경우 모델 소유자는 이 기본 사용자로 설정됩니다.
자격 증명 설정
교차 계정 역할 또는 액세스 키를 사용하여 Amazon SageMaker 연결할 수 있습니다. 보안을 강화하기 위해 교차 계정 역할을 사용하는 것을 고려하세요.
교차 계정 역할 설정하기
이 작업은 계정 간 역할을 사용하여 Amazon SageMaker watsonx.governance 통합하려는 경우에 필요합니다. 자세한 내용은 IAM의 교차 계정 리소스 액세스를 참조하세요.
교차 계정 역할을 설정하려면 다음 단계를 수행합니다:
- AWS 계정에 대한 외부 ID를 생성합니다.
- 다음 정책을 역할에 첨부하세요:
AmazonSageMakerFullAccess
및AmazonSQSFullAccess
. - 역할의 신뢰 정책에 외부 ID를 추가합니다.
역할 정의 예시
다음 테라폼 스크립트를 가이드로 사용하여 교차 계정 역할을 만들 수 있습니다.
스크립트는 다음 작업을 수행합니다:
- 이 스크립트는
Aws_Sagemaker_Sqs_Cross_Account_Role
라는 IAM 역할을 만듭니다. - 스크립트는 외부 ID
123456
를 역할에 할당합니다. - 스크립트는 역할에 다음 서비스에 대한 액세스 권한을 부여합니다:
sqs.amazonaws.com
sagemaker.amazonaws.com
- 그런 다음 스크립트는 다음 정책을 역할에 첨부합니다:
AmazonSQSFullAccess
AmazonSageMakerFullAccess
다음 줄에서 999999999999
을 watsonx.governance 프로덕션 계정의 ID로 바꿉니다.
+ AWS = "arn:aws:iam::999999999999:root"
여기서,
arn:aws:iam::767397658217:root
는 고객이 AWS 마켓플레이스에서 인스턴스를 설치할 때 watsonx.governance 프로덕션 계정의 ID입니다.arn:aws:iam::384547875043:root
는 사용자가 IBM 인스턴스를 설치할 때 watsonx.governance 프로덕션 계정의 ID입니다.# module.iam.aws_iam_role.aws_sagemaker_sqs_cross_account_role[0] will be created + resource "aws_iam_role" "aws_sagemaker_sqs_cross_account_role" { + arn = (known after apply) + assume_role_policy = jsonencode( { + Statement = [ + { + Action = "sts:AssumeRole" + Condition = { + StringEquals = { + "sts:ExternalId" = "123456" } } + Effect = "Allow" + Principal = { + AWS = "arn:aws:iam::999999999999:root" + Service = [ + "sqs.amazonaws.com", + "sagemaker.amazonaws.com", ] } }, ] + Version = "2012-10-17" } ) + create_date = (known after apply) + force_detach_policies = false + id = (known after apply) + managed_policy_arns = (known after apply) + max_session_duration = 3600 + name = "Aws_Sagemaker_Sqs_Cross_Account_Role" + name_prefix = (known after apply) + path = "/" + tags_all = (known after apply) + unique_id = (known after apply) } # module.iam.aws_iam_role_policy_attachment.AmazonSQSFullAccess_role_policy_attach[0] will be created + resource "aws_iam_role_policy_attachment" "AmazonSQSFullAccess_role_policy_attach" { + id = (known after apply) + policy_arn = "arn:aws:iam::aws:policy/AmazonSQSFullAccess" + role = "Aws_Sagemaker_Sqs_Cross_Account_Role" } # module.iam.aws_iam_role_policy_attachment.AmazonSageMakerFullAccess_cross_role_policy_attach[0] will be created + resource "aws_iam_role_policy_attachment" "AmazonSageMakerFullAccess_cross_role_policy_attach" { + id = (known after apply) + policy_arn = "arn:aws:iam::aws:policy/AmazonSageMakerFullAccess" + role = "Aws_Sagemaker_Sqs_Cross_Account_Role" }
액세스 키 설정
액세스 키를 사용하여 Amazon SageMaker watsonx.governance 연결하려면 이 작업을 수행하세요.
AWS watsonx.governance 통합을 위해 장기 액세스 키를 설정합니다. 자격 증명에는 다음 액세스 권한이 있어야 합니다:
- 단순 대기열 서비스(SQS)에 대한 프로그래밍 방식의 액세스
- 아마존 SageMaker API에 대한 프로그래밍 방식 액세스
- Amazon SageMaker 모델 카드 업데이트 권한
자세한 내용은 AWS 보안 자격 증명을 참조하세요.
통합을 위한 AWS 서비스 설정
다음 단계를 수행하십시오.
- SQS 대기열 설정
- 아마존 설정 EventBridge rule and add your SQS queue as the target for the rule.
SQS 대기열 설정하기
통합은 SQS 대기열을 사용하여 모델 그룹 및 모델의 변경 사항에 대한 알림을 수신합니다.
각 연결에 대해 계정에서 SQS 대기열을 설정합니다.
SQS 대기열을 설정하려면 다음 단계를 수행하세요:
- AWS 콘솔에서 단순 대기열 서비스를 선택합니다.
- 대기열 만들기를 클릭합니다.
- 대기열의 이름을 입력한 다음 다음 정보를 입력합니다:
- 유형: FIFO
- 표시 시간 초과: 30초
- 메시지 보존 기간: 4일
- 최대 메시지 크기: 256KB
- 배송 지연: 0
- 메시지 수신 대기 시간: 0
- FIFO 대기열 설정에서 다음 옵션을 사용 설정합니다:
- 콘텐츠 기반 중복 제거
- 높은 처리량의 FIFO 대기열
SQS 대기열이 정의됩니다. 다음으로 EventBridge 규칙을 설정합니다.
EventBridge 규칙 설정
EventBridge 규칙을 설정하고 SQS 대기열을 대상으로 추가하려면 다음 단계를 수행하세요:
- AWS 콘솔에서 Amazon EventBridge 서비스를 선택합니다.
- 규칙 만들기를 클릭합니다.
- 규칙의 이름을 입력한 후 다음을 클릭합니다.
- 이벤트 소스의 경우 기타를 클릭합니다.
- 생성 방법은 사용자 지정 패턴(JSON 편집기)을 클릭한 다음 이벤트 패턴에 대해 다음 JSON을 입력합니다:
{ "source": ["aws.sagemaker"], "detail-type": ["AWS API Call via CloudTrail"], "detail": { "eventSource": ["sagemaker.amazonaws.com"], "eventName": ["CreateModelPackage", "CreateModelPackageGroup" "DeleteModelPackage", "DeleteModelPackageGroup", "UpdateModelPackage"] } }
- 다음 을 클릭하십시오.
- 대상을 생성한 SQS 대기열로 설정합니다.
- 나머지 페이지에서 다음을 클릭한 다음 규칙 만들기를 클릭합니다.
이제 SQS 큐를 규칙 대상으로 하는 EventBridge 규칙이 생겼습니다.
통합 구성하기
이 작업을 수행하려면 AWS 자격 증명이 필요합니다.
- 교차 계정 역할을 사용하는 경우에는 다음 정보가 필요합니다:
- 역할의 아마존 리소스 이름(ARN)입니다.
- 역할의 외부 ID입니다.
- 통합을 위해 설정한 Amazon SQS 서비스 URL.
- 미리 지정된 URL에 대한 기본 프로필의 ARN입니다.
- 액세스 키를 사용하는 경우 다음 정보가 필요합니다:
- AWS 계정 ID.
- 통합을 위해 설정한 액세스 키 ID 및 비밀 ID입니다.
- 통합을 위해 설정한 Amazon SQS 서비스 URL.
- 미리 지정된 URL에 대한 기본 프로필의 ARN입니다.
필요한 권한: 거버넌스 콘솔에서 All/SOX/Administration/SageMaker 애플리케이션 권한이 필요합니다.
통합을 구성하려면 다음 단계를 수행합니다:
- 관리자로 거버넌스 콘솔에 로그인합니다.
- > 통합 > Amazon SageMaker 클릭합니다.
- 새 연결을 클릭하십시오.
- 일반 구성에서 다음 단계를 수행합니다:
- 설명을 입력하십시오.
- 이 Amazon SageMaker 연결의 상위 비즈니스 엔티티를 선택합니다. 구성하는 각 연결마다 다른 비즈니스 엔티티를 사용합니다. 자세한 내용은 비즈니스 엔티티를 참조하세요.
- 기본 사용자를 선택합니다. 자세한 내용은 기본 프로필 및 기본 사용자를 참조하세요.
- AWS 계정 자격 증명에 AWS 계정 자격 증명과 지역을 입력합니다.
- 기본 프로필 ARN 필드에 계정에 대해 생성한 기본 프로필의 ARN을 입력합니다.
- 신임 정보를 입력하십시오.
- 역할을 사용하여 액세스 권한을 설정하려면 교차 계정 역할을 클릭합니다. 역할 ARN 및 외부 ID를 입력합니다.
- 키를 사용하여 액세스를 설정하려면 액세스 키를 클릭합니다. AWS 계정 ID, 액세스 키 ID, 비밀 키 ID를 입력합니다.
- 예를 들어
us-east-1
과 같이 watsonx.governance 인스턴스의 지역을 입력합니다.
- 모델 SQS URL 계정에 대해 구성한 SQS 대기열의 URL 입력합니다.
- 연결 테스트를 클릭한 다음 저장을 클릭합니다.
- 토글을 클릭하여 통합을 활성화합니다. 자동 동기화 프로세스가 시작됩니다. 진행 상황을 확인하려면 기타 > 백그라운드 프로세스를 클릭합니다. 이 프로세스는 이 시점부터 업데이트를 동기화합니다.
- Amazon SageMaker, 기존 모델이 있는 경우 수동 동기화를 실행해야 합니다. 기존 모델 정보 동기화를 클릭합니다. SageMaker 동기화 표에는 계정의 수동 동기화 진행 상황이 표시됩니다.
이제 거버넌스 콘솔에서 Amazon SageMaker 모델을 사용할 수 있습니다.
Amazon SageMaker 이미 watsonx.governance 사용 사례 워크플로우 외부에서 생성된 모델 그룹 및 모델이 있는 경우, 모델 그룹을 연결된 사용 사례에 수동으로 연결해야 합니다.
데이터 동기화
자동 동기화 프로세스는 다음 작업을 기다립니다:
- 아마존 SageMaker 생성한 모델 패키지 CreateModelPackage
- 아마존 SageMaker 모델 패키지 업데이트 UpdateModelPackage
- 아마존 SageMaker 모델 패키지 삭제 DeleteModelPackage
- 모델 그룹 생성 CreateModelPackageGroup )
- 모델 그룹 삭제 DeleteModelPackageGroup
자동 동기화 프로세스의 상태를 보려면 기타 > 백그라운드 프로세스를 클릭합니다.
수동 동기화 프로세스의 상태를 보려면 > 통합 > Amazon SageMaker 클릭하세요. SageMaker 동기화 표에는 모든 연결에 대한 수동 동기화 프로세스가 나열되어 있습니다. 특정 연결의 상태를 보려면 연결 표에서 해당 이름을 클릭합니다.
자세히 알아보기
이러한 프로세스 흐름에 대해 자세히 알아보세요: