View a markdown version of this page

Pré-requisitos e permissões - Amazon Bedrock

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:region:account-id:advanced-prompt-optimization-job/* Gravar
GetAdvancedPromptOptimizationJob bedrock:GetAdvancedPromptOptimizationJob arn:aws:bedrock:region:account-id:advanced-prompt-optimization-job/* Ler
ListAdvancedPromptOptimizationJobs bedrock:ListAdvancedPromptOptimizationJobs arn:aws:bedrock:region:account-id:advanced-prompt-optimization-job/* Lista
StopAdvancedPromptOptimizationJob bedrock:StopAdvancedPromptOptimizationJob arn:aws:bedrock:region:account-id:advanced-prompt-optimization-job/* Gravar
BatchDeleteAdvancedPromptOptimization Jobs bedrock:BatchDeleteAdvancedPromptOptimization Job arn:aws:bedrock:region:account-id:advanced-prompt-optimization-job/* 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:region::foundation-model/model-id
Converse (sem streaming) bedrock:InvokeModel arn:aws:bedrock:region::foundation-model/model-id
Cross-region perfil de inferência bedrock:InvokeModelWithResponseStream arn:aws:bedrock:*:account-id:inference-profile/profile-id
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 encryptionConfig parâ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).