모델 사용자 지정 작업 및 아티팩트의 암호화 - Amazon Bedrock

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

모델 사용자 지정 작업 및 아티팩트의 암호화

Amazon Bedrock은 CreateModelCustomizationJob작업 또는 콘솔과 함께 학습 데이터를 사용하여 Amazon Bedrock 기본 모델의 미세 조정 버전인 사용자 지정 모델을 생성합니다. 에서 사용자 지정 모델을 관리하고 저장합니다. AWS

Amazon Bedrock은 사용자가 제공한 미세 조정 데이터를 Amazon Bedrock 기반 모델을 미세 조정하는 용도로만 사용합니다. Amazon Bedrock은 다른 용도로는 미세 조정 데이터를 사용하지 않습니다. 교육 데이터는 기본 Titan 모델을 교육하는 데 사용되거나 타사에 배포되지 않습니다. 사용 타임스탬프, 로그된 계정IDs, 서비스에서 기록한 기타 정보와 같은 기타 사용 데이터도 모델 학습에 사용되지 않습니다.

미세 조정을 위해 제공하는 교육 또는 검증 데이터는 미세 조정 작업이 완료되면 Amazon Bedrock에 저장되지 않습니다.

참고로, 미세 조정된 모델은 완료를 생성하는 동안 일부 미세 조정 데이터를 재생할 수 있습니다. 앱이 어떤 형태로든 미세 조정 데이터를 노출하지 않도록 하려면 먼저 훈련 데이터에서 기밀 데이터를 필터링해야 합니다. 실수로 기밀 데이터를 사용하여 사용자 지정 모델을 이미 만든 경우 해당 사용자 지정 모델을 삭제하고 학습 데이터에서 기밀 정보를 필터링한 다음 새 모델을 만들 수 있습니다.

사용자 지정 모델 (복사된 모델 포함) 을 암호화하기 위해 Amazon Bedrock은 다음 두 가지 옵션을 제공합니다.

  1. AWS 소유 키— 기본적으로 Amazon Bedrock은 사용자 지정 모델을 다음과 같이 암호화합니다. AWS 소유 키사용을 AWS 소유 키보거나, 관리하거나, 사용하거나, 감사할 수 없습니다. 하지만 데이터를 암호화하는 키를 보호하기 위해 어떤 액션을 수행하거나 어떤 프로그램을 변경할 필요가 없습니다. 자세한 내용은 AWS Key Management Service 개발자 안내서AWS 소유 키 섹션을 참조하십시오.

  2. 고객 관리 키 — 직접 관리하는 고객 관리 키로 사용자 지정 모델을 암호화하도록 선택할 수 있습니다. 에 대한 AWS KMS keys자세한 내용은 AWS Key Management Service 개발자 안내서의 고객 관리 키를 참조하십시오.

참고

Amazon Bedrock은 사용 AWS 소유 키 시 추가 비용 없이 자동으로 암호화를 활성화합니다. 고객 관리 키를 사용하는 경우 AWS KMS 요금이 부과됩니다. 요금에 대한 자세한 내용은 AWS Key Management Service 요금을 참조하세요.

에 대한 AWS KMS자세한 내용은 AWS Key Management Service 개발자 안내서를 참조하십시오.

Amazon Bedrock이 지원금을 사용하는 방법 AWS KMS

모델 사용자 지정 또는 모델 복사 작업을 위해 사용자 지정 모델을 암호화하기 위해 고객 관리 키를 지정하는 경우, Amazon Bedrock은 요청을 전송하여 사용자를 대신하여 사용자 지정 모델과 관련된 기본 KMS 권한을 생성합니다. CreateGrant AWS KMS Amazon Bedrock은 이 승인을 통해 고객 관리 키에 액세스하고 사용할 수 있습니다. 권한 AWS KMS 부여는 Amazon Bedrock에 고객 계정의 KMS 키에 대한 액세스 권한을 부여하는 데 사용됩니다.

Amazon Bedrock은 다음과 같은 내부 작업에 고객 관리 키를 사용하려면 기본 허가가 필요합니다.

  • 작업을 생성할 때 입력한 대칭 고객 관리 KMS 키 ID가 유효한지 DescribeKey AWS KMS 확인하라는 요청을 보내십시오.

  • 고객 관리 키로 암호화된 데이터 키를 생성하고 암호화된 데이터 키를 해독하여 모델 아티팩트를 암호화하는 데 사용할 수 있도록 요청을 전송 GenerateDataKey및 복호화합니다. AWS KMS

  • 모델 사용자 지정, AWS KMS 모델 복사 또는 프로비저닝된 처리량 생성의 비동기 실행을 위해 위 작업의 하위 집합 (DescribeKey,GenerateDataKey,Decrypt) 을 사용하여 범위가 축소된 보조 권한 부여를 CreateGrant생성하라는 요청을 보냅니다.

  • Amazon Bedrock은 지원금 생성 과정에서 퇴직 원금을 지정하므로 서비스에서 요청을 보낼 수 있습니다. RetireGrant

고객 관리 키에 대한 전체 액세스 권한이 있습니다. AWS KMS AWS Key Management Service 개발자 가이드의 권한 취소 및 취소 단계에 따라 권한 부여에 대한 액세스 권한을 취소하거나 키 정책을 수정하여 언제든지 고객 관리 키에 대한 서비스의 액세스 권한을 제거할 수 있습니다. 이렇게 하면 Amazon Bedrock에서 사용자 키로 암호화된 사용자 지정 모델에 액세스할 수 없습니다.

사용자 지정 모델에 대한 1차 및 2차 보조금의 수명 주기

  • 1차 보조금의 유효 기간은 길며 관련 사용자 지정 모델을 계속 사용하는 한 계속 유효합니다. 사용자 지정 모델이 삭제되면 해당하는 기본 권한 부여는 자동으로 사용 중지됩니다.

  • 보조 보조금은 수명이 짧습니다. Amazon Bedrock이 고객을 대신하여 수행하는 작업이 완료되는 즉시 자동으로 사용 중지됩니다. 예를 들어 모델 복사 작업이 완료되면 Amazon Bedrock이 복사한 사용자 정의 모델을 암호화할 수 있도록 허용했던 보조 허가는 즉시 사용 중지됩니다.

고객 관리형 키를 생성하는 방법과 키 정책을 고객 관리형 키에 연결하는 방법을 이해하십시오.

생성하고 관리하는 키로 AWS 리소스를 암호화하려면 다음과 같은 일반 단계를 수행합니다.

  1. (전제 조건) IAM 역할에 해당 작업에 대한 권한이 있는지 확인하십시오. CreateKey

  2. 키 생성의 단계에 따라 AWS KMS 콘솔 또는 작업을 사용하여 고객 관리 키를 생성하십시오 CreateKey.

  3. 키를 생성하면 키 사용이 필요한 작업 (예: 모델 사용자 지정 작업을 제출하거나 모델 추론을 실행할 때) 에 사용할 수 있는 키에 대해 a가 반환됩니다. Arn

  4. 키 정책을 생성하여 필요한 권한이 있는 키에 연결합니다. 키 정책을 만들려면 AWS Key Management Service 개발자 안내서의 키 정책 만들기의 단계를 따르세요.

사용자 지정 및 복사된 모델에 대한 권한 및 키 정책

KMS키를 생성한 후 키 정책을 해당 키에 연결합니다. 키 정책은 고객 관리 키에 연결하여 액세스를 제어하는 리소스 기반 정책입니다. 모든 고객 관리형 키에는 키를 사용할 수 있는 사람과 키를 사용하는 방법을 결정하는 문장이 포함된 정확히 하나의 키 정책이 있어야 합니다. 고객 관리형 키를 생성할 때 키 정책을 지정할 수 있습니다. 키 정책은 언제든지 수정할 수 있지만 변경 내용이 전체적으로 적용되기까지 잠시 지연될 수 있습니다. AWS KMS자세한 내용은 AWS Key Management Service 개발자 안내서고객 관리형 키에 대한 액세스 관리를 참조하십시오.

사용자 지정 모델 및 복사된 모델을 암호화하는 키에는 다음과 같은 KMS 작업이 사용됩니다.

  1. kms: CreateGrant — Amazon Bedrock 서비스 보안 주체가 권한 부여 작업을 통해 지정된 키에 액세스할 수 있도록 허용하여 고객 관리형 KMS 키에 대한 권한 부여를 생성합니다. 부여에 대한 자세한 내용은 개발자 안내서의 Grants를AWS Key Management Service 참조하십시오. AWS KMS

    참고

    Amazon Bedrock은 또한 만기 원금을 설정하고 더 이상 필요하지 않은 보조금을 자동으로 회수합니다.

  2. kms: DescribeKey — Amazon Bedrock에서 키를 검증할 수 있도록 고객 관리형 키 세부 정보를 제공합니다.

  3. kms: GenerateDataKey — Amazon Bedrock이 사용자 액세스를 검증할 수 있도록 고객 관리형 키 세부 정보를 제공합니다. Amazon Bedrock은 생성된 암호문을 사용자 지정 모델과 함께 저장하여 사용자 지정 모델 사용자에 대한 추가 검증 검사로 사용합니다.

  4. KMS:Decrypt — 저장된 암호문을 해독하여 역할에 사용자 지정 모델을 암호화하는 키에 대한 적절한 액세스 권한이 있는지 확인합니다. KMS

최상의 보안 방법으로는 kms: ViaService 조건 키를 포함하여 Amazon Bedrock 서비스 키에 대한 액세스를 제한하는 것이 좋습니다.

키에는 키 정책을 하나만 연결할 수 있지만 정책 Statement 필드의 목록에 명령문을 추가하여 키 정책에 여러 명령문을 추가할 수 있습니다.

다음 설명은 사용자 지정 및 복사 모델 암호화와 관련이 있습니다.

고객 관리 키를 사용하여 사용자 지정 또는 복사된 모델을 암호화하려면 모델의 암호화를 허용하는 다음 설명을 키 정책에 포함시키십시오. Principal필드에 암호화를 허용하고 싶은 계정을 하위 필드가 매핑되는 목록에 추가하고 키를 해독할 수 있습니다. AWS kms:ViaService조건 키를 사용하는 경우 지역별로 줄을 추가하거나 다음을 사용할 수 있습니다.* 대신 ${region} Amazon Bedrock을 지원하는 모든 지역을 허용할 수 있습니다.

{ "Sid": "PermissionsEncryptDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }

키로 암호화된 모델에 대한 액세스를 허용하려면 KMS 키 정책에 키 암호 해독을 허용하는 다음 설명을 포함시키십시오. Principal필드에서 키 암호 해독을 허용하려는 계정을 하위 필드가 매핑되는 목록에 추가합니다. AWS kms:ViaService조건 키를 사용하는 경우 각 지역에 라인을 추가하거나 다음을 사용할 수 있습니다.* 대신 ${region} Amazon Bedrock을 지원하는 모든 지역을 허용할 수 있습니다.

{ "Sid": "PermissionsDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }

생성해야 하는 주요 정책에 대해 알아보려면 사용 사례에 해당하는 섹션을 확장하십시오.

키로 사용자 지정하는 모델을 암호화하려는 경우 KMS 키에 대한 키 정책은 사용 사례에 따라 달라집니다. 사용 사례에 해당하는 섹션을 확장하세요.

사용자 지정 모델을 호출하는 역할이 모델을 사용자 지정하는 역할과 동일한 경우에는 의 명령문만 있으면 됩니다. 모델 암호화 다음 정책 템플릿의 Principal 필드에서 사용자 지정을 허용할 계정을 추가하고 AWS 하위 필드가 매핑되는 목록에 사용자 지정 모델을 호출하십시오.

{ "Version": "2012-10-17", "Id": "PermissionsCustomModelKey", "Statement": [ { "Sid": "PermissionsEncryptCustomModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

사용자 지정 모델을 호출하는 역할이 모델을 사용자 지정하는 역할과 다른 경우에는 와 명령문이 모두 필요합니다. 모델 암호화 암호화된 모델에 대한 액세스 허용 다음 정책 템플릿의 명령문을 다음과 같이 수정합니다.

  1. 첫 번째 명령문은 키의 암호화 및 암호 해독을 허용합니다. Principal필드에서 사용자 지정 모델을 사용자 지정할 수 있도록 허용하려는 계정을 AWS 하위 필드가 매핑되는 목록에 추가합니다.

  2. 두 번째 명령문은 키 암호 해독만 허용합니다. Principal필드에서 사용자 지정 모델 호출만 허용하려는 계정을 AWS 하위 필드가 매핑되는 목록에 추가합니다.

{ "Version": "2012-10-17", "Id": "PermissionsCustomModelKey", "Statement": [ { "Sid": "PermissionsEncryptCustomModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }, { "Sid": "PermissionsDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

소유하거나 공유한 모델을 복사하는 경우 최대 두 개의 주요 정책을 관리해야 할 수 있습니다.

KMS키를 사용하여 복사한 모델을 암호화하려는 경우 키에 대한 키 정책은 사용 사례에 따라 달라집니다. 사용 사례에 해당하는 섹션을 확장하세요.

복사된 모델을 호출할 역할이 모델 사본을 생성할 역할과 동일한 경우에는 의 명령문만 있으면 됩니다. 모델 암호화 다음 정책 템플릿의 Principal 필드에서 복사를 허용하려는 계정을 추가하고 복사된 모델을 AWS 하위 필드가 매핑되는 목록에 호출하십시오.

{ "Version": "2012-10-17", "Id": "PermissionsCopiedModelKey", "Statement": [ { "Sid": "PermissionsEncryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

복사된 모델을 호출할 역할이 모델 사본을 생성할 역할과 다른 경우 from and 명령문이 모두 필요합니다. 모델 암호화 암호화된 모델에 대한 액세스 허용 다음 정책 템플릿의 명령문을 다음과 같이 수정하십시오.

  1. 첫 번째 명령문은 키의 암호화 및 암호 해독을 허용합니다. 복사한 Principal 모델을 생성할 수 있도록 허용하려는 계정을 AWS 하위 필드가 매핑되는 목록에 필드에 추가합니다.

  2. 두 번째 명령문은 키 암호 해독만 허용합니다. 복사한 모델 호출만 허용하려는 계정을 AWS 하위 필드가 매핑되는 목록에 Principal 필드에 추가합니다.

{ "Version": "2012-10-17", "Id": "PermissionsCopiedModelKey", "Statement": [ { "Sid": "PermissionsEncryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${role}" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }, { "Sid": "PermissionsDecryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

복사할 소스 모델이 키로 암호화된 경우 소스 모델을 암호화하는 KMS 키의 키 정책에 FROM 명령문을 첨부하십시오. 암호화된 모델에 대한 액세스 허용 이 명령문을 사용하면 모델 복사 역할이 소스 모델을 암호화하는 키를 해독할 수 있습니다. 다음 정책 템플릿의 Principal 필드에서 소스 모델을 복사하도록 허용할 계정을 하위 필드가 매핑되는 목록에 추가합니다. AWS

{ "Version": "2012-10-17", "Id": "PermissionsSourceModelKey", "Statement": [ { "Sid": "PermissionsDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

Amazon Bedrock 서비스의 암호화 키를 모니터링하십시오.

Amazon Bedrock 리소스와 함께 AWS KMS 고객 관리형 키를 사용하는 경우 Amazon Bedrock이 보내는 요청을 추적하는 데 AWS CloudTrailAmazon CloudWatch Logs를 사용할 수 있습니다. AWS KMS

다음은 기본 승인을 CreateGrant생성하기 위해 Amazon Bedrock에서 호출한 KMS 작업을 모니터링하기 위한 예제 AWS CloudTrail 이벤트입니다.

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser01", "arn": "arn:aws:sts::111122223333:assumed-role/RoleForModelCopy/SampleUser01", "accountId": "111122223333", "accessKeyId": "EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE", "arn": "arn:aws:iam::111122223333:role/RoleForModelCopy", "accountId": "111122223333", "userName": "RoleForModelCopy" }, "attributes": { "creationDate": "2024-05-07T21:46:28Z", "mfaAuthenticated": "false" } }, "invokedBy": "bedrock.amazonaws.com" }, "eventTime": "2024-05-07T21:49:44Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-east-1", "sourceIPAddress": "bedrock.amazonaws.com", "userAgent": "bedrock.amazonaws.com", "requestParameters": { "granteePrincipal": "bedrock.amazonaws.com", "retiringPrincipal": "bedrock.amazonaws.com", "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "operations": [ "Decrypt", "CreateGrant", "GenerateDataKey", "DescribeKey" ] }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }

교육, 검증 및 출력 데이터의 암호화

Amazon Bedrock을 사용하여 모델 사용자 지정 작업을 실행하면 Amazon S3 버킷에 입력 파일이 저장됩니다. 작업이 완료되면 Amazon Bedrock은 작업 생성 시 지정한 S3 버킷에 출력 지표 파일을 저장하고, 결과 사용자 지정 모델 아티팩트를 에서 제어하는 S3 버킷에 저장합니다. AWS

출력 파일은 S3 버킷의 암호화 구성으로 암호화됩니다. 이러한 암호화는 SSES3 버킷 설정 방법에 따라 -S3 서버 측 KMS암호화 또는 -암호화로 암호화됩니다.AWS KMS SSE