As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Pré-requisitos e permissões
Pré-requisitos
Quando você envia um trabalho de Advanced Prompt Optimization, o Amazon Bedrock acessa recursos em sua conta em seu nome usando as permissões de sua identidade de chamada. O usuário ou a função do IAM que você usa para chamar a API ou o AWS console de acesso deve ter permissões para:
Gerencie trabalhos de otimização avançada de solicitações
Invoque os modelos de base alvo
Leia os dados de entrada e grave os resultados no seu bucket do Amazon S3
(Opcional) Use sua AWS KMS chave para criptografar a saída do trabalho com uma chave gerenciada pelo cliente (CMK) ou para acessar buckets do S3 que usam CMK
(Opcional) Invoque sua função Lambda para avaliação personalizada
Permissões obrigatórias do IAM
Permissões de API
Cada API Advanced Prompt Optimization exige uma ação específica do IAM no recurso de trabalho:
| Operação de API | Ação do IAM | Recurso | Nível de acesso |
|---|---|---|---|
| CreateAdvancedPromptOptimizationJob | bedrock:CreateAdvancedPromptOptimizationJob |
arn:aws:bedrock: |
Gravar |
| GetAdvancedPromptOptimizationJob | bedrock:GetAdvancedPromptOptimizationJob |
arn:aws:bedrock: |
Ler |
| ListAdvancedPromptOptimizationJobs | bedrock:ListAdvancedPromptOptimizationJobs |
arn:aws:bedrock: |
Lista |
| StopAdvancedPromptOptimizationJob | bedrock:StopAdvancedPromptOptimizationJob |
arn:aws:bedrock: |
Gravar |
| BatchDeleteAdvancedPromptOptimization Jobs | bedrock:BatchDeleteAdvancedPromptOptimization Job |
arn:aws:bedrock: |
Gravar |
Permissões de invocação do modelo
Quando você cria um trabalho, o Advanced Prompt Optimization invoca o (s) modelo (s) de destino em seu nome usando suas credenciais de chamador (sessão de acesso direto). Sua identidade do IAM deve ter permissão para invocar os modelos especificados:
| Caminho de inferência | Ação do IAM necessária | Atributo ARN |
|---|---|---|
| ConverseStream (atual) | bedrock:InvokeModelWithResponseStream |
arn:aws:bedrock: |
| Converse (sem streaming) | bedrock:InvokeModel |
arn:aws:bedrock: |
| Cross-region perfil de inferência | bedrock:InvokeModelWithResponseStream |
arn:aws:bedrock:*: |
Importante
Se o acesso ao modelo não estiver habilitado para um modelo em sua conta, o trabalho falhará com: “Nenhuma API de inferência está acessível para o modelo. Verifique se a função tem permissão para invocar o modelo.”
Permissões de bucket do S3
Sua identidade de chamada deve ter acesso de leitura ao conjunto de dados de entrada e acesso de gravação ao local de saída. O bucket do S3 deve estar na mesma região do trabalho.
{ "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" }, { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET" }
Se seu bucket do S3 usa criptografia CMK, consulte a AWS KMS seção Criptografia com para ver as permissões necessárias do KMS.
Criptografia com AWS KMS (opcional)
Você pode usar chaves AWS KMS gerenciadas pelo cliente (CMKs) com a Otimização Avançada de Prompt de duas maneiras:
Criptografia de saída de trabalho — Criptografe os resultados da otimização com sua CMK especificando o
encryptionConfigparâmetro ao criar um trabalho.Criptografia de bucket do S3 — Se seu bucket do S3 usa criptografia do lado do servidor com uma chave KMS (SSE-KMS), sua identidade precisa de permissões do KMS para ler a entrada e gravar os resultados nesse bucket.
Você pode usar a mesma chave KMS para ambas ou usar chaves separadas.
As ações necessárias do KMS dependem de como você usa o KMS:
| Caso de uso | Ações necessárias |
|---|---|
Criptografar a saída do trabalho () encryptionConfig |
kms:Encrypt, kms:GenerateDataKey, kms:DescribeKey |
| Leia do bucket S3 SSE-KMS criptografado | kms:Decrypt |
| Gravar em um SSE-KMS bucket S3 criptografado | kms:GenerateDataKey |
Chave KMS única
Se você usar a mesma chave para criptografia de saída e criptografia de bucket do S3:
{ "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/your-kms-key-id" }
Chaves KMS separadas para criptografia de entrada e saída de tarefas do S3
Se seu bucket de entrada do S3 usar uma chave KMS e você quiser criptografar a saída do trabalho com uma chave KMS diferente:
{ "Sid": "KMSDecryptS3Input", "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/s3-bucket-kms-key-id" }, { "Sid": "KMSEncryptJobOutput", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:GenerateDataKey", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-west-2:123456789012:key/output-encryption-kms-key-id" }
Permissões Lambda de avaliação personalizada (opcional)
Se você usa uma função Lambda personalizada para avaliar a qualidade do prompt, sua identidade de chamada deve ter permissão para invocá-la:
{ "Effect": "Allow", "Action": ["lambda:InvokeFunction","lambda:GetFunction"], "Resource": "arn:aws:lambda:us-west-2:123456789012:function:my-evaluation-metric" }
Políticas do IAM de exemplo
Identity-based política: permitir o gerenciamento de tarefas do AdVPO e a invocação do modelo
Anexe essa política ao usuário ou função do IAM que criará e gerenciará trabalhos do AdVPO.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateAndManageAdvPOJobs", "Effect": "Allow", "Action": [ "bedrock:CreateAdvancedPromptOptimizationJob", "bedrock:GetAdvancedPromptOptimizationJob", "bedrock:ListAdvancedPromptOptimizationJobs", "bedrock:StopAdvancedPromptOptimizationJob", "bedrock:BatchDeleteAdvancedPromptOptimizationJob" ], "Resource": "arn:aws:bedrock:us-east-1:123456789012:advanced-prompt-optimization-job/*" }, { "Sid": "InvokeModelsForOptimization", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:*::foundation-model/*", "arn:aws:bedrock:*:123456789012:inference-profile/*" ] }, { "Sid": "S3AccessForInputAndOutput", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::my-advpo-bucket/*" }, { "Sid": "S3ListBucket", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::my-advpo-bucket" } ] }
Identity-based política: Read-only acesso a empregos do AdVPO
Use essa política para usuários que só precisam ver o status e os resultados do trabalho.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewAdvPOJobs", "Effect": "Allow", "Action": [ "bedrock:GetAdvancedPromptOptimizationJob", "bedrock:ListAdvancedPromptOptimizationJobs" ], "Resource": "arn:aws:bedrock:us-east-1:123456789012:advanced-prompt-optimization-job/*" }, { "Sid": "ReadOutputFromS3", "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::my-advpo-bucket/output/*" } ] }
Identity-based política: restringir a modelos específicos
Use essa política para permitir o AdVPO somente com modelos específicos (por exemplo, somente Claude Sonnet).
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AdvPOJobManagement", "Effect": "Allow", "Action": [ "bedrock:CreateAdvancedPromptOptimizationJob", "bedrock:GetAdvancedPromptOptimizationJob", "bedrock:ListAdvancedPromptOptimizationJobs", "bedrock:StopAdvancedPromptOptimizationJob" ], "Resource": "arn:aws:bedrock:us-east-1:123456789012:advanced-prompt-optimization-job/*" }, { "Sid": "InvokeOnlyClaudeSonnet", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:*::foundation-model/anthropic.claude-sonnet-*", "arn:aws:bedrock:*:123456789012:inference-profile/us.anthropic.claude-sonnet-*" ] }, { "Sid": "S3Access", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::my-advpo-bucket/*" } ] }
Política de negação: evitar o uso do AdVPO (exemplo de SCP)
Use como uma Política de Controle de Serviço (SCP) para evitar o uso do AdVPO em uma organização.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAdvPO", "Effect": "Deny", "Action": [ "bedrock:CreateAdvancedPromptOptimizationJob", "bedrock:StopAdvancedPromptOptimizationJob", "bedrock:BatchDeleteAdvancedPromptOptimizationJob" ], "Resource": "*" } ] }
Cross-region inferência
O serviço pode usar inferência entre regiões (CRIS) para avaliação e reescrita imediata. Para regiões europeias, o serviço usará regiões CRIS da UE. Para as seguintes regiões, ele pode usar o CRIS global: ap-south-1 (Mumbai), sa-east-1 (São Paulo), ap-northeast-2 (Seul), ap-southeast-1 (Cingapura).