Amazon Bedrock 파운데이션 모델 액세스 - Amazon Bedrock

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

Amazon Bedrock 파운데이션 모델 액세스

모든 Amazon Bedrock 파운데이션 모델에 대한 액세스는 올바른 AWS Marketplace 권한으로 기본적으로 활성화됩니다. 시작하려면 Amazon Bedrock 콘솔의 모델 카탈로그에서 모델을 선택하고 플레이그라운드에서 모델을 열거나 InvokeModel 또는 Converse API 작업을 사용하여 모델을 간접적으로 호출하면 됩니다. Amazon Bedrock에서 지원되는 다양한 모델에 대한 자세한 내용은 Amazon Bedrock 파운데이션 모델 정보를 참조하세요. 모델 요금에 대한 자세한 내용은 Amazon Bedrock 요금을 참조하세요.

적절한 AWS Marketplace 권한이 있는 경우 모든 상용 AWS 리전에서 Amazon Bedrock의 모든 기초 모델에 대한 접근이 기본적으로 활성화됩니다. 타사 모델에 대한 프로그래밍 방식 액세스는 섹션을 참조하세요SDK 및 CLI를 사용하여 모델 액세스 관리.

참고

Anthropic을 처음 사용하는 고객은 계정당 한 번 또는 조직의 관리 계정에서 한 번 모델을 간접적으로 호출하기 전에 사용 사례 세부 정보를 제출해야 합니다. Amazon Bedrock 콘솔의 Anthropic 모델 카탈로그에서 모델을 선택하거나 PutUseCaseForModelAccess API 명령을 직접적으로 호출하여 사용 사례 세부 정보를 제출할 수 있습니다. 사용 사례 세부 정보가 성공적으로 제출되면 모델에 대한 액세스 권한이 즉시 부여됩니다. 루트 계정의 양식 제출은 동일한 AWS 조직의 다른 계정에서 상속됩니다.

참고

3P 모델의 경우 모델을 처음 간접적으로 호출/사용하면 해당 최종 사용자 라이선스 계약에 동의하는 것입니다. 자세한 내용은 AWS 서비스 약관서버리스 타사 모델 라이선스 계약을 참조하세요.

모델 사용을 허용하기 전에 EULA를 검토하고 동의해야 하는 조직은 다음을 수행해야 합니다.

  1. 처음에 서비스 제어 정책(SCP) 또는 IAM 정책을 사용하여 모델 액세스 차단

  2. EULA 약관 검토

  3. EULA 약관에 동의하는 경우에만 SCP/IAM 정책을 통해 모델 액세스 활성화

제품 ID가 있는 Amazon Bedrock 파운데이션 모델에 대한 액세스를 요청할 수 있는 IAM 권한 부여

사용자 지정 IAM 정책을 생성하여 모델 액세스 권한을 관리할 수 있습니다. Amazon Bedrock 파운데이션 모델에 대한 액세스를 수정하려면 먼저 Amazon Bedrock에 대한 액세스를 허용하는 IAM 역할에 다음 AWS Marketplace 작업이 포함된 자격 증명 기반 IAM 정책을 연결해야 합니다.

계정 AWS Marketplace 에서에서 제공되는 Amazon Bedrock 서버리스 모델을 처음 호출하면 Bedrock은 계정에 대해 모델을 자동으로 활성화하려고 시도합니다. 이 자동 활성화가 작동하려면 AWS Marketplace 권한이 필요합니다.

AWS Marketplace 권한을 수임할 수 없는 경우 AWS Marketplace 권한이 있는 사용자가 계정에 대해 모델을 일회성 단계(수동 또는 자동 활성화)로 활성화해야 합니다. 활성화되면 계정의 모든 사용자가 권한 없이 모델을 호출할 AWS Marketplace 수 있습니다. 모델을 활성화한 후에는 모델을 호출하는 데 AWS Marketplace 구독 권한이 필요하지 않습니다. 이러한 권한은 계정에서 모델을 처음 사용할 때만 필요합니다.

제품 ID가 있는 Amazon Bedrock 서버리스 파운데이션 모델에 대한 액세스는 다음 IAM 작업에 의해 제어됩니다.

IAM 작업 설명 어떤 모델에 적용
aws-marketplace:Subscribe

IAM 엔터티가 Amazon Bedrock 파운데이션 모델을 포함한 AWS Marketplace 제품을 구독하도록 허용합니다.

AWS Marketplace에 제품 ID가 있는 Amazon Bedrock 서버리스 모델만 해당됩니다.
aws-marketplace:구독 취소 IAM 자격 증명이 Amazon Bedrock 파운데이션 모델을 포함한 AWS Marketplace 제품을 구독 취소할 수 있도록 허용합니다. AWS Marketplace에 제품 ID가 있는 Amazon Bedrock 서버리스 모델만 해당됩니다.
aws-marketplace:ViewSubscriptions IAM 자격 증명이 Amazon Bedrock 파운데이션 모델을 포함한 AWS Marketplace 제품 목록을 반환하도록 허용합니다. AWS Marketplace에 제품 ID가 있는 Amazon Bedrock 서버리스 모델만 해당됩니다.
참고

aws-marketplace:Subscribe 작업의 경우에만 aws-marketplace:ProductId 조건 키를 사용하여 특정 모델로 구독을 제한할 수 있습니다.

IAM 자격 증명이 제품 ID가 있는 모델에 대한 액세스를 요청하는 경우

자격 증명에는 aws-marketplace:Subscribe를 허용하는 정책이 연결되어 있어야 합니다.

참고

자격 증명이 이미 한 AWS 리전의 모델을 구독한 경우가 다른 AWS 리전에 대해 aws-marketplace:Subscribe 거부되더라도 모델을 사용할 수 있는 모든 리전에서 해당 자격 증명이 액세스를 요청할 수 있습니다.

정책을 만드는 방법에 대한 자세한 내용은 이미 AWS 계정가 있는 경우를 참조하세요.

aws-marketplace:Subscribe 작업의 경우에만 aws-marketplace:ProductId 조건 키를 사용하여 특정 모델로 구독을 제한할 수 있습니다.

참고

다음 공급자의 모델은를 통해 판매되지 AWS Marketplace 않으며 제품 키가 없으므로 aws-marketplace 작업 범위를 지정할 수 없습니다.

  • Amazon

  • DeepSeek

  • Mistral AI

  • Meta

  • Qwen

  • OpenAI

그러나 Amazon Bedrock 작업을 거부하고 Resource 필드에 이러한 모델 IDs를 지정하여 이러한 모델의 사용을 방지할 수 있습니다. 문제 해결 예는 액세스 권한이 이미 부여된 후 자격 증명이 모델을 사용하지 못하도록 방지를 참조하세요.

섹션을 선택하면 특정 사용 사례에 대한 IAM 정책 예제를 볼 수 있습니다.

ID가 제품 ID가 있는 모델에 대한 액세스를 요청하는 것을 방지

IAM 엔터티가 제품 ID가 있는 특정 모델에 대한 액세스를 요청하지 못하도록 하려면 aws-marketplace:Subscribe 작업을 거부하고 Condition 필드의 범위를 모델의 제품 ID로 지정하는 IAM 정책을 사용자에게 연결합니다.

예를 들어 다음 정책을 자격 증명에 연결하여 Anthropic Claude 3.5 Sonnet 모델 구독을 방지할 수 있습니다.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "aws-marketplace:Subscribe" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws-marketplace:ProductId": [ "prod-m5ilt4siql27k" ] } } } ] }
참고

이 정책을 사용하면 IAM 엔터티는 기본적으로 새로 추가된 모든 모델에 액세스할 수 있습니다.

자격 증명이 이미 하나 이상의 리전에서 모델을 구독한 경우 이 정책은 다른 리전에서의 액세스를 차단하지 않습니다. 대신 액세스 권한이 이미 부여된 후 자격 증명이 모델을 사용하지 못하도록 방지에서 예제를 확인하여 사용을 방지할 수 있습니다.

액세스 권한이 이미 부여된 후 자격 증명이 모델을 사용하지 못하도록 방지

IAM 자격 증명에 모델에 대한 액세스 권한이 이미 부여된 경우 모든 Amazon Bedrock 작업을 거부하고 Resource 필드를 파운데이션 모델의 ARN으로 조정하여 모델 사용을 방지할 수 있습니다.

예를 들어 다음 정책을 자격 증명에 연결하여 모든 AWS 리전에서 Anthropic Claude 3.5 Sonnet 모델을 사용하지 못하도록 할 수 있습니다.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "bedrock:*" ], "Resource": [ "arn:aws:bedrock:*::foundation-model/anthropic.claude-3-5-sonnet-20240620-v1:0" ] } ] }

SDK 및 CLI를 사용하여 모델 액세스 관리

모델 액세스는 모델을 호출하는 것 외에도 SDK를 사용하여 관리할 수 있습니다. 다음 단계를 사용하여 모델 액세스를 생성/삭제하고 액세스가 이미 존재하는지 여부를 확인할 수 있습니다. 이는 타사 모델에만 적용됩니다.

다음 단계에 따라 프로그래밍 방식으로 모델 액세스를 관리합니다.

사전 조건

  • AmazonBedrockFullAccess 정책을 SDK/CLI에 사용되는 IAM 사용자/역할에 연결합니다.

  • Bedrock SDK 설정: Amazon Bedrock용 AWS SDK 설정

    참고: 아래 지침에서는 예제에 python3를 사용합니다.

  • 액세스를 관리해야 하는 모델의 modelId를 기록해 둡니다.

1단계: 파운데이션 모델 계약 제안 나열

이 API를 사용하여 특정 모델에 대한 계약 제안을 가져옵니다. 그러면 다음 단계에서 모델 액세스를 생성하는 데 사용되는 offerToken이 제공됩니다.

설명서

AWS CLI
aws bedrock list-foundation-model-agreement-offers --model-id <ModelId>
Python
# Placeholder for modelId model_id = "<enter model id here>" # Placeholder for offerId offer_id = "<enter offer id here>" try: # offerType= "ALL" means both public and private offers, if offerType isn't defined, the default would be "PUBLIC" model_agreement_offers_response = bedrock_client.list_foundation_model_agreement_offers(modelId=model_id,offerType="ALL") print(model_agreement_offers_response) except ClientError as e: print(f"Failed to list foundation model offers for modelId: {model_id} due to the following error: {e}")

2단계: [Anthropic 모델의 경우 한 번만 필요] 최초 사용자에 대한 사용 사례 적용

Anthropic 모델에만 필요한 최초 사용자 사용 사례 양식을 작성하는 데 사용됩니다. 이는 계정에서 Anthropic 모델에 액세스하기 위한 사전 조건입니다. 이 API는이 양식을 다시 작성해야 하는 옵트인 리전을 제외하고 모든 상용 리전에서 계정당 또는 AWS 조직당 한 번만 필요합니다.

설명서

AWS CLI
aws bedrock put-use-case-for-model-access \ --form-data <Base64EncodedFormData>
Python
# Placeholder for form data, replace the names COMPANY_NAME = "<enter company name here>" COMPANY_WEBSITE = "<enter company website here>" INTENDED_USERS = "1" #for external users INDUSTRY_OPTION = "<enter industry option here>" OTHER_INDUSTRY_OPTION = "<enter other industry option here>" USE_CASES = "<enter use cases here>" form_data = { "companyName": COMPANY_NAME, "companyWebsite": COMPANY_WEBSITE, "intendedUsers": INTENDED_USERS, "industryOption": INDUSTRY_OPTION, "otherIndustryOption": OTHER_INDUSTRY_OPTION, "useCases": USE_CASES } form_data_json = json.dumps(form_data) model_access_response = bedrock_client.put_use_case_for_model_access(formData=form_data_json)

CLI의 경우 양식 데이터는 아래 양식의 base64 인코딩 json입니다.

{ "companyName": COMPANY_NAME, "companyWebsite": COMPANY_WEBSITE, "intendedUsers": INTENDED_USERS, "industryOption": INDUSTRY_OPTION, "otherIndustryOption": OTHER_INDUSTRY_OPTION, "useCases": USE_CASES }
  • COMPANY_NAME: 최대 길이가 128인 문자열

  • COMPANY_WEBSITE: 최대 길이가 128인 문자열

  • INTENDED USERS: 0, 1 또는 2. 0: 내부, 1: 외부, 2: 내부 및 외부

  • INDUSTRY_OPTION: 최대 길이가 128인 문자열

  • OTHER_INDUSTRY_OPTION: 최대 길이가 128인 문자열

  • USE_CASES: 최대 길이가 8192인 문자열

3단계: 파운데이션 모델 계약 생성

파운데이션 모델에 대한 계약(액세스)을 생성하는 데 사용됩니다. 위의 제안 토큰과 modelId를 사용합니다.

설명서

AWS CLI
aws bedrock create-foundation-model-agreement \ --model-id <ModelId> \ --offer-token <OfferToken>
Python
offer_token= '' for agreement_offer in model_agreement_offers_response['offers']: if agreement_offer['offerId'] == offer_id: offer_token = agreement_offer['offerToken'] print(f"offer token found. Offer token is {offer_token}") break if(not offer_token): print(f"Offer token for modelId: {model_id} is not found") foundation_model_agreement_reponse = bedrock_client.create_foundation_model_agreement(offerToken= offer_token , modelId= model_id)

4단계: 파운데이션 모델 가용성 가져오기

파운데이션 모델에 현재 액세스 권한이 있는지 여부를 확인하는 데 사용됩니다. 위의 modelId를 사용합니다.

설명서

AWS CLI
aws bedrock get-foundation-model-availability \ --model-id <ModelId>
Python
model_availability_response = bedrock_client.get_foundation_model_availability(modelId=model_id)
예상 응답

agreementAvailability - 액세스가 있는 AVAILABLE 경우 NOT_AVAILABLE 액세스가 존재하지 않습니다.

{ "modelId": "anthropic.claude-sonnet-4-20250514-v1:0", "agreementAvailability": { "status": "AVAILABLE" }, "authorizationStatus": "AUTHORIZED", "entitlementAvailability": "AVAILABLE", "regionAvailability": "AVAILABLE" }

[선택 사항] 5단계: 파운데이션 모델 계약 삭제

파운데이션 모델 계약(액세스)을 삭제하는 데 사용됩니다. 위의 modelId를 사용합니다.

참고

모델을 호출하면 액세스가 다시 생성되므로 모델 액세스를 삭제하는 것만으로는 향후 액세스를 차단할 수 없습니다. 액세스가 다시 생성되지 않도록 하려면 모델에 제한적인 거부 IAM 정책을 적용합니다.

설명서

AWS CLI
aws bedrock delete-foundation-model-agreement \ --model-id <ModelId>
Python
delete_foundation_model_agreement_reponse = bedrock_client.delete_foundation_model_agreement(modelId= model_id)

AWS GovCloud(미국)에서 Amazon Bedrock 파운데이션 모델 액세스

AWS GovCloud(미국) 계정은 표준 AWS 상용 계정과 one-to-one로 연결됩니다. 이 연결된 상용 계정은 결제, 서비스 액세스, 지원 목적 및 Amazon Bedrock Model Marketplace에 대한 액세스에 사용됩니다. GovCloud와 상용 계정 간의 관계에 대한 자세한 내용은 AWS GovCloud(미국)의 표준 계정 연결을 참조하세요.

타사 모델의 경우 연결된 AWS 상용 계정과 AWS GovCloud 계정 모두에서 모델 액세스를 활성화해야 합니다. Amazon Bedrock에서 제공하는 모델의 경우 GovCloud 계정에서만 모델 액세스를 활성화하면 됩니다. 이것은 수동 프로세스입니다.

연결된 AWS 상용 계정에서 AWS GovCloud에 대한 모델 액세스 활성화(타사 모델만 해당)

다음 두 가지 방법을 사용하여 AWS 상용 계정에서 모델 액세스를 활성화할 수 있습니다.

  1. us-east-1 또는 us-west-2 리전에서 AWS 상용 계정에 필요한 모델을 호출합니다.

  2. us-east-1 또는 us-west-2 리전의 AWS 상용 계정용 SDK/CLI를 사용하여 프로그래밍 방식으로 모델에 대한 액세스를 활성화합니다. 이는 이전 섹션에 설명된 단계에 따라 수행할 수 있습니다.

AWS GovCloud 계정에 대한 모델 액세스 활성화

AWS GovCloud(미국)에서는 us-gov-west-1 리전의 Amazon Bedrock 콘솔에서 모델 액세스 페이지를 사용하여 아래에 설명된 대로 파운데이션 모델을 활성화합니다.

  1. Amazon Bedrock 파운데이션 모델에 대한 액세스를 요청하거나 액세스를 수정할 수 있는 모델 액세스를 요청할 권한이 있는지 확인합니다. AmazonBedrockFullAccess 정책을 사용 중인 사용자/역할에 연결하는 것이 좋습니다.

  2. https://console.aws.amazon.com/bedrock/ us-gov-west-1 리전의 Amazon Bedrock 콘솔에 로그인합니다.

  3. 왼쪽 탐색 창의 Bedrock 구성에서 모델 액세스를 선택합니다.

  4. 모델 액세스 페이지에서 모델 액세스 수정을 선택합니다.

  5. 계정으로 액세스하려는 모델을 선택하고, 계정으로 액세스하지 않으려는 모델을 선택 취소합니다. 다음과 같은 옵션이 있습니다.

    1. 모델에 대한 액세스를 요청하기 전에 최종 사용자 라이선스 계약(EULA)에서 모델 사용 약관을 검토해야 합니다.

    2. 개별 모델 옆의 확인란을 선택하거나 선택 취소합니다.

    3. 모든 모델을 선택하거나 선택 취소하려면 상단 확인란을 선택합니다.

    4. 모델 그룹화 방법을 선택한 다음, 그룹 옆의 확인란을 선택하여 그룹의 모든 모델을 선택 또는 선택 취소합니다. 예를 들어 공급자별로 그룹화를 선택한 다음 Cohere 옆의 확인란을 선택하여 모든 Cohere 모델을 확인하거나 선택 취소할 수 있습니다.

  6. 다음을 선택합니다.

  7. Anthropic 모델에 대한 액세스를 추가하는 경우 사용 사례 세부 정보를 설명해야 합니다. 사용 사례 세부 정보 제출을 선택하고 양식을 작성한 다음, 양식 제출을 선택합니다. 제공업체에 대한 양식을 작성할 때 답변한 내용에 따라 액세스 알림이 허용되거나 거부됩니다.

  8. 변경하려는 액세스를 검토한 후 약관을 읽어보세요.

  9. 약관에 동의하는 경우 제출을 선택합니다. 변경 사항이 콘솔에 반영되려면 몇 분 정도 걸릴 수 있습니다.

  10. 요청이 성공하면 액세스 상태액세스 권한 부여됨 또는 요청 가능으로 변경됩니다.