Crie uma função de serviço para fluxos rápidos no Amazon Bedrock - 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á.

Crie uma função de serviço para fluxos rápidos no Amazon Bedrock

Para criar e gerenciar um fluxo imediato no Amazon Bedrock, você deve usar uma função de serviço com as permissões necessárias descritas nesta página. Você pode usar uma função de serviço que o Amazon Bedrock cria automaticamente para você no console ou usar uma que você mesmo personalize.

nota

Se você usar a função de serviço que o Amazon Bedrock cria automaticamente para você no console, ele anexará permissões dinamicamente se você adicionar nós ao seu fluxo e salvá-lo. No entanto, se você remover os nós, as permissões não serão excluídas, então você terá que excluir as permissões de que não precisa mais. Para gerenciar as permissões da função que foi criada para você, siga as etapas em Modificar uma função no Guia do usuário do IAM.

Para criar uma função de serviço personalizada para fluxos de Prompt, crie uma função do IAM seguindo as etapas em Criar uma função para delegar permissões a um AWS serviço. Em seguida, anexe as seguintes permissões à função.

  • Política de confiança

  • As seguintes permissões baseadas em identidade:

    • Acesso aos modelos básicos do Amazon Bedrock que o fluxo imediato usará. Adicione cada modelo usado no fluxo de solicitações à Resource lista.

    • Se você invocar um modelo usando a taxa de transferência provisionada, permissões para acessar e invocar o modelo provisionado. Adicione cada modelo usado no fluxo de solicitações à Resource lista.

    • Se você invocar um modelo personalizado, permissões para acessar e invocar o modelo personalizado. Adicione cada modelo usado no fluxo de solicitações à Resource lista.

    • Permissões com base nos nós que você adiciona ao fluxo:

      • Se você incluir nós de prompt que usam prompts do Gerenciamento de prompts, permissões para acessar o prompt. Adicione cada prompt usado no fluxo de prompts à Resource lista.

      • Se você incluir nós da base de conhecimento, permissões para consultar a base de conhecimento. Adicione cada base de conhecimento consultada no fluxo de solicitações à Resource lista.

      • Se você incluir nós do agente, permissões para invocar um alias do agente. Adicione cada agente que é chamado no fluxo de solicitações à Resource lista.

      • Se você incluir nós de recuperação do S3, permissões para acessar o bucket do Amazon S3 a partir do qual os dados serão recuperados. Adicione cada bucket do qual os dados são recuperados à Resource lista.

      • Se você incluir nós de armazenamento do S3, permissões para gravar no bucket do Amazon S3 no qual os dados de saída serão armazenados. Adicione cada bucket no qual os dados são gravados na Resource lista.

      • Se você criptografou qualquer recurso invocado em um fluxo imediato, permissões para descriptografar a chave. Adicione cada chave à Resource lista.

Talvez você também precise anexar as seguintes políticas baseadas em recursos:

Relação de confiança

Anexe a seguinte política de confiança à função de execução de fluxo imediato para permitir que o Amazon Bedrock assuma essa função e gerencie um fluxo imediato. Substitua os valores conforme necessário. A política contém chaves de condição opcionais (consulte Chaves de condição para Amazon Bedrock e chaves AWS globais de contexto de condição) no Condition campo que recomendamos que você use como uma prática recomendada de segurança.

nota

Como prática recomendada, substitua o * por um ID de fluxo imediato depois de criá-lo.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "FlowsTrustBedrock", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "${account-id}" }, "ArnLike": { "AWS:SourceArn": "arn:aws:bedrock:${region}:${account-id}:flow/*" } } } ] }

Permissões baseadas em identidade para a função de serviço de fluxos.

Anexe a política a seguir para fornecer permissões para a função de serviço, substituindo os valores conforme necessário. A política contém as seguintes declarações. Omita uma declaração se ela não for aplicável ao seu caso de uso. A política contém chaves de condição opcionais (consulte Chaves de condição para Amazon Bedrock e chaves AWS globais de contexto de condição) no Condition campo que recomendamos que você use como uma prática recomendada de segurança.

  • Acesso aos modelos básicos do Amazon Bedrock que o fluxo imediato usará. Adicione cada modelo usado no fluxo de solicitações à Resource lista.

  • Se você invocar um modelo usando a taxa de transferência provisionada, permissões para acessar e invocar o modelo provisionado. Adicione cada modelo usado no fluxo de solicitações à Resource lista.

  • Se você invocar um modelo personalizado, permissões para acessar e invocar o modelo personalizado. Adicione cada modelo usado no fluxo de solicitações à Resource lista.

  • Permissões com base nos nós que você adiciona ao fluxo:

    • Se você incluir nós de prompt que usam prompts do Gerenciamento de prompts, permissões para acessar o prompt. Adicione cada prompt usado no fluxo de prompts à Resource lista.

    • Se você incluir nós da base de conhecimento, permissões para consultar a base de conhecimento. Adicione cada base de conhecimento consultada no fluxo de solicitações à Resource lista.

    • Se você incluir nós do agente, permissões para invocar um alias do agente. Adicione cada agente que é chamado no fluxo de solicitações à Resource lista.

    • Se você incluir nós de recuperação do S3, permissões para acessar o bucket do Amazon S3 a partir do qual os dados serão recuperados. Adicione cada bucket do qual os dados são recuperados à Resource lista.

    • Se você incluir nós de armazenamento do S3, permissões para gravar no bucket do Amazon S3 no qual os dados de saída serão armazenados. Adicione cada bucket no qual os dados são gravados na Resource lista.

    • Se você criptografou qualquer recurso invocado em um fluxo imediato, permissões para descriptografar a chave. Adicione cada chave à Resource lista.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "InvokeModel", "Effect": "Allow", "Action": [ "bedrock:InvokeModel" ], "Resource": [ "arn:aws:bedrock:${region}::foundation-model/${model-id}" ] }, { "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:GetProvisionedModelThroughput" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:provisioned-model/${model-id}" ] }, { "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:GetCustomModel" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:custom-model/${model-id}" ] }, { "Sid": "UsePromptManagement", "Effect": "Allow", "Action": [ "bedrock:GetPrompt" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:prompt/${prompt-id}" ] }, { "Sid": "QueryKnowledgeBase", "Effect": "Allow", "Action": [ "bedrock:Retrieve", "bedrock:RetrieveAndGenerate" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:knowledge-base/knowledge-base-id" ] }, { "Sid": "InvokeAgent", "Effect": "Allow", "Action": [ "bedrock:InvokeAgent" ], "Resource": [ "arn:aws:bedrock:${region}:${account-id}:agent-alias/${agent-alias-id}" ] }, { "Sid": "AccessS3Bucket", "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::${bucket-name}/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${account-id}" } } }, { "Sid": "WriteToS3Bucket", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::${bucket-name}", "arn:aws:s3:::${bucket-name}/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${account-id}" } } }, { "Sid": "KMSPermissions", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:${region}:${account-id}:key/${key-id}" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "${account-id}" } } } ] }

Políticas baseadas em recursos para fluxos imediatos

Se você incluir um nó de função Lambda ou um nó Amazon Lex em um fluxo de prompt, deverá anexar as seguintes políticas a cada recurso para fornecer permissões para o Amazon Bedrock acessá-lo ao invocar o fluxo de prompt.

Política baseada em recursos para permitir que o Amazon Bedrock invoque uma função Lambda ao invocar um fluxo imediato

Siga as etapas em Usando políticas baseadas em recursos para o Lambda e anexe a seguinte política baseada em recursos a uma função do Lambda para permitir que o Amazon Bedrock acesse a função Lambda para seu fluxo imediato, substituindo os valores conforme necessário. A política contém chaves de condição opcionais (consulte Chaves de condição para Amazon Bedrock e chaves AWS globais de contexto de condição) no Condition campo que recomendamos que você use como uma prática recomendada de segurança.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowBedrockToAccessLambdaFunction", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:${region}:${account-id}:function:${function-name}", "Condition": { "StringEquals": { "AWS:SourceAccount": "${account-id}" }, "ArnLike": { "AWS:SourceArn": "arn:aws:bedrock:${region}:${account-id}:flows/${flow-id}" } } }] }

Política baseada em recursos para permitir que o Amazon Bedrock chame um bot do Amazon Lex

Siga as etapas em Exemplos de políticas baseadas em recursos para o Amazon Lex e anexe a seguinte política baseada em recursos a um bot do Amazon Lex para permitir que o Amazon Bedrock o chame em um fluxo imediato, substituindo os valores conforme necessário. A política contém chaves de condição opcionais (consulte Chaves de condição para Amazon Bedrock e chaves AWS globais de contexto de condição) no Condition campo que recomendamos que você use como uma prática recomendada de segurança.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowBedrockToAccessLexBot", "Effect": "Allow", "Principal": { "Service": [ "bedrock.amazonaws.com" ] }, "Action": [ "lex:RecognizeUtterance" ], "Resource": [ "arn:aws:lex:${region}:${account-id}:bot-alias/${bot-id}/${bot-alias-id}" ], "Condition": { "StringEquals": { "AWS:SourceAccount": ${account-id} }, "ArnEquals": { "AWS:SourceArn": "arn:aws:bedrock:${region}:${account-id}:flows/${flow-id}" } } } ]

Política fundamental para permitir que o Amazon Bedrock criptografe e descriptografe um fluxo

Siga as etapas em Criação de uma política de chaves e anexe a seguinte política de chaves a uma chave KMS para permitir que o Amazon Bedrock criptografe e descriptografe um fluxo com a chave, substituindo os valores conforme necessário. A política contém chaves de condição opcionais (consulte Chaves de condição para Amazon Bedrock e chaves AWS globais de contexto de condição) no Condition campo que recomendamos que você use como uma prática recomendada de segurança.

{ "Sid": "EncryptFlowKMS", "Effect": "Allow", "Principal": { "Service": "bedrock.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext": "arn:aws:bedrock:${region}:${account-id}:flow/${flow-id}" } } }