기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
MLflow 앱에 대한 AWS KMS 권한 사용
MLflow 앱용 암호화를 사용하여 저장 데이터를 보호할 수 있습니다. 기본적으로 MLflow 앱은 AWS 소유 키와 함께 서버 측 암호화를 사용합니다. SageMaker는 고객 관리형 KMS 키를 사용한 서버 측 암호화 옵션도 지원합니다.
참고
고객 관리형 키는 SageMaker가 MLflow 앱에 대해 관리하는 데이터를 암호화합니다. 자체 Amazon S3 아티팩트 스토어에 저장하는 아티팩트는 암호화되지 않습니다. Amazon S3 버킷은 사용자가 생성하고 소유하며 AWS, 사용자가 관리하지 않으므로 사용자는 암호화를 구성할 책임이 있습니다. 고객 관리형 키로 아티팩트를 암호화하려면 Amazon S3 버킷에서 기본 암호화를 설정합니다. 자세한 내용은 Amazon Simple Storage Service 사용 설명서의 Amazon S3 버킷에 대한 기본 서버 측 암호화 동작 설정을 참조하세요.
AWS 소유 키를 사용한 서버 측 암호화
기본적으로 MLflow 앱은 AWS 소유 키를 사용하여 저장 데이터를 암호화합니다.
고객 관리형 KMS 키를 사용한 서버 측 암호화
옵션으로 생성, 소유 및 관리하는 대칭 고객 관리형 키를 사용하여 기존 AWS 소유 암호화를 대체할 수 있습니다. 이 암호화 계층을 완전히 제어할 수 있으므로 다음과 같은 작업을 수행할 수 있습니다.
-
키 정책 수립 및 유지
-
IAM 정책 및 권한 부여 수립 및 유지
-
키 정책 활성화 및 비활성화
-
키 암호화 자료 교체
-
태그 추가
-
키 별칭 만들기
-
삭제를 위한 스케줄 키
자세한 내용은 AWS Key Management Service 개발자 안내서의 고객 관리형 키를 참조하십시오.
MLflow 앱이에서 권한 부여를 사용하는 방법 AWS KMS
고객 관리형 키를 사용하려면 MLflow 앱에 권한 부여가 필요합니다. 고객 관리형 키로 암호화된 MLflow 앱을 생성하면 SageMaker는 MLflow Apps에 고객 관리형 키에 대한 액세스 권한을 AWS KMS AWS KMS 부여하는 CreateGrant 요청을에 전송하여 사용자를 대신하여 권한 부여를 생성합니다. MLflow 앱을 삭제하면 SageMaker는 권한 부여를 사용 중지합니다.
언제든지 권한 부여를 취소하거나 고객 관리형 키에 대한 서비스의 액세스를 제거할 수 있습니다. 액세스를 취소해도 실행 중인 MLflow 앱이 즉시 중단되지는 않습니다. 기본 스토리지 계층은 앱이 생성될 때 부여된 액세스를 계속 사용합니다. 액세스를 취소한 후에는 SageMaker가 예약된 유지 관리와 같이 필요한 후속 작업에 더 이상 키를 사용할 수 없습니다. 예를 들어 키를 비활성화하거나 삭제를 예약하는 등 키를 영구적으로 사용할 수 없게 되면 저장 데이터를 더 이상 해독할 수 없으며 MLflow 앱을 복구할 수 없게 됩니다.
MLflow 앱에 대한 고객 관리형 KMS 키 구성
AWS Management Console 또는 AWS KMS APIs.
생성 시에만 MLflow 앱에 대한 고객 관리형 키를 지정할 수 있습니다. 앱 수명 동안에는 변경할 수 없습니다. MLflow 앱은 AWS 소유 키와 고객 관리형 키 간에 기존 앱을 전환하거나 한 고객 관리형 키를 다른 고객 관리형 키로 대체하는 것을 지원하지 않습니다. 다른 키를 사용하려면 MLflow 앱을 삭제하고 원하는 암호화 구성으로 새 앱을 생성합니다.
대칭 고객 관리형 키 생성
AWS Key Management Service 개발자 안내서의 대칭 암호화 KMS 키 만들기의 단계를 따르세요.
키 정책
키 정책에서는 고객 관리형 키에 대한 액세스를 제어합니다. 모든 고객 관리형 키에는 키를 사용할 수 있는 사람과 키를 사용하는 방법을 결정하는 문장이 포함된 정확히 하나의 키 정책이 있어야 합니다. 고객 관리형 키를 만들 때 키 정책을 지정할 수 있습니다. 자세한 내용은 AWS Key Management Service 개발자 안내서의 AWS KMS 키에 대한 액세스 관리를 참조하세요.
MLflow 앱과 함께 고객 관리형 키를 사용하려면 키 정책에서 다음 API 작업을 허용해야 합니다. 이러한 작업의 위탁자는 역할이 애플리케이션을 생성하는 데 사용되는지, 아니면 애플리케이션을 사용하는 데 사용되는지에 따라 달라집니다.
-
애플리케이션 생성:
-
애플리케이션 사용:
-
AWS KMS 권한이 필요하지 않습니다.
-
다음은 페르소나가 관리자인지 사용자인지에 따라 MLflow 앱에 추가할 수 있는 정책 설명 예제입니다. 정책에서의 권한 지정에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 AWS KMS 권한을 참조하세요. 문제 해결에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 키 액세스 문제 해결을 참조하세요.
관리자
MLflow 앱을 생성하는 관리자에게는 다음 정책을 사용할 수 있습니다.
{ "Sid": "AllowMLflowAppAdministratorAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/mlflow-app-admin-role" }, "Action": [ "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "sagemaker.region.amazonaws.com" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "CreateGrant", "Decrypt", "DescribeKey", "Encrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "RetireGrant" ] } } }
-
kms:ViaService- 키 사용을 특정 리전의 SageMaker에서 시작된 요청으로 제한합니다."kms:ViaService": "sagemaker.를 사용하면 사용자를 대신하여 SageMaker를 통해 요청이 이루어진 경우에만region.amazonaws.com"kms:CreateGrant및kms:DescribeKey권한을 행사할 수 있으며, 다른 보안 주체 또는 서비스가 직접 요청할 수는 없습니다. 이렇게 하면 키가 MLflow 앱에만 사용됩니다. -
kms:GrantOperations- SageMaker가 생성하는 권한 부여에 포함할 수 있는 작업을 제한합니다. MLflow 앱을 생성하면 SageMaker는를 호출CreateGrant하여 데이터 영역이 저장 데이터를 암호화하고 복호화할 수 있도록 합니다.kms:CreateGrant문kms:GrantOperations에를 추가하면 SageMaker는CreateGrant, , , , , , , 등 해당 목적에 필요한 작업을 정확히 포함하는 권한 부여만 생성할 수DecryptDescribeKeyEncryptGenerateDataKeyGenerateDataKeyWithoutPlaintextReEncryptFromReEncryptTo있습니다RetireGrant. -
암호화 컨텍스트 - 해당 사항 없음. MLflow 앱은 권한 부여에 사용자 지정 암호화 컨텍스트를 설정하지 않으므로
kms:EncryptionContext조건 키를 사용하여 액세스 범위를 더 좁힐 수 없습니다.
User
MLflow APIs 또는 미리 서명된 URL을 통한 MLflow 앱 액세스에는가 포함되지 않습니다 AWS KMS. SageMaker는 저장 데이터를 암호화하고 복호화하며 앱에 액세스할 때 AWS KMS 요청하지 않습니다. 따라서 MLflow 앱에 액세스하는 경우 AWS KMS 권한이 필요하지 않습니다. 사용자에 대한 보안 정책을 정의할 때 AWS KMS 액세스를 고려할 필요가 없습니다.
고객 관리형 KMS 키를 사용하여 새 MLflow 앱 생성
고객 관리형 키로 MLflow 앱을 암호화하려면 create-mlflow-app AWS CLI 명령의 --kms-key-id 파라미터를 사용하여 앱을 생성할 때 키를 지정합니다. 이 파라미터를 생략하면 SageMaker는 AWS 소유 키를 사용합니다. 에서 호출하는 역할에는 고객 관리형 키에 대한 kms:CreateGrant 및 kms:DescribeKey 권한이 있어야 create-mlflow-app 합니다.
aws sagemaker create-mlflow-app \ --nameapp-name\ --artifact-store-uri s3://bucket-name\ --role-arnrole-arn\ --kms-key-idyour-kms-key-id\ --regionyour-region
MLflow 앱 생성에 대한 자세한 내용은 섹션을 참조하세요MLflow 앱 생성.
와의 MLflow 앱 상호 작용 모니터링 AWS KMS
CloudTrail을 사용하여 MLflow 앱이 고객 관리형 키를 사용할 때 사용자를 AWS KMS 대신하여에 대한 요청을 추적할 수 있습니다. CloudTrail에서 AWS KMS 이벤트를 찾고 해석하는 방법에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 CloudTrail을 사용하여 API 호출 로깅 AWS KMS을 참조하세요.
고객 관리형 키로 암호화된 MLflow 앱에 대해 다음 AWS KMS CloudTrail 이벤트가 기록됩니다.
-
DescribeKey및CreateGrant- MLflow 앱을 생성할 때 기록됩니다. SageMaker는 키를 검증하고 저장 데이터를 사용자 대신 암호화 및 복호화할 수 있는 권한을 생성합니다. -
GenerateDataKeyWithoutPlaintext,Encrypt및Decrypt- MLflow 앱이 프로비저닝되고 작동하는 동안 기록됩니다. SageMaker 기본 스토리지 계층은 고객 관리형 키를 사용하여 저장 데이터를 암호화하고 복호화합니다. 이러한 요청은 권한 부여를 통해 사용자를 대신하는 AWS 서비스에서 수행하므로 CloudTrailuserIdentity요소는 계정의 IAM 보안 주체가 아닌 호출자로 서비스를 표시합니다 AWS . -
RetireGrant- MLflow 앱을 삭제할 때 기록됩니다. 앱에 대해 생성된 권한 부여는 사용 중지되므로 고객 관리형 키를 더 이상 사용할 수 없습니다.