

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á.

# Segurança
<a name="security-overview"></a>

A segurança no Amazon Bedrock abrange várias camadas de proteção para seus dados, aplicativos e infraestrutura.

**Topics**
+ [Proteção de dados](data-protection.md)
+ [Gerenciamento de identidade e acesso para o Amazon Bedrock](security-iam.md)
+ [Acesso entre contas ao bucket do Amazon S3 para trabalhos de importação de modelos personalizados](cross-account-access-cmi.md)
+ [Validação de conformidade do Amazon Bedrock](compliance-validation.md)
+ [Resposta a incidentes no Amazon Bedrock](security-incident-response.md)
+ [Resiliência no Amazon Bedrock](disaster-recovery-resiliency.md)
+ [Segurança da infraestrutura no Amazon Bedrock](infrastructure-security.md)
+ [Prevenção contra o ataque do “substituto confuso” em todos os serviços](cross-service-confused-deputy-prevention.md)
+ [Análise de configuração e vulnerabilidade no Amazon Bedrock](vulnerability-analysis-and-management.md)
+ [Detecção de abuso no Amazon Bedrock](abuse-detection.md)
+ [Segurança de injeção de prompt](prompt-injection.md)

# Proteção de dados
<a name="data-protection"></a>

O [modelo de responsabilidade AWS compartilhada](https://aws.amazon.com/compliance/shared-responsibility-model/) se aplica à proteção de dados no Amazon Bedrock. Conforme descrito neste modelo, AWS é responsável por proteger a infraestrutura global que executa todos os Nuvem AWS. Você é responsável por manter o controle sobre o conteúdo hospedado nessa infraestrutura. Você também é responsável pelas tarefas de configuração e gerenciamento de segurança dos Serviços da AWS que usa. Para saber mais sobre a privacidade de dados, consulte as [Data Privacy FAQ](https://aws.amazon.com/compliance/data-privacy-faq/). Para saber mais sobre a proteção de dados na Europa, consulte a postagem do blog [AWS Shared Responsibility Model and RGPD](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) no *Blog de segurança da AWS *.

Para fins de proteção de dados, recomendamos que você proteja Conta da AWS as credenciais e configure usuários individuais com Centro de Identidade do AWS IAM ou AWS Identity and Access Management (IAM). Dessa maneira, cada usuário receberá apenas as permissões necessárias para cumprir suas obrigações de trabalho. Recomendamos também que você proteja seus dados das seguintes formas:
+ Use uma autenticação multifator (MFA) com cada conta.
+ Use SSL/TLS para se comunicar com AWS os recursos. Exigimos TLS 1.2 e recomendamos TLS 1.3.
+ Configure a API e o registro de atividades do usuário com AWS CloudTrail. Para obter informações sobre o uso de CloudTrail trilhas para capturar AWS atividades, consulte Como [trabalhar com CloudTrail trilhas](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) no *Guia AWS CloudTrail do usuário*.
+ Use soluções de AWS criptografia, juntamente com todos os controles de segurança padrão Serviços da AWS.
+ Use serviços gerenciados de segurança avançada, como o Amazon Macie, que ajuda a localizar e proteger dados sensíveis armazenados no Amazon S3.
+ Se você precisar de módulos criptográficos validados pelo FIPS 140-3 ao acessar AWS por meio de uma interface de linha de comando ou de uma API, use um endpoint FIPS. Para saber mais sobre os endpoints FIPS disponíveis, consulte [Federal Information Processing Standard (FIPS) 140-3](https://aws.amazon.com/compliance/fips/).

É altamente recomendável que nunca sejam colocadas informações confidenciais ou sensíveis, como endereços de e-mail de clientes, em tags ou campos de formato livre, como um campo **Nome**. Isso inclui quando você trabalha com o Amazon Bedrock ou outro Serviços da AWS usando o console, a API ou AWS SDKs. AWS CLI Quaisquer dados inseridos em tags ou em campos de texto de formato livre usados para nomes podem ser usados para logs de faturamento ou de diagnóstico. Se você fornecer um URL para um servidor externo, é fortemente recomendável que não sejam incluídas informações de credenciais no URL para validar a solicitação nesse servidor.

O Amazon Bedrock não armazena nem registra em log seus prompts e conclusões. O Amazon Bedrock não usa suas instruções e conclusões para treinar nenhum AWS modelo e não os distribui para terceiros.

O Amazon Bedrock tem um conceito de conta de implantação modelo — em cada região em AWS que o Amazon Bedrock está disponível, há uma conta de implantação desse tipo por provedor de modelo. Essas contas pertencem e são operadas pela equipe de serviço Amazon Bedrock. Os fornecedores de modelos não têm acesso a essas contas. Após a entrega de um modelo de um provedor de modelos para AWS, o Amazon Bedrock executará uma cópia profunda do software de inferência e treinamento de um provedor de modelos nessas contas para implantação. Como os provedores de modelos não têm acesso a essas contas, eles não terão acesso aos logs do Amazon Bedrock nem aos prompts e conclusões de clientes.

**Topics**
+ [Criptografia de dados](data-encryption.md)
+ [Proteja os dados usando a Amazon VPC e o AWS PrivateLink](usingVPC.md)

# Criptografia de dados
<a name="data-encryption"></a>

O Amazon Bedrock usa criptografia para proteger dados em repouso e dados em trânsito.

**Criptografia em trânsito**

No interior AWS, todos os dados entre redes em trânsito oferecem suporte à criptografia TLS 1.2.

As solicitações para a API e o console do Amazon Bedrock são efetuadas em uma conexão segura (SSL). Você passa funções AWS Identity and Access Management (IAM) para o Amazon Bedrock para fornecer permissões para acessar recursos em seu nome para treinamento e implantação. 

**Criptografia em repouso**

O Amazon Bedrock fornece [Criptografia de modelos personalizados](encryption-custom-job.md) em repouso.

## Gerenciamento de chaves
<a name="key-management"></a>

Use o AWS Key Management Service para gerenciar as chaves que você usa para criptografar seus recursos. Para obter mais informações, consulte [Conceitos do AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys). Você pode criptografar os recursos a seguir com uma chave do KMS.
+ Pelo Amazon Bedrock
  + Trabalhos de personalização de modelos e seus modelos personalizados de saída — Durante a criação de trabalhos no console ou especificando o `customModelKmsKeyId` campo na chamada da [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html)API.
  + Agentes — Durante a criação do agente no console ou especificando o `customerEncryptionKeyArn` campo na chamada da [CreateAgent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgent.html)API.
  + Tarefas de ingestão de fontes de dados para bases de conhecimento — durante a criação da base de conhecimento no console ou especificando o `kmsKeyArn` campo na chamada [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)de [UpdateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateDataSource.html)API.
  + Lojas de vetores no Amazon OpenSearch Service — Durante a criação da loja de vetores. Para obter mais informações, consulte [Criação, listagem e exclusão de coleções do Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-manage.html) e [Criptografia de dados em repouso para o Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html).
  + Trabalhos de avaliação de modelo — Quando você cria um trabalho de avaliação de modelo no console ou especifica um ARN chave ` customerEncryptionKeyId` na chamada [CreateEvaluationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateEvaluationJob.html)da API.
+ Por meio do Amazon S3 — Para obter mais informações, consulte [Usando criptografia do lado do servidor com AWS KMS chaves (SSE-KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)).
  + Dados de treinamento, validação e saída para personalização de modelos
  + Fontes de dados para bases de conhecimento
+ Por meio de AWS Secrets Manager — Para obter mais informações, consulte [Criptografia e descriptografia secretas](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) em AWS Secrets Manager
  + Armazenamentos de vetores para modelos de terceiros

Depois de criptografar um recurso, você pode encontrar o ARN da chave do KMS selecionando um recurso e visualizando os **Detalhes** dele no console ou usando as chamadas de API `Get` a seguir.
+ [GetModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetModelCustomizationJob.html)
+ [GetAgent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetAgent.html)
+ [GetIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html)

# Criptografia de modelos personalizados
<a name="encryption-custom-job"></a>

O Amazon Bedrock usa seus dados de treinamento com a [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html)ação ou com o [console](model-customization-submit.md) para criar um modelo personalizado que é uma versão refinada de um modelo básico do Amazon Bedrock. Seus modelos personalizados são gerenciados e armazenados porAWS.

O Amazon Bedrock usa os dados de ajuste que você fornece somente para ajustar um modelo de base do Amazon Bedrock. O Amazon Bedrock não usa dados de ajuste para nenhuma outra finalidade. Os dados de treinamento não são usados para treinar os modelos de base do Titan nem distribuídos para terceiros. Outros dados de uso, como registros de data e hora de uso IDs, conta registrada e outras informações registradas pelo serviço, também não são usados para treinar os modelos. 

Nenhum dos dados de treinamento ou de validação que você fornece para o ajuste é armazenado pelo Amazon Bedrock após a conclusão do trabalho de ajuste.

Observe que modelos ajustados podem reproduzir alguns dos dados de ajuste ao gerar conclusões. Se a aplicação não deve expor dados de ajuste de nenhuma forma, primeiro filtre os dados confidenciais dos seus dados de treinamento. Se você já tiver criado um modelo personalizado usando dados confidenciais por engano, poderá excluir esse modelo personalizado, filtrar as informações confidenciais dos dados de treinamento e criar um modelo.

Para criptografar modelos personalizados (incluindo modelos copiados), o Amazon Bedrock oferece duas opções:

1. **Chaves pertencentes à AWS**— Por padrão, o Amazon Bedrock criptografa modelos personalizados com. Chaves pertencentes à AWS Você não pode visualizar, gerenciarChaves pertencentes à AWS, usar ou auditar seu uso. No entanto, não é necessário realizar nenhuma ação nem alterar qualquer programa para proteger as chaves que criptografam seus dados. Para saber mais, consulte [Chaves pertencentes à AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk) no *Guia do desenvolvedor do AWS Key Management Service*.

1. **Chaves gerenciadas pelo cliente**: é possível optar por criptografar modelos personalizados com chaves gerenciadas pelo cliente que você mesmo gerencia. Para obter mais informações sobreAWS KMS keys, consulte [Chaves gerenciadas pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) no *Guia do AWS Key Management Service desenvolvedor*.

**nota**  
O Amazon Bedrock habilita automaticamente a criptografia em repousoChaves pertencentes à AWS, usando gratuitamente. Se você usar uma chave gerenciada pelo cliente, AWS KMS cobranças serão aplicadas. Para saber mais sobre preços, consulte [Preços do AWS Key Management Service](https://aws.amazon.com/kms/pricing/).

Para obter mais informações sobreAWS KMS, consulte o [Guia do AWS Key Management Service desenvolvedor](https://docs.aws.amazon.com/kms/latest/developerguide/).

**Topics**
+ [Como o Amazon Bedrock usa subsídios em AWS KMS](#encryption-br-grants)
+ [Compreender como criar uma chave gerenciada pelo cliente e como anexar uma política de chave a ela](#encryption-key-policy)
+ [Permissões e políticas de chave para modelos personalizados e copiados](#encryption-cm-statements)
+ [Monitorar as chaves de criptografia para o serviço Amazon Bedrock](#encryption-monitor-key)
+ [Dados de treinamento, validação e saída da criptografia](#encryption-custom-job-data)

## Como o Amazon Bedrock usa subsídios em AWS KMS
<a name="encryption-br-grants"></a>

Se você especificar uma chave gerenciada pelo cliente para criptografar um modelo personalizado para um trabalho de personalização ou cópia do modelo, o Amazon Bedrock cria uma [concessão](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) **primária** do KMS associada ao modelo personalizado em seu nome enviando uma solicitação para. [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)AWS KMS Essa concessão permite que o Amazon Bedrock acesse e use a chave gerenciada pelo cliente. As concessões AWS KMS são usadas para dar ao Amazon Bedrock acesso a uma chave KMS na conta de um cliente.

O Amazon Bedrock exige a concessão primária para usar a chave gerenciada pelo cliente nas seguintes operações internas:
+ Envie [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)solicitações AWS KMS para verificar se o ID simétrico da chave KMS gerenciada pelo cliente que você inseriu ao criar o trabalho é válido.
+ Envie [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)e [descriptografe](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) solicitações AWS KMS para gerar chaves de dados criptografadas pela chave gerenciada pelo cliente e descriptografe as chaves de dados criptografadas para que possam ser usadas para criptografar os artefatos do modelo.
+ Envie [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)solicitações AWS KMS para criar concessões secundárias com escopo reduzido com um subconjunto das operações acima (`DescribeKey`,,`Decrypt`)`GenerateDataKey`, para a execução assíncrona da personalização do modelo, cópia do modelo ou criação de taxa de transferência provisionada.
+ O Amazon Bedrock especifica um diretor que se aposenta durante a criação de subsídios, para que o serviço possa enviar uma solicitação. [RetireGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html)

Você tem acesso total à sua AWS KMS chave gerenciada pelo cliente. É possível revogar o acesso à concessão seguindo as etapas em [Retirar e revogar concessões](https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete) no [Guia do desenvolvedor do AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/) ou remover o acesso do serviço à sua chave gerenciada pelo cliente a qualquer momento modificando a [política de chave](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html). Se fizer isso, o Amazon Bedrock não poderá acessar o modelo personalizado criptografado pela chave.

### Ciclo de vida de concessões primárias e secundárias para modelos personalizados
<a name="encryption-primary-secondary-grants"></a>
+ As **Concessões primárias** têm uma vida útil longa e permanecem ativas enquanto os modelos personalizados associados ainda estiverem em uso. Quando um modelo personalizado é excluído, a concessão primária correspondente é automaticamente retirada.
+ As **concessões secundárias** duram pouco tempo. Elas são automaticamente retiradas assim que a operação que o Amazon Bedrock executa em nome dos clientes é concluída. Por exemplo, quando um trabalho de cópia de modelo é concluído, a concessão secundária que permite que o Amazon Bedrock criptografe o modelo personalizado copiado é retirada imediatamente.

## Compreender como criar uma chave gerenciada pelo cliente e como anexar uma política de chave a ela
<a name="encryption-key-policy"></a>

Para criptografar um AWS recurso com uma chave que você cria e gerencia, execute as seguintes etapas gerais:

1. (Pré-requisito) Certifique-se de que sua função do IAM tenha permissões para a ação [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html).

1. Siga as etapas em [Criação de chaves](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) para criar uma chave gerenciada pelo cliente usando o AWS KMS console ou a [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)operação.

1. A criação da chave retorna um `Arn` para a chave que é possível usar para operações que exigem o uso da chave (por exemplo, ao [enviar um trabalho de personalização de modelo](model-customization-submit.md) ou ao [executar uma inferência de modelo)](inference-invoke.md).

1. Crie e anexe uma política de chave à chave com as permissões necessárias. Para criar uma política de chaves, siga as etapas em [Criação de uma política de chaves](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html) no Guia do AWS Key Management Service desenvolvedor.

## Permissões e políticas de chave para modelos personalizados e copiados
<a name="encryption-cm-statements"></a>

Depois de criar uma chave do KMS, anexe uma política de chave a ela. As políticas de chave são [políticas baseadas em recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) que você anexa à chave gerenciada pelo cliente para controlar o acesso a ela. Cada chave gerenciada pelo cliente deve ter exatamente uma política de chave, que contém declarações que determinam quem pode usar a chave e como pode usá-la. Você pode especificar uma política de chaves quando criar uma chave gerenciada pelo cliente. É possível modificar a política de chave a qualquer momento, mas pode haver um breve atraso para que a alteração esteja disponível em todo oAWS KMS. Para obter mais informações, consulte [Gerenciar o acesso às chaves gerenciadas pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html#managing-access) no [Guia do desenvolvedor do AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/). 

As seguintes [ações](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskeymanagementservice.html#awskeymanagementservice-actions-as-permissions) do KMS são usadas para chaves que criptografam modelos personalizados e copiados:

1. [kms: CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) [— Cria uma concessão para uma chave gerenciada pelo cliente, permitindo que o principal serviço Amazon Bedrock acesse a chave KMS especificada por meio de operações de concessão.](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations) Para obter mais informações sobre concessões, consulte [Concessões no AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) no [Guia do desenvolvedor do AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/).
**nota**  
O Amazon Bedrock também configura uma entidade principal que está sendo retirada e retira automaticamente a concessão quando ela não é mais necessária.

1. [kms: DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) — Fornece os detalhes da chave gerenciada pelo cliente para permitir que o Amazon Bedrock valide a chave.

1. [kms: GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) — Fornece os principais detalhes gerenciados pelo cliente para permitir que o Amazon Bedrock valide o acesso do usuário. O Amazon Bedrock armazena o texto cifrado gerado e o modelo personalizado para ser usado como uma verificação de validação adicional em relação aos usuários do modelo personalizado.

1. [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html): descriptografa o texto cifrado armazenado para validar se a função tem acesso adequado à chave do KMS que criptografa o modelo personalizado.

Como melhor prática de segurança, recomendamos que você inclua a chave de ViaService condição [kms:](https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-via-service) para limitar o acesso à chave do serviço Amazon Bedrock.

Embora só seja possível anexar uma política de chave a uma chave, é possível anexar várias declarações à política de chave adicionando declarações à lista no campo `Statement` da política.

As seguintes declarações são relevantes para criptografar modelos personalizados e copiados:

### Criptografar um modelo
<a name="encryption-key-policy-encrypt"></a>

Para usar a chave gerenciada pelo cliente para criptografar um modelo personalizado ou copiado, inclua a declaração a seguir em uma política de chave para permitir a criptografia de um modelo. No campo `Principal`, adicione contas para as quais deseja permitir a criptografia e a descriptografia da chave à lista à qual o subcampo `AWS` está associado. Se você usar a chave de `kms:ViaService` condição, poderá adicionar uma linha para cada região ou usar *\$1* no lugar de *\$1\$1region\$1* para permitir todas as regiões que oferecem suporte ao Amazon Bedrock.

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

### Permitir acesso a um modelo criptografado
<a name="encryption-key-policy-decrypt"></a>

Para permitir o acesso a um modelo que foi criptografado com uma chave do KMS, inclua a declaração a seguir em uma política de chave para permitir a descriptografia da chave. No campo `Principal`, adicione as contas às quais deseja atribuir permissão para criptografar e a descriptografar a chave à lista à qual o subcampo `AWS` está associado. Se você usar a chave de `kms:ViaService` condição, poderá adicionar uma linha para cada região ou usar *\$1* no lugar de *\$1\$1region\$1* para permitir todas as regiões que oferecem suporte ao Amazon Bedrock.

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

Para saber mais sobre as políticas de chave que precisa criar, expanda a seção que corresponde ao caso de uso:

### Configurar as permissões da chave para criptografar modelos personalizados
<a name="encryption-cm"></a>

Se planejar criptografar um modelo que você personaliza com uma chave do KMS, a política de chave da chave dependerá do seu caso de uso. Expanda a seção que corresponde ao seu caso de uso:

#### As funções que personalizarão o modelo e as funções que invocarão o modelo são as mesmas
<a name="encryption-cm-custom-invoke-same"></a>

Se as funções que invocarão o modelo personalizado forem as mesmas que personalizarão o modelo, somente a declaração de [Criptografar um modelo](#encryption-key-policy-encrypt) será necessária. No campo `Principal` do modelo de política a seguir, adicione as contas às quais você deseja conceder permissão para personalizar e invocar o modelo personalizado à lista à qual o subcampo da `AWS` está associado.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PermissionsCustomModelKey",
    "Statement": [
        {
            "Sid": "PermissionsEncryptCustomModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

#### As funções que personalizarão o modelo e as funções que invocarão o modelo são diferentes
<a name="encryption-custom-invoke-different"></a>

Se as funções que invocarão o modelo personalizado forem diferentes da função que personalizará o modelo, somente as declarações de [Criptografar um modelo](#encryption-key-policy-encrypt) e [Permitir acesso a um modelo criptografado](#encryption-key-policy-decrypt) serão necessárias. Modifique as declarações no modelo de política abaixo da seguinte forma:

1. A primeira declaração permite a criptografia e a descriptografia da chave. No campo `Principal`, adicione as contas às quais você deseja conceder permissão para personalizar o modelo personalizado à lista à qual o subcampo `AWS` está associado.

1. A segunda declaração permite somente a descriptografia da chave. No campo `Principal`, adicione as contas para as quais deseja permitir a invocação do modelo personalizado à lista à qual o subcampo `AWS` está associado.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PermissionsCustomModelKey",
    "Statement": [
        {
            "Sid": "PermissionsEncryptCustomModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Sid": "PermissionsDecryptModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

### Configurar as permissões da chave para copiar modelos personalizados
<a name="encryption-copy"></a>

Ao copiar um modelo de sua propriedade ou que foi compartilhado com você, talvez seja necessário gerenciar até duas políticas de chave:

#### Política de chave da chave que criptografará um modelo copiado
<a name="encryption-copied-model-key-policy"></a>

Se você planejar usar uma chave do KMS para criptografar um modelo copiado, a política de chave da chave dependerá do caso de uso. Expanda a seção que corresponde ao seu caso de uso:

##### As funções que copiarão o modelo e as funções que invocarão o modelo são as mesmas
<a name="encryption-copied-model-copy-invoke-same"></a>

Se as funções que invocarão o modelo copiado forem as mesmas que criaram a cópia do modelo, somente a declaração de [Criptografar um modelo](#encryption-key-policy-encrypt) será necessária. No campo `Principal` do modelo de política a seguir, adicione as contas às quais você deseja conceder permissão para copiar e invocar o modelo copiado à lista à qual o subcampo `AWS` está associado:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PermissionsCopiedModelKey",
    "Statement": [
        {
            "Sid": "PermissionsEncryptCopiedModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

##### As funções que copiarão o modelo e as funções que invocarão o modelo são diferentes
<a name="encryption-copied-model-copy-invoke-different"></a>

Se as funções que invocarão o modelo personalizado forem diferentes da função que criará a cópia do modelo, somente as declarações de [Criptografar um modelo](#encryption-key-policy-encrypt) e [Permitir acesso a um modelo criptografado](#encryption-key-policy-decrypt) serão necessárias. Modifique as declarações no modelo de política abaixo da seguinte forma:

1. A primeira declaração permite a criptografia e a descriptografia da chave. No campo `Principal`, adicione as contas às quais você deseja conceder permissão para criar o modelo copiado à lista à qual o subcampo `AWS` está associado.

1. A segunda declaração permite somente a descriptografia da chave. No campo `Principal`, adicione as contas às quais você deseja conceder permissão para invocar o modelo copiado à lista à qual o subcampo `AWS` está associado.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PermissionsCopiedModelKey",
    "Statement": [
        {
            "Sid": "PermissionsEncryptCopiedModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Sid": "PermissionsDecryptCopiedModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

#### Política de chave da chave que criptografa o modelo de origem a ser copiado
<a name="encryption-copy-source-model-key-policy"></a>

Se o modelo de origem que você copiará estiver criptografado com uma chave do KMS, anexe a declaração de [Permitir acesso a um modelo criptografado](#encryption-key-policy-decrypt) à política de chave da chave que criptografa o modelo de origem. Essa declaração permite que a função de cópia do modelo descriptografe a chave que criptografa o modelo de origem. No campo `Principal` do seguinte modelo de política, adicione as contas às quais você deseja conceder permissão para copiar o modelo de origem à lista à qual o subcampo `AWS` está associado:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PermissionsSourceModelKey",
    "Statement": [
        {
            "Sid": "PermissionsDecryptModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## Monitorar as chaves de criptografia para o serviço Amazon Bedrock
<a name="encryption-monitor-key"></a>

Ao usar uma chave gerenciada pelo AWS KMS cliente com seus recursos do Amazon Bedrock, você pode usar [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)o [Amazon CloudWatch Logs para rastrear solicitações para as](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) quais o Amazon Bedrock envia. AWS KMS

Veja a seguir um exemplo de AWS CloudTrail evento [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)para monitorar as operações do KMS chamadas pelo Amazon Bedrock para criar uma concessão primária:

```
{
    "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"
}
```

## Dados de treinamento, validação e saída da criptografia
<a name="encryption-custom-job-data"></a>

Ao usar o Amazon Bedrock para executar um trabalho de personalização de modelo, você armazena os arquivos de entrada no bucket do Amazon S3. Quando o trabalho é concluído, o Amazon Bedrock armazena os arquivos de métricas de saída no bucket do S3 que você especificou ao criar o trabalho e os artefatos do modelo personalizado resultantes em um bucket do S3 controlado por. AWS

Os arquivos de saída são criptografados com as configurações de criptografia do bucket do S3. Eles são criptografados com [criptografia SSE-S3 do lado do servidor](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html) ou com [criptografia SSE-KMS do AWS KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html), dependendo de como o bucket do S3 está configurado.

# Criptografia de modelos personalizados importados
<a name="encryption-import-model"></a>

O Amazon Bedrock permite criar modelos personalizados por meio de dois métodos que usam a mesma abordagem de criptografia. Seus modelos personalizados são gerenciados e armazenados porAWS:
+ **Trabalhos de importação de modelos personalizados**: para importar modelos de base de código aberto personalizados (como os modelos Llama ou Mistral AI).
+ **Crie um modelo personalizado** — Para importar modelos do Amazon Nova que você personalizou na SageMaker IA.

Para criptografia dos modelos personalizados, o Amazon Bedrock oferece as seguintes opções: 
+ **AWSchaves próprias** — Por padrão, o Amazon Bedrock criptografa modelos personalizados importados com chaves AWS próprias. Você não pode visualizar, gerenciar ou usar chaves AWS próprias nem auditar seu uso. No entanto, não é necessário realizar nenhuma ação nem alterar qualquer programa para proteger as chaves que criptografam seus dados. Para obter mais informações, consulte [Chaves de propriedade da AWS](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#aws-owned-cmk) no *Guia do desenvolvedor do AWS Key Management Service*.
+ **Chaves gerenciadas pelo cliente (CMK)** — Você pode optar por adicionar uma segunda camada de criptografia às chaves de criptografia existentesAWS, escolhendo uma chave gerenciada pelo cliente (CMK). É possível criar, possuir e gerenciar as chaves gerenciadas pelo cliente.

   Como você tem controle total dessa camada de criptografia, é possível realizar as seguintes tarefas: 
  + Estabelecer e manter as políticas de chaves
  + Estabelecer e manter políticas e concessões do IAM
  + Habilitar e desabilitar políticas de chave
  + Alternar o material de criptografia de chaves
  + Adicionar tags.
  + Criar aliases de chaves
  + Programar a exclusão de chaves

  Para obter mais informações, consulte [chaves gerenciadas pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) no *Guia do desenvolvedor do AWS Key Management Service*.

**nota**  
Para todos os modelos personalizados que você importa, o Amazon Bedrock habilita automaticamente a criptografia em repouso usando chaves AWS próprias para proteger os dados do cliente sem nenhum custo. Se você usar uma chave gerenciada pelo cliente, AWS KMS cobranças serão aplicadas. Para obter mais informações sobre preços, consulte [Preços do AWS Key Management Service](https://docs.aws.amazon.com/).

## Como o Amazon Bedrock usa subsídios em AWS KMS
<a name="import-model-kms-grants"></a>

Se você especificar uma chave gerenciada pelo cliente para criptografar o modelo importado. O Amazon Bedrock cria uma AWS KMS [concessão](https://docs.aws.amazon.com/) **primária** associada ao modelo importado em seu nome enviando uma [CreateGrant](https://docs.aws.amazon.com//kms/latest/APIReference/API_CreateGrant.html)solicitação paraAWS KMS. Essa concessão permite que o Amazon Bedrock acesse e use a chave gerenciada pelo cliente. As concessões AWS KMS são usadas para dar ao Amazon Bedrock acesso a uma chave KMS na conta de um cliente.

O Amazon Bedrock exige a concessão primária para usar a chave gerenciada pelo cliente nas seguintes operações internas:
+ Envie [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)solicitações AWS KMS para verificar se o ID simétrico da chave KMS gerenciada pelo cliente que você inseriu ao criar o trabalho é válido.
+ Envie [GenerateDataKey](https://docs.aws.amazon.com//kms/latest/APIReference/API_GenerateDataKey.html)e [descriptografe](https://docs.aws.amazon.com//kms/latest/APIReference/API_Decrypt.html) solicitações AWS KMS para gerar chaves de dados criptografadas pela chave gerenciada pelo cliente e descriptografe as chaves de dados criptografadas para que possam ser usadas para criptografar os artefatos do modelo.
+ Envie [CreateGrant](https://docs.aws.amazon.com//kms/latest/APIReference/API_CreateGrant.html)solicitações AWS KMS para criar concessões secundárias com escopo reduzido com um subconjunto das operações acima (`DescribeKey`,,`Decrypt`)`GenerateDataKey`, para a execução assíncrona da importação do modelo e para inferência sob demanda. 
+ O Amazon Bedrock especifica um diretor que se aposenta durante a criação de subsídios, para que o serviço possa enviar uma solicitação. [RetireGrant](https://docs.aws.amazon.com//kms/latest/APIReference/API_RetireGrant.html)

Você tem acesso total à sua AWS KMS chave gerenciada pelo cliente. É possível revogar o acesso à concessão seguindo as etapas em [Retirar e revogar concessões](https://docs.aws.amazon.com//kms/latest/developerguide/grant-manage.html#grant-delete) no *Guia do desenvolvedor do AWS Key Management Service* ou remover o acesso do serviço à sua chave gerenciada pelo cliente a qualquer momento modificando a política de chave. Se fizer isso, o Amazon Bedrock não poderá acessar o modelo importado criptografado pela chave.

### Ciclo de vida de concessões primárias e secundárias para modelos personalizados importados
<a name="import-model-kms-grants-lifecycle"></a>
+ As **Concessões primárias** têm uma vida útil longa e permanecem ativas enquanto os modelos personalizados associados ainda estiverem em uso. Quando um modelo personalizado importado é excluído, a concessão primária correspondente é automaticamente retirada.
+ As **concessões secundárias** duram pouco tempo. Elas são automaticamente retiradas assim que a operação que o Amazon Bedrock executa em nome dos clientes é concluída. Por exemplo, quando um trabalho de importação de modelo personalizado for concluído, a concessão secundária que permitiu ao Amazon Bedrock criptografar o modelo importado personalizado será retirada imediatamente.

# Usar chave gerenciada pelo cliente (CMK)
<a name="import-model-using-cmk"></a>

Se planejar usar a chave gerenciada pelo cliente para criptografar o modelo importado personalizado, conclua as seguintes etapas:

1. Crie uma chave gerenciada pelo cliente com o AWS Key Management Service.

1. Anexe uma [política baseada em recurso](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_identity-vs-resource.html) com permissões para que os perfis especificados criem e usem modelos importados personalizados.

**Criar uma chave gerenciada pelo cliente**

Primeiramente verifique se você tem permissões de `CreateKey`. Em seguida, siga as etapas de [criação de chaves](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) para criar chaves gerenciadas pelo cliente no AWS KMS console ou na operação da [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)API. Crie uma chave de criptografia simétrica.

A criação da chave retorna um `Arn` para a chave que é possível usar como o `importedModelKmsKeyId ` ao importar um modelo personalizado com a importação de modelo personalizado.

**Criar uma política de chave e anexá-la à chave gerenciada pelo cliente**

As políticas de chave são [políticas baseadas em recurso](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_identity-vs-resource.html) que você anexa à chave gerenciada pelo cliente para controlar o acesso a ela. Cada chave gerenciada pelo cliente deve ter exatamente uma política de chave, que contém declarações que determinam quem pode usar a chave e como pode usá-la. Você pode especificar uma política de chaves quando criar uma chave gerenciada pelo cliente. É possível modificar a política de chave a qualquer momento, mas pode haver um breve atraso para que a alteração esteja disponível em todo oAWS KMS. Para obter mais informações, consulte [Gerenciar o acesso a chaves gerenciadas pelo cliente](https://docs.aws.amazon.com//kms/latest/developerguide/control-access-overview.html#managing-access) no *Guia do desenvolvedor do AWS Key Management Service*.

**Criptografar um modelo personalizado importado**

Para usar sua chave gerenciada pelo cliente para criptografar um modelo personalizado importado, você deve incluir as seguintes AWS KMS operações na política de chaves:
+ [kms: CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) [— cria uma concessão para uma chave gerenciada pelo cliente, permitindo que o principal serviço Amazon Bedrock tenha acesso à chave KMS especificada por meio de operações de concessão.](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations) Para obter mais informações sobre concessões, consulte [Concessões no AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) no *Guia do desenvolvedor do AWS Key Management Service*.
**nota**  
O Amazon Bedrock também configura uma entidade principal que está sendo retirada e retira automaticamente a concessão quando ela não é mais necessária.
+ [kms: DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) — fornece os detalhes da chave gerenciada pelo cliente para permitir que o Amazon Bedrock valide a chave.
+ [kms: GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) — Fornece os principais detalhes gerenciados pelo cliente para permitir que o Amazon Bedrock valide o acesso do usuário. O Amazon Bedrock armazena o texto cifrado gerado com o modelo personalizado importado para ser usado como uma verificação de validação adicional em relação aos usuários do modelo personalizado importado.
+ [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html): descriptografa o texto cifrado armazenado para validar se o perfil tem acesso adequado à chave do KMS que criptografa o modelo personalizado importado.

Veja abaixo um exemplo de política que é possível anexar a uma chave para um perfil que você usará para criptografar modelos que você importou:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS key policy for a key to encrypt an imported custom model",
    "Statement": [
        {
            "Sid": "Permissions for model import API invocation role",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/role"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**Descriptografar um modelo personalizado importado criptografado**

Se estiver importando um modelo personalizado que já tenha sido criptografado por outra chave gerenciada pelo cliente, adicione permissões `kms:Decrypt` ao mesmo perfil, conforme a seguinte política:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS key policy for a key that encrypted a custom imported model",
    "Statement": [
        {
            "Sid": "Permissions for model import API invocation role",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/role"
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# Monitorar as chaves de criptografia do serviço Amazon Bedrock
<a name="import-model-monitor-encryption-keys"></a>

Ao usar uma chave gerenciada pelo AWS KMS cliente com seus recursos do Amazon Bedrock, você pode usar [AWS CloudTrail](https://docs.aws.amazon.com//awscloudtrail/latest/userguide/cloudtrail-user-guide.html)o [Amazon CloudWatch Logs para rastrear solicitações para as](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) quais o Amazon Bedrock envia. AWS KMS

A seguir está um exemplo de AWS CloudTrail evento [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)para monitorar AWS KMS as operações convocadas pelo Amazon Bedrock para criar uma concessão primária:

```
{
"eventVersion": "1.09",
    "userIdentity": {
"type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/RoleForModelImport/SampleUser01",
        "accountId": "111122223333",
        "accessKeyId": "EXAMPLE",
        "sessionContext": {
"sessionIssuer": {
"type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE",
                "arn": "arn:aws:iam::111122223333:role/RoleForModelImport",
                "accountId": "111122223333",
                "userName": "RoleForModelImport"
            },
            "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"
}
```

Anexe a política baseada em recurso a seguir à chave do KMS de acordo com as etapas em [Criar uma política](https://docs.aws.amazon.com//kms/latest/developerguide/key-policy-overview.html). A política a seguir contém duas declarações.

1. Permissões para uma função criptografar artefatos de personalização do modelo. Adicione ARNs as funções importadas do construtor de modelos personalizados ao `Principal` campo.

1. Permissões para um perfil usar o modelo personalizado importado na inferência. Adição ARNs de funções de usuário do modelo personalizado importado ao `Principal` campo.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS Key Policy",
    "Statement": [
        {
            "Sid": "Permissions for imported model builders",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/role"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Permissions for imported model users",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/role"
            },
            "Action": "kms:Decrypt",
            "Resource": "*"
        }
    ]
}
```

------

# Criptografia na automação Amazon Bedrock de dados
<a name="encryption-bda"></a>

 Amazon BedrockO Data Automation (BDA) usa criptografia para proteger seus dados em repouso. Isso inclui os esquemas, os projetos e os insights extraídos armazenados pelo serviço. A BDA oferece duas opções para criptografar dados: 

1. AWSchaves próprias — Por padrão, o BDA criptografa seus dados com chaves AWS próprias. Você não pode visualizar, gerenciar ou usar chaves AWS próprias nem auditar seu uso. No entanto, não é necessário realizar nenhuma ação nem alterar qualquer programa para proteger as chaves que criptografam seus dados. Para obter mais informações, consulte [chaves AWS próprias](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk) no Guia do desenvolvedor do AWS Key Management Service. 

1.  Chaves gerenciadas pelo cliente: você pode optar por criptografar seus dados com chaves gerenciadas pelo cliente; isto é, que você gerencia. Para obter mais informações sobre AWS KMS chaves, consulte [Chaves gerenciadas pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) no Guia do desenvolvedor do AWS Key Management Service. A BDA não permite usar chaves gerenciadas pelo cliente no console do Amazon Bedrock, somente em operações de API. 

Amazon BedrockA automação de dados ativa automaticamente a criptografia em repouso usando chaves AWS próprias sem nenhum custo. Se você usar uma chave gerenciada pelo cliente, AWS KMS cobranças serão aplicadas. Para obter mais informações sobre preços, consulte AWS KMS [preços](https://aws.amazon.com/kms/pricing/). 

## Como Amazon Bedrock usa subsídios em AWS KMS
<a name="encryption-bda-grants"></a>

 Se você especificar uma chave gerenciada pelo cliente para criptografia do seu BDA ao chamar o invokeDataAutomation Async, o serviço criará uma concessão associada aos seus recursos em seu nome enviando uma CreateGrant solicitação para. AWS KMS Essa concessão permite que a BDA acesse e use a chave gerenciada pelo cliente. 

 A BDA usa a concessão para sua chave gerenciada pelo cliente para as seguintes operações internas: 
+ DescribeKey — Envie solicitações AWS KMS para verificar se o ID simétrico da AWS KMS chave gerenciada pelo cliente que você forneceu é válido.
+ GenerateDataKey e decodificar — envie solicitações AWS KMS para gerar chaves de dados criptografadas pela chave gerenciada pelo cliente e descriptografe as chaves de dados criptografadas para que possam ser usadas para criptografar seus recursos.
+ CreateGrant — Envie solicitações AWS KMS para criar concessões com escopo reduzido com um subconjunto das operações acima (DescribeKey,, Decrypt) GenerateDataKey, para a execução assíncrona das operações.

 Você tem acesso total à sua AWS KMS chave gerenciada pelo cliente. É possível revogar o acesso à concessão seguindo as etapas em “Retirar e revogar concessões” no “Guia do desenvolvedor do AWS KMS” ou remover o acesso do serviço à sua chave gerenciada pelo cliente a qualquer momento modificando a política de chave. Se fizer isso, a BDA não poderá acessar os recursos criptografados pela chave. 

Se você iniciar uma nova chamada invokeDataAutomation assíncrona após revogar uma concessão, o BDA recriará a concessão. As concessões são retiradas pela BDA após trinta horas. 

## Criar uma chave gerenciada pelo cliente e anexar uma política de chave
<a name="encryption-bda-creating-keys"></a>

 Para criptografar recursos da BDA com uma chave que você cria e gerencia, siga as etapas gerais abaixo: 

1.  (Pré-requisito) Certifique-se de que sua função do IAM tenha permissões para a ação CreateKey . 

1.  Siga as etapas em [Criação de chaves](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) para criar uma chave gerenciada pelo cliente usando o AWS KMS console ou a CreateKey operação. 

1.  A criação da chave retorna um ARN que você pode usar para operações que exigem o uso da chave (por exemplo, ao criar um projeto ou blueprint no BDA), como a operação Async. invokeDataAutomation 

1.  Crie e anexe uma política de chave à chave com as permissões necessárias. Para criar uma política de chaves, siga as etapas em [Criação de uma política de chaves](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-create.html) no Guia do AWS KMS desenvolvedor. 

## Permissões e principais políticas para recursos Amazon Bedrock de automação de dados
<a name="encryption-bda-key-policies.title"></a>

 Depois de criar uma AWS KMS chave, você anexa uma política de chaves a ela. As seguintes ações do AWS KMS são usadas para chaves que criptografam recursos da BDA:

1.  kms:CreateGrant — Cria uma concessão para uma chave gerenciada pelo cliente, permitindo que o serviço BDA acesse a AWS KMS chave especificada por meio de operações de concessão, necessárias para InvokeDataAutomationAsync. 

1.  kms:DescribeKey — Fornece os detalhes da chave gerenciada pelo cliente para permitir que o BDA valide a chave. 

1.  kms:GenerateDataKey — Fornece os principais detalhes gerenciados pelo cliente para permitir que o BDA valide o acesso do usuário. 

1.  kms:Descriptografar — Descriptografa o texto cifrado armazenado para validar se a função tem acesso adequado à chave que criptografa os recursos do BDA. AWS KMS 

**Política de chave para a Automação de Dados do Amazon Bedrock**

 Para usar a chave gerenciada pelo cliente para criptografar os recursos da BDA, inclua as seguintes declarações em sua política de chave e substitua `${account-id}`, `${region}` e `${key-id}` pelos seus valores específicos:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS key policy for a key to encrypt data for BDA resource",
    "Statement": [
        {
            "Sid": "Permissions for encryption of data for BDA resources",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/Role"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

**Permissões de função do IAM**

A função do IAM costumava interagir com o BDA e AWS KMS deveria ter as seguintes permissões `${region}``${account-id}`, substituí-la e `${key-id}` com seus valores específicos:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## Contexto de criptografia da Automação do Amazon Bedrock
<a name="encryption-bda-context"></a>

O BDA usa o mesmo contexto de criptografia em todas as operações AWS KMS criptográficas, onde está a chave `aws:bedrock:data-automation-customer-account-id` e o valor é o ID da sua AWS conta. Veja abaixo um exemplo do conteúdo criptografado.

```
"encryptionContext": {
     "bedrock:data-automation-customer-account-id": "account id"
}
```

**Usar o contexto de criptografia para monitoramento**  
Ao usar uma chave simétrica gerenciada pelo cliente para criptografar seus dados, você também pode utilizar o contexto de criptografia em registros e logs de auditoria para identificar como a chave gerenciada pelo cliente está sendo utilizada. O contexto de criptografia também aparece nos registros gerados pelo AWS CloudTrail ou Amazon CloudWatch Logs.

**Usar o contexto de criptografia para controlar o acesso à chave gerenciada pelo cliente**  
Você pode usar o contexto de criptografia nas políticas de chave e políticas do IAM como condições para controlar o acesso à sua chave simétrica gerenciada pelo cliente. Você também pode usar restrições no contexto de criptografia em uma concessão. A BDA utiliza uma restrição ao contexto de criptografia em concessões para controlar o acesso à chave gerenciada pelo cliente na sua conta ou região. A restrição da concessão exige que as operações permitidas pela concessão usem o contexto de criptografia especificado. 

Veja a seguir exemplos de declarações de políticas de chave para conceder acesso a uma chave gerenciada pelo cliente para um contexto de criptografia específico. A condição nesta declaração de política exige que as concessões tenham uma restrição de contexto de criptografia que especifique o contexto de criptografia.

```
[
    {
        "Sid": "Enable DescribeKey, Decrypt, GenerateDataKey",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::111122223333:role/ExampleRole"
        },
        "Action": ["kms:DescribeKey", "kms:Decrypt", "kms:GenerateDataKey"],
        "Resource": "*"
    },
    {
        "Sid": "Enable CreateGrant",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::111122223333:role/ExampleRole"
        },
        "Action": "kms:CreateGrant",
        "Resource": "*",
        "Condition": {
            "StringLike": {
                "kms:EncryptionContext:aws:bedrock:data-automation-customer-account-id": "111122223333"
            },
            "StringEquals": {
                "kms:GrantOperations": ["Decrypt", "DescribeKey", "GenerateDataKey"]
            }
        }
    }
]
```

## Monitorando suas chaves de criptografia para automação Amazon Bedrock de dados
<a name="encryption-bda-monitoring"></a>

 Ao usar uma chave gerenciada pelo AWS KMS cliente com seus recursos de automação de Amazon Bedrock dados, você pode [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html)usar [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)ou rastrear as solicitações enviadas pela automação de Amazon Bedrock dadosAWS KMS. Veja a seguir um exemplo de AWS CloudTrail evento [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)para monitorar AWS KMS as operações chamadas pela Automação de Amazon Bedrock Dados para criar uma concessão primária: 

```
{
    "eventVersion": "1.09",
        "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/RoleForDataAutomation/SampleUser01",
        "accountId": "111122223333",
        "accessKeyId": "EXAMPLE",
        "sessionContext": {
        "sessionIssuer": {
        "type": "Role",
        "principalId": "AROAIGDTESTANDEXAMPLE",
        "arn": "arn:aws:iam::111122223333:role/RoleForDataAutomation",
        "accountId": "111122223333",
        "userName": "RoleForDataAutomation"
        },
        "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",
     "constraints": {
            "encryptionContextSubset": {
                "aws:bedrock:data-automation-customer-account-id": "000000000000"
            }
        },
    "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"
}
```

# Criptografia de recursos do agente
<a name="encryption-agents-new"></a>

Por padrão, a criptografia de dados em repouso ajuda a reduzir a sobrecarga operacional e a complexidade envolvidas na proteção de dados confidenciais. Ao mesmo tempo, ela permite que você crie aplicações seguras que atendam aos rigorosos requisitos regulatórios e de conformidade de criptografia.

O Amazon Bedrock usa chaves padrão pertencentes à AWS para criptografar automaticamente as informações do agente. Isso inclui dados do ambiente de gerenciamento e dados da sessão. Não é possível visualizar, gerenciar ou auditar o uso de chaves de propriedade da AWS. Para obter mais informações, consulte [Chaves de propriedade da AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk). 

Embora não seja possível desabilitar essa camada de criptografia, você pode optar por usar chaves gerenciadas pelo cliente em vez de chaves pertencentes à AWS para criptografar as informações do agente. O Amazon Bedrock permite o uso de chaves simétricas gerenciadas pelo cliente (CMK) que você cria, possui e gerencia, em vez da criptografia padrão de propriedade da AWS. Para obter mais informações, consulte [Chaves gerenciadas pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk).

**Importante**  
O Amazon Bedrock criptografa automaticamente as informações da sessão do agente usando chaves pertencentes à AWS sem nenhum custo.
No entanto, cobranças do AWS KMS se aplicam ao usar chaves gerenciadas pelo cliente. Para obter informações sobre preços, consulte [Preços do AWS Amazon Key Management Service](https://aws.amazon.com/kms/pricing/).
Se você criou seu agente *antes* de 22 de janeiro de 2025 e deseja usar a chave gerenciada pelo cliente para criptografar os recursos do agente, siga as instruções em [Criptografia de recursos de agentes para agentes criados antes de 22 de janeiro de 2025](encryption-agents.md).

# Criptografia de recursos de agente com chaves gerenciadas pelo cliente (CMKs)
<a name="cmk-agent-resources"></a>

Você pode, a qualquer momento, criar uma chave gerenciada pelo cliente para criptografar as informações do agente usando as informações fornecidas a seguir ao criar agente.

**nota**  
Os recursos de agente serão criptografados somente para os agentes criados após 22 de janeiro de 2025.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/cmk-agent-resources.html)

Para usar uma chave gerenciada pelo cliente, execute as seguintes etapas:

1. Crie uma chave gerenciada pelo cliente com o AWS Key Management Service.

1. Crie uma política de chave e a anexe à chave gerenciada pelo cliente.

## Criar uma chave gerenciada pelo cliente
<a name="create-cmk-agent"></a>

Você pode criar uma chave simétrica gerenciada pelo cliente usando o AWS Management Console ou o. AWS Key Management Service APIs 

 Primeiro, verifique se você tem permissões `CreateKey` e, em seguida, siga as etapas para [Criar uma chave simétrica gerenciada pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) no *Guia do desenvolvedor do AWS Key Management Service *.

**Política de chave**: as políticas de chave controlam o acesso à chave gerenciada pelo cliente. Cada chave gerenciada pelo cliente deve ter exatamente uma política de chaves, que contém declarações que determinam quem pode usar a chave e como pode usá-la. Ao criar a chave gerenciada pelo cliente, é possível especificar uma política de chave. Consulte mais informações para saber como [gerenciar o acesso às chaves gerenciadas pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) no *Guia do desenvolvedor do AWS Key Management Service *.

Se você criou o agente depois de 22 de janeiro de 2025 e deseja usar a chave gerenciada pelo cliente para criptografar as informações do agente, o usuário ou o perfil que chama as operações de API do agente deve ter as seguintes permissões na política de chave:
+ [kms: GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) — retorna uma chave de dados simétrica exclusiva para uso fora do AWS KMS.
+ [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html): descriptografa texto cifrado criptografado com uma chave do KMS.

A criação da chave exibe um `Arn` para a chave que você pode usar como `customerEncryptionKeyArn` ao criar o agente. 

## Criar uma política de chave e anexá-la à chave gerenciada pelo cliente
<a name="attach-policy-agent"></a>

Se você criptografar recursos do agente com uma chave gerenciada pelo cliente, deverá configurar uma política baseada em identidade e uma política baseada em recursos para permitir que o Amazon Bedrock criptografe e descriptografe os recursos do agente em seu nome.

**Política baseada em identidade**

Anexe a seguinte política baseada em identidade a uma função ou usuário do IAM com permissões para fazer chamadas para agentes APIs que criptografam e descriptografam recursos do agente em seu nome. Essa política valida que o usuário que faz a chamada de API tem AWS KMS permissões. Substitua `${region}`, `${account-id}`, `${agent-id}` e `${key-id}` pelos valores apropriados.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EncryptAgents",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent/${agent-id}"
                }
            }
        }
    ]
}
```

------

**Política baseada em recursos**

Anexe a seguinte política baseada em recursos à sua AWS KMS chave *somente* se você estiver criando grupos de ação nos quais o esquema no Amazon S3 é criptografado. Você não precisa anexar uma política baseada em recursos para nenhum outro caso de uso.

Para anexar a política baseada em recursos a seguir, altere o escopo das permissões conforme necessário e substitua `${region}`, `${account-id}` e `${agent-id}` e `${key-id}` pelos valores apropriados.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Allow account root to modify the KMS key, not used by Amazon Bedrock.",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "kms:*",
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}"
        },
        {
            "Sid": "Allow Amazon Bedrock to encrypt and decrypt Agent resources on behalf of authorized users",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent/${agent-id}"
                }
            }
        }
    ]
}
```

------

## Alterar a chave gerenciada pelo cliente
<a name="change-cmk"></a>

Os agentes do Amazon Bedrock não oferecem suporte à recriptografia de agentes versionados quando a chave gerenciada pelo cliente associada ao agente *DRAFT* é alterada ou quando você passa da chave gerenciada pelo cliente para a chave própria. AWS Somente os dados do recurso *DRAFT* serão criptografados novamente com a nova chave.

Não exclua nem remova as permissões de nenhuma chave de um agente versionado se a estiver usando para fornecer dados de produção.

Para visualizar e verificar as chaves que estão sendo usadas por uma versão, ligue [GetAgentVersion](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_GetAgentVersion.html)e verifique a `customerEncryptionKeyArn` resposta.

# Criptografar sessões do agente com chave gerenciada pelo cliente (CMK)
<a name="ltm-permissions"></a>

Se você habilitou a memória do agente e criptografou as sessões do agente com uma chave gerenciada pelo cliente, deverá configurar a política de chaves a seguir e as permissões do IAM de identidade de chamada para configurar a chave gerenciada pelo cliente.

**Política de chave gerenciada pelo cliente**

O Amazon Bedrock usa essas permissões para gerar chaves de dados criptografadas e utiliza as chaves geradas para criptografar a memória do agente. O Amazon Bedrock também precisa de permissões para criptografar novamente a chave de dados gerada com diferentes contextos de criptografia. As permissões de nova criptografia também são usadas quando a chave gerenciada pelo cliente faz transições entre outra chave gerenciada pelo cliente ou chave de propriedade do serviço. Para obter mais informações, consulte [Chaveiro hierárquico](https://docs.aws.amazon.com//database-encryption-sdk/latest/devguide/use-hierarchical-keyring.html).

Substitua `$region`, `account-id` e `${caller-identity-role}` por valores adequados.

```
{
    "Version": "2012-10-17",		 	 	 
    {
        "Sid": "Allow access for bedrock to enable long term memory",
        "Effect": "Allow",
        "Principal": {
            "Service": [
                "bedrock.amazonaws.com",
            ],
        },
        "Action": [
            "kms:GenerateDataKeyWithoutPlainText",
            "kms:ReEncrypt*"
        ],
        "Condition": {
            "StringEquals": {
                "aws:SourceAccount": "$account-id"
            },
            "ArnLike": {
                "aws:SourceArn": "arn:aws:bedrock:$region:$account-id:agent-alias/*"
            }
        }
        "Resource": "*"
    },
    {
        "Sid": "Allow the caller identity control plane permissions for long term memory",
        "Effect": "Allow", 
        "Principal": {
            "AWS": "arn:aws:iam::${account-id}:role/${caller-identity-role}"
        },
        "Action": [
            "kms:GenerateDataKeyWithoutPlainText",
            "kms:ReEncrypt*"
        ],
        "Resource": "*",
        "Condition": {
            "StringLike": {
                "kms:EncryptionContext:aws-crypto-ec:aws:bedrock:arn": "arn:aws:bedrock:${region}:${account-id}:agent-alias/*"
            }
        }
    },
    {
        "Sid": "Allow the caller identity data plane permissions to decrypt long term memory",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::${account-id}:role/${caller-identity-role}"
        },
        "Action": [
            "kms:Decrypt"
        ],
        "Resource": "*",
        "Condition": {
            "StringLike": {
                "kms:EncryptionContext:aws-crypto-ec:aws:bedrock:arn": "arn:aws:bedrock:${region}:${account-id}:agent-alias/*",
                "kms:ViaService": "bedrock.$region.amazonaws.com" 
            }
        }
    }
}
```

**Permissões do IAM para criptografar e descriptografar a memória do agente**

As permissões do IAM a seguir são necessárias para que a API de agentes de chamada de identidade configure a chave do KMS de agentes com memória habilitada. Os agentes do Amazon Bedrock usam essas permissões para garantir que a identidade do chamador esteja autorizada a ter as permissões mencionadas na política principal acima APIs para gerenciar, treinar e implantar modelos. Para os agentes APIs que invocam, o agente Amazon Bedrock usa as `kms:Decrypt` permissões da identidade do chamador para descriptografar a memória.

Substitua `$region`, `account-id` e `${key-id}` por valores adequados.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AgentsControlPlaneLongTermMemory",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKeyWithoutPlaintext", 
                "kms:ReEncrypt*"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId",
            "Condition": {
                "StringLike": {
                    "kms:EncryptionContext:aws-crypto-ec:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent-alias/*"
                }
            }
        },
        {
            "Sid": "AgentsDataPlaneLongTermMemory",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId",
            "Condition": {
                "StringLike": {
                    "kms:EncryptionContext:aws-crypto-ec:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent-alias/*"
                }
            }
        }
    ]
}
```

------

# Práticas recomendadas de segurança preventiva para agentes
<a name="security-best-practice-agents"></a>

As seguintes práticas recomendadas para o Amazon Bedrock podem ajudar a evitar incidentes de segurança:

**Use conexões seguras**

Sempre use conexões criptografadas, como as que começam com `https://` para manter seguras as informações confidenciais em trânsito.

**Implemente o acesso de privilégio mínimo a recursos**

Ao criar políticas personalizadas para os recursos do Amazon Bedrock e conceda apenas as permissões necessárias à execução de uma tarefa. Recomendamos que se inicie com um conjunto mínimo de permissões e que permissões adicionais sejam concedidas quando forem necessárias. A implementação do privilégio mínimo de acesso é fundamental para se reduzir o risco de segurança e o impacto que pode resultar de erros ou ataques maliciosos. Para obter mais informações, consulte [Gerenciamento de identidade e acesso para o Amazon Bedrock](security-iam.md).

**Não inclua PII em nenhum dos recursos do agente que contêm dados do cliente**

Ao criar, atualizar e excluir recursos de agentes (por exemplo, ao usar [CreateAgent](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_CreateAgent.html)), não inclua informações de identificação pessoal (PII) em nenhum campo que não ofereça suporte ao uso da chave gerenciada pelo cliente, como nomes de grupos de ação e nomes da base de conhecimento. Para ver a lista de campos que permitem o uso de chave gerenciada pelo cliente, consulte [Criptografia de recursos de agente com chaves gerenciadas pelo cliente (CMKs)](cmk-agent-resources.md).

# Criptografia de recursos de agentes para agentes criados antes de 22 de janeiro de 2025
<a name="encryption-agents"></a>

**Importante**  
Se você criou seu agente *depois* de 22 de janeiro de 2025, siga as instruções em [Criptografia de recursos do agente](encryption-agents-new.md).

O Amazon Bedrock criptografa as informações da sessão do agente. Por padrão, o Amazon Bedrock criptografa esses dados usando uma chave AWS gerenciada. Opcionalmente, é possível criptografar os artefatos de agente usando uma chave gerenciada pelo cliente.

Para obter mais informações sobreAWS KMS keys, consulte [Chaves gerenciadas pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) no *Guia do AWS Key Management Service desenvolvedor*.

Se você criptografar as sessões de agente com uma chave personalizada do KMS, deverá configurar a política baseada em identidade e a política baseada em recurso a seguir para permitir que o Amazon Bedrock criptografe e descriptografe recursos do agente em seu nome.

1. Anexe a política baseada em identidade a seguir a um usuário ou perfil do IAM com permissão para fazer chamadas `InvokeAgent`. Essa política valida que o usuário que está fazendo uma chamada `InvokeAgent` tem as permissões do KMS. Substitua *\$1\$1region\$1*, *\$1\$1account-id\$1*, *\$1\$1agent-id\$1* e *\$1\$1key-id\$1* pelos valores apropriados.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "EncryptDecryptAgents",
               "Effect": "Allow",
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-id",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent/agent-id"
                   }
               }
           }
       ]
   }
   ```

------

1. Anexe a política baseada em recurso a seguir à sua chave do KMS. Altere o escopo das permissões conforme necessário. Substitua *\$1\$1region\$1*, *\$1\$1account-id\$1*, *\$1\$1agent-id\$1* e *\$1\$1key-id\$1* pelos valores apropriados.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowRootModifyKMSKey",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:root"
               },
               "Action": "kms:*",
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId"
           },
           {
               "Sid": "AllowBedrockEncryptAgent",
               "Effect": "Allow",
               "Principal": {
                   "Service": "bedrock.amazonaws.com"
               },
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent/AgentId"
                   }
               }
           },
           {
               "Sid": "AllowRoleEncryptAgent",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:role/Role"
               },
               "Action": [
                   "kms:GenerateDataKey*",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId"
           },
           {
               "Sid": "AllowAttachmentPersistentResources",
               "Effect": "Allow",
               "Principal": {
                   "Service": "bedrock.amazonaws.com"
               },
               "Action": [
                   "kms:CreateGrant",
                   "kms:ListGrants",
                   "kms:RevokeGrant"
               ],
               "Resource": "*",
               "Condition": {
                   "Bool": {
                       "kms:GrantIsForAWSResource": "true"
                   }
               }
           }
       ]
   }
   ```

------

# Criptografia dos recursos do Amazon Bedrock Flows
<a name="encryption-flows"></a>

O Amazon Bedrock criptografa seus dados em repouso. Por padrão, o Amazon Bedrock criptografa esses dados usando uma chave gerenciada pela AWS. Opcionalmente, é possível criptografar os dados usando uma chave gerenciada pelo cliente.

Para obter mais informações sobreAWS KMS keys, consulte [Chaves gerenciadas pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) no *Guia do AWS Key Management Service desenvolvedor*.

Se você criptografar dados com uma chave personalizada do KMS, deverá configurar a política baseada em identidade e a política baseada em recursos a seguir para permitir que o Amazon Bedrock criptografe e descriptografe dados em seu nome.

1. Anexe a política baseada em identidade a seguir a um usuário ou perfil do IAM com permissões para fazer chamadas de API ao recurso Fluxos do Amazon Bedrock. Essa política valida que o usuário que está fazendo chamadas ao recurso Fluxos do Amazon Bedrock tem as permissões do KMS. Substitua *\$1\$1region\$1*, *\$1\$1account-id\$1*, *\$1\$1flow-id\$1* e *\$1\$1key-id\$1* pelos valores apropriados.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "EncryptFlow",
               "Effect": "Allow",
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock-flows:arn": "arn:aws:bedrock:us-east-1:123456789012:flow/${flow-id}",
                       "kms:ViaService": "bedrock.us-east-1.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

1. Anexe a política baseada em recurso a seguir à sua chave do KMS. Altere o escopo das permissões conforme necessário. Substitua o *\$1IAM-USER/ROLE-ARN\$1* *\$1\$1region\$1**\$1\$1account-id\$1*,*\$1\$1flow-id\$1*,, e *\$1\$1key-id\$1* pelos valores apropriados.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowRootModifyKMSId",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:root"
               },
               "Action": "kms:*",
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId"
           },
           {
               "Sid": "AllowRoleUseKMSKey",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:role/RoleName"
               },
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock-flows:arn": "arn:aws:bedrock:us-east-1:123456789012:flow/FlowId",
                       "kms:ViaService": "bedrock.us-east-1.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

1. Em [Execuções de fluxo](flows-create-async.md), anexe a política baseada em identidade a seguir a um [perfil de serviço com permissões para criar e gerenciar fluxos](flows-permissions.md). Essa política valida se sua função de serviço tem AWS KMS permissões. Substitua *region*, *account-id*, *flow-id* e *key-id* pelos valores apropriados.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "EncryptionFlows",
               "Effect": "Allow",
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-id",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock-flows:arn": "arn:aws:bedrock:us-east-1:123456789012:flow/flow-id",
                       "kms:ViaService": "bedrock.us-east-1.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

# Criptografia de recursos da base de conhecimento
<a name="encryption-kb"></a>

O Amazon Bedrock criptografa os recursos relacionados às bases de conhecimento. Por padrão, o Amazon Bedrock criptografa esses dados usando uma chave própria AWS. Opcionalmente, é possível criptografar os artefatos de modelo usando uma chave gerenciada pelo cliente.

A criptografia com uma chave do KMS pode ocorrer com os seguintes processos:
+ Armazenamento de dados temporário ao ingerir fontes de dados
+ Passando informações para o OpenSearch Serviço se você permitir que o Amazon Bedrock configure seu banco de dados vetoriais
+ Consulta de uma base de conhecimento

Os recursos a seguir usados pelas bases de conhecimento podem ser criptografados com uma chave do KMS. Se você criptografá-los, precisará adicionar permissões para descriptografar a chave do KMS.
+ Fontes de dados armazenadas em um bucket do Amazon S3
+ Armazenamentos de vetores de terceiros

Para obter mais informações sobre AWS KMS keys, consulte [Chaves gerenciadas pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) no *Guia do AWS Key Management Service desenvolvedor*.

**nota**  
As Bases de Conhecimento do Amazon Bedrock usam criptografia TLS para comunicação com conectores de fonte de dados e armazenamento de vetores de terceiros em que o fornecedor permite e oferece suporte à criptografia TLS em trânsito.

**Topics**
+ [Criptografia de armazenamento de dados temporário durante a ingestão de dados](#encryption-kb-ingestion)
+ [Criptografia das informações passadas para o Amazon OpenSearch Service](#encryption-kb-oss)
+ [Criptografia das informações enviadas ao Amazon S3 Vectors](#encryption-kb-s3-vector)
+ [Criptografia da recuperação da base de conhecimento](#encryption-kb-runtime)
+ [Permissões para descriptografar sua AWS KMS chave para suas fontes de dados no Amazon S3](#encryption-kb-ds)
+ [Permissões para descriptografar um AWS Secrets Manager segredo para o armazenamento de vetores que contém sua base de conhecimento](#encryption-kb-3p)
+ [Permissões para Bedrock Data Automation (BDA) com criptografia AWS KMS](#encryption-kb-bda)

## Criptografia de armazenamento de dados temporário durante a ingestão de dados
<a name="encryption-kb-ingestion"></a>

Ao configurar um trabalho de ingestão de dados para a base de conhecimento, é possível criptografar o trabalho com uma chave personalizada do KMS.

Para permitir a criação de uma AWS KMS chave para armazenamento transitório de dados no processo de ingestão de sua fonte de dados, anexe a seguinte política à sua função de serviço do Amazon Bedrock. Substitua os valores de exemplo por sua própria AWS região, ID da conta e ID da AWS KMS chave.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/key-id"
            ]
        }
    ]
}
```

------

## Criptografia das informações passadas para o Amazon OpenSearch Service
<a name="encryption-kb-oss"></a>

Se você optar por permitir que o Amazon Bedrock crie um armazenamento vetorial no Amazon OpenSearch Service para sua base de conhecimento, o Amazon Bedrock poderá passar uma chave KMS que você escolher para o Amazon OpenSearch Service para criptografia. Para saber mais sobre criptografia no Amazon OpenSearch Service, consulte [Criptografia no Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-encryption.html).

## Criptografia das informações enviadas ao Amazon S3 Vectors
<a name="encryption-kb-s3-vector"></a>

Se você optar por permitir que o Amazon Bedrock crie um bucket de vetores do S3 e um índice de vetores no Amazon S3 Vectors para sua base de conhecimento, o Amazon Bedrock poderá enviar uma chave do KMS de sua escolha ao Amazon S3 Vectors para criptografia. Para saber mais sobre criptografia no Amazon S3 Vectors, consulte [Criptografia com o Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-bucket-encryption.html).

## Criptografia da recuperação da base de conhecimento
<a name="encryption-kb-runtime"></a>

É possível criptografar sessões nas quais você gera respostas ao consultar uma base de conhecimento com uma chave do KMS. Para fazer isso, inclua o ARN de uma chave KMS no `kmsKeyArn` campo ao fazer uma solicitação. [RetrieveAndGenerate](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) Anexe a política a seguir, substituindo os valores de exemplo por sua própria AWS região, ID da conta e ID da AWS KMS chave para permitir que o Amazon Bedrock criptografe o contexto da sessão.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-id"
        }
    ]
}
```

------

## Permissões para descriptografar sua AWS KMS chave para suas fontes de dados no Amazon S3
<a name="encryption-kb-ds"></a>

Armazene as fontes de dados da sua base de conhecimento no bucket do Amazon S3. Para criptografar esses documentos em repouso, é possível usar a criptografia do lado do servidor do Amazon S3 SSE-S3. Com essa opção, os objetos são criptografados com chaves de serviço gerenciadas pelo serviço Amazon S3. 

Para obter mais informações, consulte [Proteção de dados usando criptografia do lado do servidor com chaves de criptografia gerenciadas pelo Amazon S3 (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html) no *Manual do usuário do Amazon Simple Storage Service*.

Se você criptografou suas fontes de dados no Amazon S3 com uma AWS KMS chave personalizada, anexe a seguinte política à sua função de serviço do Amazon Bedrock para permitir que o Amazon Bedrock decifre sua chave. Substitua os valores de exemplo por sua própria AWS região, ID da conta e ID da AWS KMS chave.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "KMS:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/key-id"
            ],
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": [
                        "s3.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## Permissões para descriptografar um AWS Secrets Manager segredo para o armazenamento de vetores que contém sua base de conhecimento
<a name="encryption-kb-3p"></a>

Se o repositório vetorial que contém sua base de conhecimento estiver configurado com um AWS Secrets Manager segredo, você poderá criptografar o segredo com uma AWS KMS chave personalizada seguindo as etapas em [Criptografia e descriptografia secretas](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) em. AWS Secrets Manager

Se você fizer isso, anexe a política a seguir ao seu perfil de serviço do Amazon Bedrock para permitir que ele descriptografe a chave. Substitua os valores de exemplo por sua própria AWS região, ID da conta e ID da AWS KMS chave.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/key-id"
            ]
        }
    ]
}
```

------

## Permissões para Bedrock Data Automation (BDA) com criptografia AWS KMS
<a name="encryption-kb-bda"></a>

Ao usar o BDA para processar conteúdo multimodal com AWS KMS chaves gerenciadas pelo cliente, são necessárias permissões adicionais além das permissões padrão. AWS KMS 

Anexe a seguinte política à sua função de serviço Amazon Bedrock para permitir que o BDA trabalhe com arquivos multimídia criptografados. Substitua os valores de exemplo por sua própria AWS região, ID da conta e ID da AWS KMS chave.

```
{
    "Sid": "KmsPermissionStatementForBDA",
    "Effect": "Allow",
    "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt",
        "kms:DescribeKey",
        "kms:CreateGrant"
    ],
    "Resource": "arn:aws:kms:region:account-id:key/key-id",
    "Condition": {
        "StringEquals": {
            "aws:ResourceAccount": "account-id",
            "kms:ViaService": "bedrock.region.amazonaws.com"
        }
    }
}
```

As permissões específicas do BDA incluem `kms:DescribeKey` `kms:CreateGrant` ações, que são necessárias para que o BDA processe arquivos criptografados de áudio, vídeo e imagem.

# Proteja os dados usando a Amazon VPC e o AWS PrivateLink
<a name="usingVPC"></a>

Para controlar o acesso aos dados, é recomendável usar uma nuvem privada virtual (VPC) com a [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html). O uso de uma VPC protege os dados e permite monitorar todo tráfego de rede dentro e fora dos contêineres de trabalho da AWS usando [logs de fluxo da VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html).

É possível proteger ainda mais os dados configurando a VPC para que os dados não fiquem disponíveis pela internet e, em vez disso, criar um endpoint da VPC de interface com [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/what-is-privatelink.html) para estabelecer uma conexão privada com os dados.

Veja abaixo alguns recursos do Amazon Bedrock nos quais você pode usar a VPC para proteger os dados:
+ Personalização do modelo: [(Opcional) Proteger trabalhos de personalização de modelos usando uma VPC](custom-model-job-access-security.md#vpc-model-customization)
+ Inferência em lote: [Proteger trabalhos de inferência em lote usando uma VPC](batch-vpc.md)
+ Bases de Conhecimento do Amazon Bedrock: [acesse o Amazon OpenSearch Sem Servidor usando um endpoint de interface endpoint (AWS PrivateLink)](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html)

## Configurar uma VPC
<a name="create-vpc"></a>

É possível usar uma [VPC padrão](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html) ou criar uma VPC seguindo as orientações em [Get started with Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-getting-started.html) e [Crie uma VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html).

Ao criar a VPC, é recomendável usar as configurações padrão do DNS para a tabela de rotas de endpoint, para que os URLs padrão do Amazon S3 (por exemplo, `http://s3-aws-region.amazonaws.com/training-bucket`) sejam resolvidos.

Os tópicos a seguir mostram como configurar o endpoint da VPC com a ajuda do AWS PrivateLink e um exemplo de caso de uso para usar a VPC para proteger o acesso aos arquivos do S3.

**Topics**
+ [Configurar uma VPC](#create-vpc)
+ [É possível usar endpoints da VPC (AWS PrivateLink) de interface para criar uma conexão privada entre a VPC e o Amazon Bedrock.](vpc-interface-endpoints.md)
+ [(Exemplo) Restringir o acesso aos dados do Amazon S3 usando a VPC](vpc-s3.md)

# É possível usar endpoints da VPC (AWS PrivateLink) de interface para criar uma conexão privada entre a VPC e o Amazon Bedrock.
<a name="vpc-interface-endpoints"></a>

Você pode usar AWS PrivateLink para criar uma conexão privada entre sua VPC e o Amazon Bedrock. Você pode acessar o Amazon Bedrock como se estivesse em sua VPC, sem o uso de um gateway de internet, dispositivo NAT, conexão VPN ou conexão. Direct Connect As instâncias na VPC não precisam de endereços IP públicos para acessar o Amazon Bedrock.

Estabeleça essa conectividade privada criando um *endpoint de interface*, habilitado pelo AWS PrivateLink. Criaremos um endpoint de interface de rede em cada sub-rede que você habilitar para o endpoint de interface. Essas são interfaces de rede gerenciadas pelo solicitante que servem como ponto de entrada para o tráfego destinado ao Amazon Bedrock.

Para obter mais informações, consulte [Acesso Serviços da AWS por meio AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-access-aws-services.html) do *AWS PrivateLink Guia*.

## Considerações sobre endpoints da Amazon VPC do Amazon Bedrock
<a name="vpc-endpoint-considerations"></a>

Antes de configurar um endpoint de interface para o Amazon Bedrock, analise as [Considerações](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#considerations-interface-endpoints) no *Guia do AWS PrivateLink *.

O Amazon Bedrock oferece suporte às seguintes chamadas de API por meio de endpoints da VPC.


****  

| Categoria | Sufixo do endpoint | 
| --- | --- | 
| [Ações de API do ambiente de gerenciamento do Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock.html) | bedrock | 
| [Ações de API de runtime do Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock_Runtime.html) | bedrock-runtime | 
| Ações da API Amazon Bedrock Mantle | bedrock-mantle | 
| [Ações de API de tempo de compilação do Amazon Bedrock Agents](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html) | bedrock-agent | 
| [Ações de API de runtime do Amazon Bedrock Agents](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock_Runtime.html) | bedrock-agent-runtime | 

**Zonas de disponibilidade**

Os endpoints do Amazon Bedrock e do Amazon Bedrock Agents estão disponíveis em várias zonas de disponibilidade.

## Criar um endpoint de interface para o Amazon Bedrock
<a name="vpc-endpoint-create"></a>

Você pode criar um endpoint de interface para o Amazon Bedrock usando o console Amazon VPC ou o (). AWS Command Line Interface AWS CLI Para obter mais informações, consulte [Criar um endpoint de interface](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint-aws) no *Guia do usuário do AWS PrivateLink *.

Crie um endpoint de interface para o Amazon Bedrock usando qualquer um dos seguintes nomes de serviço:
+ `com.amazonaws.region.bedrock`
+ `com.amazonaws.region.bedrock-runtime`
+ `com.amazonaws.region.bedrock-mantle`
+ `com.amazonaws.region.bedrock-agent`
+ `com.amazonaws.region.bedrock-agent-runtime`

Após criar o endpoint, você tem a opção de habilitar um nome de host DNS privado. Habilite essa configuração selecionando “Habilitar nome de DNS privado” no console da VPC ao criar o endpoint da VPC.

Se você habilitar o DNS privado para o endpoint de interface, poderá fazer solicitações de API ao Amazon Bedrock usando seu nome DNS regional padrão. Os exemplos a seguir mostram o formato dos nomes de DNS regionais padrão.
+ `bedrock.region.amazonaws.com`
+ `bedrock-runtime.region.amazonaws.com`
+ `bedrock-mantle.region.api.aws`
+ `bedrock-agent.region.amazonaws.com`
+ `bedrock-agent-runtime.region.amazonaws.com`

## Criar uma política de endpoint para o endpoint de interface
<a name="vpc-endpoint-policy"></a>

Uma política de endpoint é um recurso do IAM que você pode anexar ao endpoint de interface. A política de endpoint padrão permite acesso total ao Amazon Bedrock por meio de endpoint de interface. Para controlar o acesso permitido ao Amazon Bedrock pela VPC, anexe uma política de endpoint personalizada ao endpoint de interface.

Uma política de endpoint especifica as seguintes informações:
+ As entidades principais que podem realizar ações (Contas da AWS, usuários do IAM e perfis do IAM).
+ As ações que podem ser realizadas.
+ Os recursos nos quais as ações podem ser executadas.

Para obter mais informações, consulte [Controlar o acesso aos serviços usando políticas de endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html) no *Guia do AWS PrivateLink *.

**Exemplo: política de endpoint da VPC para ações do Amazon Bedrock**  
Veja a seguir um exemplo de uma política de endpoint personalizado. Quando essa política baseada em recurso é anexada ao endpoint de interface, ela concede acesso às ações do Amazon Bedrock listadas a todas as entidades principais em todos os recursos.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Principal": "*",
         "Effect": "Allow",
         "Action": [
            "bedrock:InvokeModel",
            "bedrock:InvokeModelWithResponseStream"
         ],
         "Resource":"*"
      }
   ]
}
```

------

**Exemplo: política de VPC endpoint para ações do Amazon Bedrock Mantle**  
Veja a seguir um exemplo de uma política de endpoint personalizado. Quando você anexa essa política baseada em recursos ao seu endpoint de interface, ela concede acesso às ações listadas do Amazon Bedrock Mantle para todos os diretores de todos os recursos.

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Principal": "*",
         "Effect": "Allow",
         "Action": [
            "bedrock-mantle:CreateInference"
         ],
         "Resource":"*"
      }
   ]
}
```

# (Exemplo) Restringir o acesso aos dados do Amazon S3 usando a VPC
<a name="vpc-s3"></a>

É possível usar uma VPC para restringir o acesso aos dados nos buckets do Amazon S3. Para obter mais segurança, é possível configurar a VPC sem acesso à internet e criar um endpoint para ela com o AWS PrivateLink. Você também pode restringir o acesso anexando políticas baseadas em recurso ao endpoint da VPC ou ao bucket do S3.

**Topics**
+ [Criar um endpoint da VPC para o Amazon S3](#vpc-s3-create)
+ [(Opcional) Usar as políticas do IAM para restringir o acesso aos arquivos do S3](#vpc-policy-rbp)

## Criar um endpoint da VPC para o Amazon S3
<a name="vpc-s3-create"></a>

Se você configurar a VPC sem acesso à internet, será necessário criar um [endpoint da VPC do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html) para permitir que as tarefas de personalização de modelos acessem os buckets do S3 que armazenam os dados de treinamento e de validação e que armazenarão os artefatos do modelo.

Crie o endpoint da VPC do S3 seguindo as etapas em [Gateway endpoints for Amazon S3](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#create-gateway-endpoint-s3).

**nota**  
Se você não usar as configurações de DNS padrão para sua VPC, precisará garantir que URLs as localizações dos dados em seus trabalhos de treinamento sejam resolvidas configurando as tabelas de rotas do endpoint. Para obter informações sobre as tabelas de rotas do endpoint da VPC, consulte [Roteamento para endpoints do gateway](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-gateway.html#vpc-endpoints-routing).

## (Opcional) Usar as políticas do IAM para restringir o acesso aos arquivos do S3
<a name="vpc-policy-rbp"></a>

É possível usar [políticas baseadas em recurso](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) para controlar mais rigorosamente o acesso aos arquivos do S3. É possível usar qualquer combinação dos tipos de política baseada em recurso a seguir.
+ **Políticas de endpoint**: é possível anexar políticas de endpoint ao endpoint da VPC para restringir o acesso por meio do endpoint da VPC. A política de endpoint padrão permite acesso total ao Amazon S3 para qualquer usuário ou serviço em sua VPC. Ao criar ou depois de criar o endpoint, é possível, opcionalmente, anexar uma política baseada em recurso ao endpoint para adicionar restrições, como permitir que apenas o endpoint acesse um bucket específico ou permitir que apenas um perfil específico do IAM acesse o endpoint. Para obter exemplos, consulte [Editar a política de endpoint da VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#edit-vpc-endpoint-policy-s3).

  Veja a seguir um exemplo de política que você pode anexar ao endpoint da VPC para permitir que ele acesse somente o bucket especificado.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "RestrictAccessToTrainingBucket",
              "Effect": "Allow",
              "Principal": "*",
              "Action": [
                  "s3:GetObject",
                  "s3:ListBucket"
              ],
              "Resource": [
                  "arn:aws:s3:::bucket",
                  "arn:aws:s3:::bucket/*"
              ]
          }
      ]
  }
  ```

------
+ **Políticas de bucket**: é possível anexar uma política de bucket a um bucket do S3 para restringir o acesso a ele. Para criar uma política de bucket, siga as etapas em [Usar políticas de bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html). Para restringir o acesso ao tráfego proveniente da VPC, é possível usar chaves de condição para especificar a própria VPC, um endpoint da VPC ou o endereço IP da VPC. [Você pode usar as chaves de condição [aws:sourceVpc, [aws:sourceVpce](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcevpce)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcevpc) ou aws:. VpcSourceIp](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-vpcsourceip)

  Veja a seguir um exemplo de política que você pode anexar a um bucket do S3 para negar todo tráfego para o bucket, a menos que ele seja proveniente da sua VPC.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "RestrictAccessToOutputBucket",
              "Effect": "Deny",
              "Principal": "*",
              "Action": [
                  "s3:GetObject",
                  "s3:PutObject",
                  "s3:ListBucket"
              ],
              "Resource": [
                  "arn:aws:s3:::bucket",
                  "arn:aws:s3:::bucket/*"
              ],
              "Condition": {
                  "StringNotEquals": {
                      "aws:sourceVpc": "vpc-11223344556677889"
                  }
              }
          }
      ]
  }
  ```

------

  Para obter mais exemplos, consulte [Controlar o acesso usando políticas de bucket](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#bucket-policies-s3).

# Gerenciamento de identidade e acesso para o Amazon Bedrock
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) é uma ferramenta AWS service (Serviço da AWS) que ajuda o administrador a controlar com segurança o acesso aos AWS recursos. Os administradores do IAM controlam quem pode ser *autenticado* (conectado) e *autorizado* (ter permissões) para utilizar os recursos do Amazon Bedrock. O IAM é um AWS service (Serviço da AWS) que você pode usar sem custo adicional.

**Topics**
+ [Público](#security_iam_audience)
+ [Autenticação com identidades](#security_iam_authentication)
+ [Gerenciar o acesso usando políticas](#security_iam_access-manage)
+ [Como o Amazon Bedrock funciona com o IAM](security_iam_service-with-iam.md)
+ [Exemplos de políticas baseadas em identidade para o Amazon Bedrock](security_iam_id-based-policy-examples.md)
+ [Gerenciando políticas do IAM em projetos](security-iam-projects.md)
+ [AWS políticas gerenciadas para o Amazon Bedrock](security-iam-awsmanpol.md)
+ [Perfis de serviço](security-iam-sr.md)
+ [Configurar acesso para buckets do Amazon S3](s3-bucket-access.md)
+ [Solução de problemas de identidade e acesso da Amazon Bedrock](security_iam_troubleshoot.md)

## Público
<a name="security_iam_audience"></a>

A forma como você usa AWS Identity and Access Management (IAM) difere com base na sua função:
+ **Usuário do serviço**: solicite permissões ao seu administrador se você não conseguir acessar os atributos (consulte [Solução de problemas de identidade e acesso da Amazon Bedrock](security_iam_troubleshoot.md)).
+ **Administrador do serviço**: determine o acesso do usuário e envie solicitações de permissão (consulte [Como o Amazon Bedrock funciona com o IAM](security_iam_service-with-iam.md))
+ **Administrador do IAM**: escreva políticas para gerenciar o acesso (consulte [Exemplos de políticas baseadas em identidade para o Amazon Bedrock](security_iam_id-based-policy-examples.md))

## Autenticação com identidades
<a name="security_iam_authentication"></a>

A autenticação é a forma como você faz login AWS usando suas credenciais de identidade. Você deve estar autenticado como usuário do IAM ou assumindo uma função do IAM. Usuário raiz da conta da AWS

Você pode fazer login como uma identidade federada usando credenciais de uma fonte de identidade como Centro de Identidade do AWS IAM (IAM Identity Center), autenticação de login único ou credenciais. Google/Facebook Para ter mais informações sobre como fazer login, consulte [Como fazer login em sua Conta da AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) no *Guia do usuário do Início de Sessão da AWS *.

Para acesso programático, AWS fornece um SDK e uma CLI para assinar solicitações criptograficamente. Para ter mais informações, consulte [AWS Signature Version 4 para solicitações de API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) no *Guia do usuário do IAM*.

### Conta da AWS usuário root
<a name="security_iam_authentication-rootuser"></a>

 Ao criar um Conta da AWS, você começa com uma identidade de login chamada *usuário Conta da AWS raiz* que tem acesso completo a todos Serviços da AWS os recursos. É altamente recomendável não usar o usuário-raiz em tarefas diárias. Consulte as tarefas que exigem credenciais de usuário-raiz em [Tarefas que exigem credenciais de usuário-raiz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) no *Guia do usuário do IAM*. 

### Identidade federada
<a name="security_iam_authentication-federated"></a>

Como prática recomendada, exija que os usuários humanos usem a federação com um provedor de identidade para acessar Serviços da AWS usando credenciais temporárias.

Uma *identidade federada* é um usuário do seu diretório corporativo, provedor de identidade da web ou Directory Service que acessa Serviços da AWS usando credenciais de uma fonte de identidade. As identidades federadas assumem funções que oferecem credenciais temporárias.

Para o gerenciamento de acesso centralizado, recomendamos Centro de Identidade do AWS IAM. Para saber mais, consulte [O que é o IAM Identity Center?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) no *Guia do usuário do Centro de Identidade do AWS IAM *.

### Usuários e grupos do IAM
<a name="security_iam_authentication-iamuser"></a>

Um *[usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* é uma identidade com permissões específicas para uma única pessoa ou aplicação. É recomendável usar credenciais temporárias, em vez de usuários do IAM com credenciais de longo prazo. Para obter mais informações, consulte [Exigir que usuários humanos usem a federação com um provedor de identidade para acessar AWS usando credenciais temporárias](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) no *Guia do usuário do IAM*.

Um [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) especifica um conjunto de usuários do IAM e facilita o gerenciamento de permissões para grandes conjuntos de usuários. Para ter mais informações, consulte [Casos de uso de usuários do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) no *Guia do usuário do IAM*.

### Perfis do IAM
<a name="security_iam_authentication-iamrole"></a>

Uma *[perfil do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* é uma identidade com permissões específicas que oferece credenciais temporárias. Você pode assumir uma função [mudando de um usuário para uma função do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) ou chamando uma operação de AWS API AWS CLI ou. Para saber mais, consulte [Métodos para assumir um perfil](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) no *Manual do usuário do IAM*.

Os perfis do IAM são úteis para acesso de usuário federado, permissões de usuário do IAM temporárias, acesso entre contas, acesso entre serviços e aplicações em execução no Amazon EC2. Consulte mais informações em [Acesso a recursos entre contas no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) no *Guia do usuário do IAM*.

## Gerenciar o acesso usando políticas
<a name="security_iam_access-manage"></a>

Você controla o acesso AWS criando políticas e anexando-as a AWS identidades ou recursos. Uma política define permissões quando associada a uma identidade ou recurso. AWS avalia essas políticas quando um diretor faz uma solicitação. A maioria das políticas é armazenada AWS como documentos JSON. Para ter mais informações sobre documentos de política JSON, consulte [Visão geral das políticas JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) no *Guia do usuário do IAM*.

Por meio de políticas, os administradores especificam quem tem acesso a que, definindo qual **entidade principal** pode realizar **ações** em quais **recursos** e sob quais **condições**.

Por padrão, usuários e perfis não têm permissões. Um administrador do IAM cria políticas do IAM e as adiciona aos perfis, os quais os usuários podem então assumir. As políticas do IAM definem permissões, independentemente do método usado para realizar a operação.

### Políticas baseadas em identidade
<a name="security_iam_access-manage-id-based-policies"></a>

As políticas baseadas em identidade são documentos de políticas de permissão JSON que você anexa a uma identidade (usuário, grupo ou perfil). Essas políticas controlam quais ações as identidades podem realizar, em quais recursos e sob quais condições. Para saber como criar uma política baseada em identidade, consulte [Definir permissões personalizadas do IAM com as políticas gerenciadas pelo cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) no *Guia do Usuário do IAM*.

As políticas baseadas em identidade podem ser políticas *em linha* (incorporadas diretamente em uma única identidade) ou *políticas gerenciadas* (políticas autônomas anexadas a várias identidades). Para saber como escolher entre uma política gerenciada e políticas em linha, consulte [Escolher entre políticas gerenciadas e políticas em linha](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) no *Guia do usuário do IAM*.

### Políticas baseadas em recursos
<a name="security_iam_access-manage-resource-based-policies"></a>

Políticas baseadas em recursos são documentos de políticas JSON que você anexa a um recurso. Entre os exemplos estão *políticas de confiança de perfil* do IAM e *políticas de bucket* do Amazon S3. Em serviços compatíveis com políticas baseadas em recursos, os administradores de serviço podem usá-las para controlar o acesso a um recurso específico. É necessário [especificar uma entidade principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) em uma política baseada em recursos.

Políticas baseadas em recursos são políticas em linha localizadas nesse serviço. Você não pode usar políticas AWS gerenciadas do IAM em uma política baseada em recursos.

### Outros tipos de política
<a name="security_iam_access-manage-other-policies"></a>

AWS oferece suporte a tipos de políticas adicionais que podem definir o máximo de permissões concedidas por tipos de políticas mais comuns:
+ **Limites de permissões**: definem o número máximo de permissões que uma política baseada em identidade pode conceder a uma entidade do IAM. Para saber mais sobre limites de permissões, consulte [Limites de permissões para identidades do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) no *Guia do usuário do IAM*.
+ **Políticas de controle de serviço (SCPs)** — Especifique as permissões máximas para uma organização ou unidade organizacional em AWS Organizations. Para saber mais, consulte [Políticas de controle de serviço](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) no *Guia do usuário do AWS Organizations *.
+ **Políticas de controle de recursos (RCPs)** — Defina o máximo de permissões disponíveis para recursos em suas contas. Para obter mais informações, consulte [Políticas de controle de recursos (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) no *Guia AWS Organizations do usuário*.
+ **Políticas de sessão**: políticas avançadas transmitidas como um parâmetro durante a criação de uma sessão temporária para um perfil ou um usuário federado. Para saber mais, consulte [Políticas de sessão](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) no *Guia do usuário do IAM*.

### Vários tipos de política
<a name="security_iam_access-manage-multiple-policies"></a>

Quando vários tipos de política são aplicáveis a uma solicitação, é mais complicado compreender as permissões resultantes. Para saber como AWS determinar se uma solicitação deve ser permitida quando vários tipos de políticas estão envolvidos, consulte [Lógica de avaliação de políticas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) no *Guia do usuário do IAM*.

# Como o Amazon Bedrock funciona com o IAM
<a name="security_iam_service-with-iam"></a>

Antes de usar o IAM para gerenciar o acesso ao Amazon Bedrock, entenda que atributos do IAM estão disponíveis para uso com o Amazon Bedrock.






**Recursos do IAM que você pode usar com o Amazon Bedrock**  

| Recurso do IAM | Suporte ao Amazon Bedrock | 
| --- | --- | 
|  [Políticas baseadas em identidade](#security_iam_service-with-iam-id-based-policies)  |   Sim  | 
|  [Políticas baseadas em recurso](#security_iam_service-with-iam-resource-based-policies)  |   Não   | 
|  [Ações de políticas](#security_iam_service-with-iam-id-based-policies-actions)  |   Sim  | 
|  [Recursos de políticas](#security_iam_service-with-iam-id-based-policies-resources)  |   Sim  | 
|  [Chaves de condição de políticas](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   Sim  | 
|  [ACLs](#security_iam_service-with-iam-acls)  |   Não   | 
|  [ABAC (tags em políticas)](#security_iam_service-with-iam-tags)  |   Sim  | 
|  [Credenciais temporárias](#security_iam_service-with-iam-roles-tempcreds)  |   Sim  | 
|  [Permissões de entidade principal](#security_iam_service-with-iam-principal-permissions)  |   Sim  | 
|  [Perfis de serviço](#security_iam_service-with-iam-roles-service)  |   Sim  | 
|  [Perfis vinculados a serviço](#security_iam_service-with-iam-roles-service-linked)  |   Não   | 

Para ter uma visão de alto nível de como o Amazon Bedrock e outros AWS serviços funcionam com a maioria dos recursos do IAM, consulte [AWS os serviços que funcionam com o IAM no Guia do](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) *usuário do IAM*.

## Políticas baseadas em identidade do Amazon Bedrock
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Compatível com políticas baseadas em identidade:** sim

As políticas baseadas em identidade são documentos de políticas de permissões JSON que podem ser anexados a uma identidade, como usuário do IAM, grupo de usuários ou perfil. Essas políticas controlam quais ações os usuários e perfis podem realizar, em quais recursos e em que condições. Para saber como criar uma política baseada em identidade, consulte [Definir permissões personalizadas do IAM com as políticas gerenciadas pelo cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) no *Guia do Usuário do IAM*.

Com as políticas baseadas em identidade do IAM, é possível especificar ações e recursos permitidos ou negados, assim como as condições sob as quais as ações são permitidas ou negadas. Para saber mais sobre todos os elementos que podem ser usados em uma política JSON, consulte [Referência de elemento de política JSON do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) no *Guia do usuário do IAM*.

### Exemplos de políticas baseadas em identidade do Amazon Bedrock
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Para visualizar exemplos de políticas baseadas em identidade do Amazon Bedrock, consulte [Exemplos de políticas baseadas em identidade para o Amazon Bedrock](security_iam_id-based-policy-examples.md).

## Políticas baseadas em recurso no Amazon Bedrock
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Compatibilidade com políticas baseadas em recursos:** não 

Políticas baseadas em recursos são documentos de políticas JSON que você anexa a um recurso. São exemplos de políticas baseadas em recursos as *políticas de confiança de perfil* do IAM e as *políticas de bucket* do Amazon S3. Em serviços compatíveis com políticas baseadas em recursos, os administradores de serviço podem usá-las para controlar o acesso a um recurso específico. Para o atributo ao qual a política está anexada, a política define quais ações uma entidade principal especificado pode executar nesse atributo e em que condições. É necessário [especificar uma entidade principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) em uma política baseada em recursos. Os diretores podem incluir contas, usuários, funções, usuários federados ou. Serviços da AWS

Para permitir o acesso entre contas, é possível especificar uma conta inteira ou as entidades do IAM em outra conta como a entidade principal em uma política baseada em recursos. Consulte mais informações em [Acesso a recursos entre contas no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) no *Guia do usuário do IAM*.

## Ações de políticas do Amazon Bedrock
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Compatível com ações de políticas:** sim

Os administradores podem usar políticas AWS JSON para especificar quem tem acesso ao quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento `Action` de uma política JSON descreve as ações que podem ser usadas para permitir ou negar acesso em uma política. Incluem ações em uma política para conceder permissões para executar a operação associada.



Para ver uma lista de ações do Amazon Bedrock, consulte [Actions defined by Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions) na *Referência de autorização do serviço*.

As ações de política no Amazon Bedrock usam o seguinte prefixo antes da ação:

```
bedrock
```

Para especificar várias ações em uma única declaração, separe-as com vírgulas.

```
"Action": [
   "bedrock:action1",
   "bedrock:action2"
]
```





Para visualizar exemplos de políticas baseadas em identidade do Amazon Bedrock, consulte [Exemplos de políticas baseadas em identidade para o Amazon Bedrock](security_iam_id-based-policy-examples.md).

## Recursos de políticas para o Amazon Bedrock
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Compatível com recursos de políticas:** sim

Os administradores podem usar políticas AWS JSON para especificar quem tem acesso ao quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento de política JSON `Resource` especifica o objeto ou os objetos aos quais a ação se aplica. Como prática recomendada, especifique um recurso usando seu [nome do recurso da Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Para ações que não oferecem compatibilidade com permissões em nível de recurso, use um curinga (\$1) para indicar que a instrução se aplica a todos os recursos.

```
"Resource": "*"
```

Para ver uma lista dos tipos de recursos do Amazon Bedrock e seus ARNs, consulte [Recursos definidos pelo Amazon Bedrock na Referência](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-resources-for-iam-policies) de *autorização de serviço*. Para saber com quais ações você pode especificar o ARN de cada recurso, consulte [Actions defined by Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions).





Algumas ações de API do Amazon Bedrock são compatíveis com vários recursos. Por exemplo, [AssociateAgentKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_AssociateAgentKnowledgeBase.html) acessa *AGENT12345* e *KB12345678*; portanto, uma entidade principal deve ter permissões para acessar os dois recursos. Para especificar vários recursos em uma única instrução, separe-os ARNs com vírgulas. 

```
"Resource": [
   "arn:aws:bedrock:aws-region:111122223333:agent/AGENT12345",
   "arn:aws:bedrock:aws-region:111122223333:knowledge-base/KB12345678"
]
```

Para visualizar exemplos de políticas baseadas em identidade do Amazon Bedrock, consulte [Exemplos de políticas baseadas em identidade para o Amazon Bedrock](security_iam_id-based-policy-examples.md).

## Chaves de condição da política do Amazon Bedrock
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Compatível com chaves de condição de política específicas de serviço:** sim

Os administradores podem usar políticas AWS JSON para especificar quem tem acesso ao quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento `Condition` especifica quando as instruções são executadas com base em critérios definidos. É possível criar expressões condicionais que usem [agentes de condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), como “igual a” ou “menor que”, para fazer a condição da política corresponder aos valores na solicitação. Para ver todas as chaves de condição AWS globais, consulte as [chaves de contexto de condição AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) no *Guia do usuário do IAM*.

Consulte uma lista de chaves de condição do Amazon Bedrock em [Condition keys for Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) na *Referência de autorização do serviço*. Para saber com quais ações e recursos é possível usar uma chave de condição, consulte [Actions defined by Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions).

Todas as ações do Amazon Bedrock são compatíveis com as chaves de condição que usam modelos do Amazon Bedrock como recurso.

Para visualizar exemplos de políticas baseadas em identidade do Amazon Bedrock, consulte [Exemplos de políticas baseadas em identidade para o Amazon Bedrock](security_iam_id-based-policy-examples.md).

## ACLs na Amazon Bedrock
<a name="security_iam_service-with-iam-acls"></a>

**Suportes ACLs:** Não 

As listas de controle de acesso (ACLs) controlam quais diretores (membros da conta, usuários ou funções) têm permissões para acessar um recurso. ACLs são semelhantes às políticas baseadas em recursos, embora não usem o formato de documento de política JSON.

## ABAC com o Amazon Bedrock
<a name="security_iam_service-with-iam-tags"></a>

**Compatível com ABAC (tags em políticas):** sim

O controle de acesso por atributo (ABAC) é uma estratégia de autorização que define permissões com base em atributos chamados de tags. Você pode anexar tags a entidades e AWS recursos do IAM e, em seguida, criar políticas ABAC para permitir operações quando a tag do diretor corresponder à tag no recurso.

Para controlar o acesso baseado em tags, forneça informações sobre as tags no [elemento de condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) de uma política usando as `aws:ResourceTag/key-name`, `aws:RequestTag/key-name` ou chaves de condição `aws:TagKeys`.

Se um serviço for compatível com as três chaves de condição para cada tipo de recurso, o valor será **Sim** para o serviço. Se um serviço for compatível com as três chaves de condição somente para alguns tipos de recursos, o valor será **Parcial**

Para saber mais sobre o ABAC, consulte [Definir permissões com autorização do ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) no *Guia do usuário do IAM*. Para visualizar um tutorial com etapas para configurar o ABAC, consulte [Usar controle de acesso baseado em atributos (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) no *Guia do usuário do IAM*.

## Usar credenciais temporárias com o Amazon Bedrock
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Compatível com credenciais temporárias:** sim

As credenciais temporárias fornecem acesso de curto prazo aos AWS recursos e são criadas automaticamente quando você usa a federação ou troca de funções. AWS recomenda que você gere credenciais temporárias dinamicamente em vez de usar chaves de acesso de longo prazo. Para ter mais informações, consulte [Credenciais de segurança temporárias no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) e [Serviços da Serviços da AWS que funcionam com o IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) no *Guia do usuário do IAM*.

## Permissões de entidades principais entre serviços para o Amazon Bedrock
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Compatibilidade com o recurso de encaminhamento de sessões de acesso (FAS):** sim

 As sessões de acesso direto (FAS) usam as permissões do principal chamando um AWS service (Serviço da AWS), combinadas com a solicitação AWS service (Serviço da AWS) de fazer solicitações aos serviços posteriores. Para obter detalhes da política ao fazer solicitações de FAS, consulte [Sessões de acesso direto](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

## Perfis de serviço para o Amazon Bedrock
<a name="security_iam_service-with-iam-roles-service"></a>

**Compatível com perfis de serviço:** sim

 O perfil de serviço é um [perfil do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) que um serviço assume para executar ações em seu nome. Um administrador do IAM pode criar, modificar e excluir um perfil de serviço do IAM. Para saber mais, consulte [Criar um perfil para delegar permissões a um AWS service (Serviço da AWS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) no *Guia do Usuário do IAM*. 

**Atenção**  
A alteração das permissões de um perfil de serviço pode interromper a funcionalidade do Amazon Bedrock. Edite perfis de serviço somente quando o Amazon Bedrock fornecer orientação para isso.

## Perfis vinculados ao serviço para o Amazon Bedrock
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Compatível com perfis vinculados ao serviço:** Não 

 Uma função vinculada ao serviço é um tipo de função de serviço vinculada a um. AWS service (Serviço da AWS) O serviço pode assumir o perfil de executar uma ação em seu nome. As funções vinculadas ao serviço aparecem em você Conta da AWS e são de propriedade do serviço. Um administrador do IAM pode visualizar, mas não editar as permissões para perfis vinculados ao serviço. 

# Exemplos de políticas baseadas em identidade para o Amazon Bedrock
<a name="security_iam_id-based-policy-examples"></a>

Por padrão, usuários e perfis não têm permissão para criar ou modificar recursos do Amazon Bedrock. Para conceder permissão aos usuários para executar ações nos recursos que eles precisam, um administrador do IAM pode criar políticas do IAM.

Para aprender a criar uma política baseada em identidade do IAM ao usar esses documentos de política em JSON de exemplo, consulte [Criar políticas do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) no *Guia do usuário do IAM*.

Para obter detalhes sobre ações e tipos de recursos definidos pelo Amazon Bedrock, incluindo o formato de cada um dos tipos de recursos, consulte [Ações, recursos e chaves de condição do Amazon Bedrock na Referência](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html) de *autorização de serviço*. ARNs 

**Topics**
+ [Práticas recomendadas de políticas](#security_iam_service-with-iam-policy-best-practices)
+ [Use o console do Amazon Bedrock.](#security_iam_id-based-policy-examples-console)
+ [Permitir que os usuários visualizem suas próprias permissões](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Negar acesso para inferência de modelos de base](#security_iam_id-based-policy-examples-deny-inference)
+ [Permitir que os usuários invoquem um modelo provisionado](#security_iam_id-based-policy-examples-perform-actions-pt)
+ [Exemplos de políticas baseadas em identidade do Amazon Bedrock Agents](security_iam_id-based-policy-examples-agent.md)

## Práticas recomendadas de políticas
<a name="security_iam_service-with-iam-policy-best-practices"></a>

As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir recursos do Amazon Bedrock em sua conta. Essas ações podem incorrer em custos para sua Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:
+ **Comece com as políticas AWS gerenciadas e passe para as permissões de privilégios mínimos — Para começar a conceder permissões** aos seus usuários e cargas de trabalho, use as *políticas AWS gerenciadas* que concedem permissões para muitos casos de uso comuns. Eles estão disponíveis no seu Conta da AWS. Recomendamos que você reduza ainda mais as permissões definindo políticas gerenciadas pelo AWS cliente que sejam específicas para seus casos de uso. Para saber mais, consulte [Políticas gerenciadas pela AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) ou [Políticas gerenciadas pela AWS para funções de trabalho](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) no *Guia do usuário do IAM*.
+ **Aplique permissões de privilégio mínimo**: ao definir permissões com as políticas do IAM, conceda apenas as permissões necessárias para executar uma tarefa. Você faz isso definindo as ações que podem ser executadas em recursos específicos sob condições específicas, também conhecidas como *permissões de privilégio mínimo*. Para saber mais sobre como usar o IAM para aplicar permissões, consulte [Políticas e permissões no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) no *Guia do usuário do IAM*.
+ **Use condições nas políticas do IAM para restringir ainda mais o acesso**: é possível adicionar uma condição às políticas para limitar o acesso a ações e recursos. Por exemplo, é possível escrever uma condição de política para especificar que todas as solicitações devem ser enviadas usando SSL. Você também pode usar condições para conceder acesso às ações de serviço se elas forem usadas por meio de uma ação específica AWS service (Serviço da AWS), como CloudFormation. Para saber mais, consulte [Elementos da política JSON do IAM: condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) no *Guia do usuário do IAM*.
+ **Use o IAM Access Analyzer para validar suas políticas do IAM a fim de garantir permissões seguras e funcionais**: o IAM Access Analyzer valida as políticas novas e existentes para que elas sigam a linguagem de política do IAM (JSON) e as práticas recomendadas do IAM. O IAM Access Analyzer oferece mais de cem verificações de política e recomendações práticas para ajudar a criar políticas seguras e funcionais. Para saber mais, consulte [Validação de políticas do IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) no *Guia do Usuário do IAM*.
+ **Exigir autenticação multifator (MFA**) — Se você tiver um cenário que exija usuários do IAM ou um usuário root, ative Conta da AWS a MFA para obter segurança adicional. Para exigir MFA quando as operações de API forem chamadas, adicione condições de MFA às suas políticas. Para saber mais, consulte [Configuração de acesso à API protegido por MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) no *Guia do Usuário do IAM*.

Para obter mais informações sobre as práticas recomendadas do IAM, consulte [Práticas recomendadas de segurança no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) no *Guia do usuário do IAM*.

## Use o console do Amazon Bedrock.
<a name="security_iam_id-based-policy-examples-console"></a>

Para acessar o console da Amazon Bedrock, você deve ter um conjunto mínimo de permissões. Essas permissões devem permitir que você liste e visualize detalhes sobre os recursos do Amazon Bedrock em seu Conta da AWS. Caso crie uma política baseada em identidade mais restritiva que as permissões mínimas necessárias, o console não funcionará como pretendido para entidades (usuários ou perfis) com essa política.

Você não precisa permitir permissões mínimas do console para usuários que estão fazendo chamadas somente para a API AWS CLI ou para a AWS API. Em vez disso, permita o acesso somente a ações que correspondam à operação de API que estiverem tentando executar.

Para garantir que usuários e funções ainda possam usar o console do Amazon Bedrock, anexe também o Amazon Bedrock [AmazonBedrockFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockFullAccess)ou a política [AmazonBedrockReadOnly](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockReadOnly) AWS gerenciada às entidades. Para obter informações, consulte [Adicionar permissões a um usuário](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) no *Guia do usuário do IAM*.

## Permitir que os usuários visualizem suas próprias permissões
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Este exemplo mostra como criar uma política que permita que os usuários do IAM visualizem as políticas gerenciadas e em linha anexadas a sua identidade de usuário. Essa política inclui permissões para concluir essa ação no console ou programaticamente usando a API AWS CLI ou AWS .

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## Negar acesso para inferência de modelos de base
<a name="security_iam_id-based-policy-examples-deny-inference"></a>

Para evitar que um usuário invoque modelos de base, é necessário negar o acesso às ações de API que invocam modelos diretamente. O exemplo a seguir mostra uma política baseada em identidade que nega acesso à execução de inferência em um modelo específico. Essa política pode ser usada como uma política de controle de serviços (SCP) para controlar o acesso ao modelo em uma organização.

------
#### [ JSON ]

****  

```
{
          "Version":"2012-10-17",		 	 	 
          "Statement": {
              "Sid": "DenyInference",
              "Effect": "Deny",
              "Action": [
                  "bedrock:InvokeModel",
                  "bedrock:InvokeModelWithResponseStream",
                  "bedrock:CreateModelInvocationJob"
               ],
              "Resource": "arn:aws:bedrock:*::foundation-model/model-id"
          }
      }
```

------

Para negar o acesso de inferência a todos os modelos de base, use `*` para o ID do modelo. Outras ações, como `Converse` e `StartAsyncInvoke`, são bloqueadas automaticamente quando `InvokeModel` é negada. Para obter uma lista de modelos IDs, consulte [Modelos de base compatíveis no Amazon Bedrock](models-supported.md)

## Permitir que os usuários invoquem um modelo provisionado
<a name="security_iam_id-based-policy-examples-perform-actions-pt"></a>

Veja a seguir um exemplo de política que você pode anexar a um perfil do IAM para permitir que ele use um modelo provisionado na inferência de modelos. Por exemplo, é possível anexar essa política a um perfil que deseja que tenha apenas permissões para usar um modelo provisionado. O perfil não poderá gerenciar nem ver informações sobre o throughput provisionado .

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ProvisionedThroughputModelInvocation",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:InvokeModelWithResponseStream"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:provisioned-model/my-provisioned-model"
        }
    ]
}
```

------

# Exemplos de políticas baseadas em identidade do Amazon Bedrock Agents
<a name="security_iam_id-based-policy-examples-agent"></a>

Selecione um tópico para ver exemplos de políticas do IAM que você pode anexar a um perfil do IAM para provisionar permissões para ações em [Automatizar tarefas em sua aplicação usando agentes de IA](agents.md).

**Topics**
+ [Permissões necessárias para o Amazon Bedrock Agents](#iam-agents-ex-all)
+ [Permitir que os usuários visualizem informações e invoquem um agente](#security_iam_id-based-policy-examples-perform-actions-agent)
+ [Controle o acesso aos níveis de serviço](#security_iam_id-based-policy-examples-service-tiers)

## Permissões necessárias para o Amazon Bedrock Agents
<a name="iam-agents-ex-all"></a>

Para que uma identidade do IAM use o Amazon Bedrock Agents, configure-a com as permissões necessárias. Você pode anexar a [AmazonBedrockFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockFullAccess)política para conceder as permissões adequadas à função.

Para restringir as permissões somente às ações usadas no Amazon Bedrock Agents, anexe a seguinte política baseada em identidade a um perfil do IAM:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AgentPermissions",
            "Effect": "Allow",
            "Action": [  
                "bedrock:ListFoundationModels",
                "bedrock:GetFoundationModel",
                "bedrock:TagResource", 
                "bedrock:UntagResource", 
                "bedrock:ListTagsForResource", 
                "bedrock:CreateAgent", 
                "bedrock:UpdateAgent", 
                "bedrock:GetAgent", 
                "bedrock:ListAgents", 
                "bedrock:DeleteAgent",
                "bedrock:CreateAgentActionGroup", 
                "bedrock:UpdateAgentActionGroup", 
                "bedrock:GetAgentActionGroup", 
                "bedrock:ListAgentActionGroups", 
                "bedrock:DeleteAgentActionGroup",
                "bedrock:GetAgentVersion",
                "bedrock:ListAgentVersions", 
                "bedrock:DeleteAgentVersion",
                "bedrock:CreateAgentAlias", 
                "bedrock:UpdateAgentAlias",               
                "bedrock:GetAgentAlias",
                "bedrock:ListAgentAliases",
                "bedrock:DeleteAgentAlias",
                "bedrock:AssociateAgentKnowledgeBase",
                "bedrock:DisassociateAgentKnowledgeBase",
                "bedrock:ListAgentKnowledgeBases",
                "bedrock:GetKnowledgeBase",
                "bedrock:ListKnowledgeBases",
                "bedrock:PrepareAgent",
                "bedrock:InvokeAgent",
                "bedrock:AssociateAgentCollaborator",
                "bedrock:DisassociateAgentCollaborator",
                "bedrock:GetAgentCollaborator",
                "bedrock:ListAgentCollaborators",
                "bedrock:UpdateAgentCollaborator"
            ],
            "Resource": "*"
        }
    ]   
}
```

------

É possível restringir ainda mais as permissões omitindo [ações](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-actions) ou especificando [recursos](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-resources) e [chaves de condição](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-conditionkeys). Uma identidade do IAM pode chamar operações de API em recursos específicos. Por exemplo, a operação [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgent.html) só pode ser usada em recursos de agente, e a ação [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) só pode ser usada em recursos de alias. Para operações de API que não são usadas em um tipo de recurso específico (como [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgent.html)), especifique \$1 como o `Resource`. Se você especificar uma operação de API que não pode ser usada no recurso especificado na política, o Amazon Bedrock retornará um erro.

## Permitir que os usuários visualizem informações e invoquem um agente
<a name="security_iam_id-based-policy-examples-perform-actions-agent"></a>

Veja a seguir um exemplo de política que você pode anexar a uma função do IAM para permitir que ela visualize informações sobre ou edite um agente com o ID *AGENT12345* e interaja com seu alias com o ID*ALIAS12345*. Por exemplo, você pode anexar essa política a um perfil que deseja ter apenas permissões para solucionar problemas com um agente e atualizá-lo.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetAndUpdateAgent",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetAgent",
                "bedrock:UpdateAgent"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:agent/AgentId"
        },
        {
            "Sid": "InvokeAgent",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeAgent"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:agent-alias/AgentId/AgentAliasId"
        }
    ]
}
```

------

## Controle o acesso aos níveis de serviço
<a name="security_iam_id-based-policy-examples-service-tiers"></a>

Os níveis de serviço do Amazon Bedrock oferecem diferentes níveis de prioridade de processamento e preços para solicitações de inferência. Por padrão, todos os níveis de serviço (prioritário, padrão e flexível) estão disponíveis para usuários com as permissões adequadas do Bedrock, seguindo uma abordagem de lista de permissões em que o acesso é concedido, a menos que seja explicitamente restrito.

No entanto, as organizações podem querer controlar quais níveis de serviço seus usuários podem acessar para gerenciar custos ou aplicar políticas de uso. Você pode implementar restrições de acesso usando políticas do IAM com a chave de `bedrock:ServiceTier` condição para negar acesso a níveis de serviço específicos. Essa abordagem permite que você mantenha um controle granular sobre quais membros da equipe podem usar níveis de serviço premium, como “prioridade”, ou níveis de custo otimizado, como “flexível”.

O exemplo a seguir mostra uma política baseada em identidade que nega acesso a todos os níveis de serviço. Esse tipo de política é útil quando você deseja impedir que os usuários especifiquem qualquer nível de serviço, forçando-os a usar o comportamento padrão do sistema:

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "bedrock:InvokeModel",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "bedrock:ServiceTier": ["reserved", "priority", "default", "flex"]
                }
            }
        }
    ]
}
```

Você pode personalizar essa política para negar acesso somente a níveis de serviço específicos modificando os valores das `bedrock:ServiceTier` condições. Por exemplo, para negar somente o nível premium de “prioridade” e permitir “padrão” e “flexível”, você especificaria somente `["priority"]` na condição. Essa abordagem flexível permite que você implemente políticas de uso alinhadas aos requisitos operacionais e de gerenciamento de custos da sua organização. Para obter mais informações sobre níveis de serviço, consulte[Níveis de serviço para otimizar o desempenho e o custo](service-tiers-inference.md).

# Gerenciando políticas do IAM em projetos
<a name="security-iam-projects"></a>

Os projetos Amazon Bedrock oferecem suporte à anexação direta de políticas do IAM, permitindo que você gerencie o controle de acesso no nível dos recursos do projeto. Isso fornece uma alternativa para gerenciar políticas sobre usuários e funções do IAM.

## Entendendo as políticas de IAM em nível de projeto
<a name="security-iam-projects-understanding"></a>

As políticas do IAM em nível de projeto permitem que você:
+ **Centralize o controle de acesso**: defina permissões diretamente no recurso do projeto
+ **Simplifique o gerenciamento**: atualize o acesso sem modificar políticas individuais user/role 
+ **Audite com facilidade**: visualize todas as permissões de um projeto em um só lugar
+ **Administração delegada**: permita que os proprietários do projeto gerenciem o acesso aos seus projetos

## Anexando políticas do IAM aos projetos
<a name="security-iam-projects-attaching"></a>

### Anexar uma política para conceder acesso
<a name="security-iam-projects-attach-grant"></a>

Anexe uma política do IAM diretamente a um projeto para conceder permissões:

```
import boto3
import json

iam = boto3.client('iam', region_name='us-east-1')

project_arn = "arn:aws:bedrock-mantle:us-east-1:123456789012:project/proj_abc123"

# Define the identity-based policy document
policy_document = {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowTeamAlphaAccess",
            "Effect": "Allow",
            "Action": [
                "bedrock-mantle:ListTagsForResources",
                "bedrock-mantle:GetProject"
            ],
            "Resource": project_arn
        }
    ]
}

policy_json = json.dumps(policy_document)

# Create a managed policy
create_response = iam.create_policy(
    PolicyName="TeamAlphaAccessPolicy",
    PolicyDocument=policy_json,
    Description="Grants Team Alpha read access to the Bedrock project"
)

policy_arn = create_response['Policy']['Arn']
print(f"Policy created: {policy_arn}")

# Attach the policy to alice (IAM user)
iam.attach_user_policy(
    UserName="alice",
    PolicyArn=policy_arn
)
print("Policy attached to alice")

# Attach the policy to bob (IAM user)
iam.attach_user_policy(
    UserName="bob",
    PolicyArn=policy_arn
)
print("Policy attached to bob")

# Attach the policy to TeamAlphaRole (IAM role)
iam.attach_role_policy(
    RoleName="TeamAlphaRole",
    PolicyArn=policy_arn
)
print("Policy attached to TeamAlphaRole")
```

### Conceder acesso total ao projeto a uma equipe
<a name="security-iam-projects-full-access"></a>

Permita que uma equipe tenha acesso total para gerenciar e usar um projeto:

```
import boto3
import json

iam = boto3.client('iam', region_name='us-east-1')

project_arn = "arn:aws:bedrock-mantle:us-east-1:123456789012:project/proj_abc123"

# Identity-based policy — no Principal block needed
policy_document = {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "FullProjectAccess",
            "Effect": "Allow",
            "Action": "bedrock-mantle:*",
            "Resource": project_arn
        }
    ]
}

# Create a managed policy
create_response = iam.create_policy(
    PolicyName="DataScienceFullAccess",
    PolicyDocument=json.dumps(policy_document),
    Description="Grants DataScienceTeamRole full access to the Bedrock project"
)

policy_arn = create_response['Policy']['Arn']
print(f"Policy created: {policy_arn}")

# Attach to the DataScienceTeamRole
iam.attach_role_policy(
    RoleName="DataScienceTeamRole",
    PolicyArn=policy_arn
)

print("Full access policy attached to DataScienceTeamRole")
```

### Conceder acesso somente leitura ao
<a name="security-iam-projects-readonly"></a>

Anexe uma política que permita visualizar detalhes do projeto e fazer somente solicitações de inferência:

```
import boto3
import json

iam = boto3.client('iam', region_name='us-east-1')

project_arn = "arn:aws:bedrock-mantle:us-east-1:123456789012:project/proj_abc123"

# Identity-based policy — no Principal block needed
policy_document = {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadOnlyAccess",
            "Effect": "Allow",
            "Action": [
                "bedrock-mantle:CreateInference",
                "bedrock-mantle:GetProject",
                "bedrock-mantle:ListProjects",
                "bedrock-mantle:ListTagsForResources"
            ],
            "Resource": project_arn
        }
    ]
}

# Create a managed policy
create_response = iam.create_policy(
    PolicyName="ReadOnlyAccessPolicy",
    PolicyDocument=json.dumps(policy_document),
    Description="Grants viewer1 and viewer2 read-only access to the Bedrock project"
)

policy_arn = create_response['Policy']['Arn']
print(f"Policy created: {policy_arn}")

# Attach to viewer1
iam.attach_user_policy(
    UserName="viewer1",
    PolicyArn=policy_arn
)
print("Policy attached to viewer1")

# Attach to viewer2
iam.attach_user_policy(
    UserName="viewer2",
    PolicyArn=policy_arn
)
print("Policy attached to viewer2")
```







# AWS políticas gerenciadas para o Amazon Bedrock
<a name="security-iam-awsmanpol"></a>

Para adicionar permissões a usuários, grupos e funções, é mais fácil usar políticas AWS gerenciadas do que escrever políticas você mesmo. É necessário tempo e experiência para criar [políticas gerenciadas pelo cliente do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) que fornecem à sua equipe apenas as permissões de que precisam. Para começar rapidamente, você pode usar nossas políticas AWS gerenciadas. Essas políticas abrangem casos de uso comuns e estão disponíveis na sua Conta da AWS.

Para obter uma lista de políticas AWS gerenciadas, consulte [políticas AWS gerenciadas](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/policy-list.html) na referência de políticas AWS gerenciadas. Para obter mais informações sobre políticas AWS gerenciadas, consulte [políticas AWS gerenciadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) no *Guia do usuário do IAM*.

AWS os serviços mantêm e atualizam as políticas AWS gerenciadas. Você não pode alterar as permissões nas políticas AWS gerenciadas. Os serviços ocasionalmente acrescentam permissões adicionais a uma política gerenciada pela AWS para oferecer suporte a novos recursos. Esse tipo de atualização afeta todas as identidades (usuários, grupos e funções) em que a política está anexada. É mais provável que os serviços atualizem uma política gerenciada pela AWS quando um novo recurso for iniciado ou novas operações se tornarem disponíveis. Os serviços não removem as permissões de uma política AWS gerenciada, portanto, as atualizações de políticas não violarão suas permissões existentes.

Além disso, AWS oferece suporte a políticas gerenciadas para funções de trabalho que abrangem vários serviços. Por exemplo, a política **ReadOnlyAccess** AWS gerenciada fornece acesso somente de leitura a todos os AWS serviços e recursos. Quando um serviço lança um novo recurso, AWS adiciona permissões somente de leitura para novas operações e recursos. Para obter uma lista e descrições das políticas de perfis de trabalho, consulte [Políticas gerenciadas pela AWS para perfis de trabalho](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) no *Guia do usuário do IAM*.

**Topics**
+ [AWS política gerenciada: AmazonBedrockFullAccess](#security-iam-awsmanpol-AmazonBedrockFullAccess)
+ [AWS política gerenciada: AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly)
+ [AWS política gerenciada: AmazonBedrockLimitedAccess](#security-iam-awsmanpol-AmazonBedrockLimitedAccess)
+ [AWS política gerenciada: AmazonBedrockMarketplaceAccess](#security-iam-awsmanpol-AmazonBedrockMarketplaceAccess)
+ [AWS política gerenciada: AmazonBedrockMantleFullAccess](#security-iam-awsmanpol-AmazonBedrockMantleFullAccess)
+ [AWS política gerenciada: AmazonBedrockMantleReadOnly](#security-iam-awsmanpol-AmazonBedrockMantleReadOnly)
+ [AWS política gerenciada: AmazonBedrockMantleInferenceAccess](#security-iam-awsmanpol-AmazonBedrockMantleInferenceAccess)
+ [Atualizações do Amazon Bedrock para políticas AWS gerenciadas](#security-iam-awsmanpol-updates)

## AWS política gerenciada: AmazonBedrockFullAccess
<a name="security-iam-awsmanpol-AmazonBedrockFullAccess"></a>

Você pode anexar a [AmazonBedrockFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockFullAccess.html)política às suas identidades do IAM para conceder permissões administrativas que permitam ao usuário criar, ler, atualizar e excluir recursos do Amazon Bedrock.

**Detalhes de permissões**

Esta política inclui as seguintes permissões:
+  `ec2`(Amazon Elastic Compute Cloud) — Permite permissões para descrever VPCs, sub-redes e grupos de segurança. 
+  `iam`(AWS Identity and Access Management) — Permite que diretores passem funções, mas só permite que funções do IAM com “Amazon Bedrock” sejam passadas para o serviço Amazon Bedrock. As permissões são restritas a `bedrock.amazonaws.com` para operações do Amazon Bedrock. 
+  `kms`(Serviço de gerenciamento de AWS chaves) — Permite que os diretores descrevam AWS KMS chaves e aliases. 
+  `bedrock` (Amazon Bedrock): permite que as entidades principais tenham acesso de leitura e gravação a todas as ações no ambiente de gerenciamento e no serviço de runtime do Amazon Bedrock. 
+  `sagemaker`(Amazon SageMaker AI) — Permite que os diretores acessem os recursos de SageMaker IA da Amazon na conta do cliente, que serve como base para o recurso Amazon Bedrock Marketplace. 

------
#### [ JSON ]

****  

```
{
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Sid": "BedrockAll",
             "Effect": "Allow",
             "Action": [
                 "bedrock:*"
             ],
             "Resource": "*"
         },
         {
             "Sid": "DescribeKey",
             "Effect": "Allow",
             "Action": [
                 "kms:DescribeKey"
             ],
             "Resource": "arn:*:kms:*:::*"
         },
         {
             "Sid": "APIsWithAllResourceAccess",
             "Effect": "Allow",
             "Action": [
                 "iam:ListRoles",
                 "ec2:DescribeVpcs",
                 "ec2:DescribeSubnets",
                 "ec2:DescribeSecurityGroups"
             ],
             "Resource": "*"
         },
         {
             "Sid": "MarketplaceModelEndpointMutatingAPIs",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:CreateEndpoint",
                 "sagemaker:CreateEndpointConfig",
                 "sagemaker:CreateModel",
                 "sagemaker:DeleteEndpoint",
                 "sagemaker:UpdateEndpoint"
             ],
             "Resource": [
                 "arn:aws:sagemaker:*:*:endpoint/*",
                 "arn:aws:sagemaker:*:*:endpoint-config/*",
                 "arn:aws:sagemaker:*:*:model/*"
             ],
             "Condition": {
                 "StringEquals": {
                     "aws:CalledViaLast": "bedrock.amazonaws.com",
                     "aws:ResourceTag/sagemaker-sdk:bedrock": "compatible"
                 }
             }
         },
         {
             "Sid": "MarketplaceModelEndpointAddTagsOperations",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:AddTags"
             ],
             "Resource": [
                 "arn:aws:sagemaker:*:*:endpoint/*",
                 "arn:aws:sagemaker:*:*:endpoint-config/*",
                 "arn:aws:sagemaker:*:*:model/*"
             ],
             "Condition": {
                 "ForAllValues:StringEquals": {
                     "aws:TagKeys": [
                         "sagemaker-sdk:bedrock",
                         "bedrock:marketplace-registration-status",
                         "sagemaker-studio:hub-content-arn"
                     ]
                 },
                 "StringLike": {
                     "aws:RequestTag/sagemaker-sdk:bedrock": "compatible",
                     "aws:RequestTag/bedrock:marketplace-registration-status": "registered",
                     "aws:RequestTag/sagemaker-studio:hub-content-arn": "arn:aws:sagemaker:*:aws:hub-content/SageMakerPublicHub/Model/*"
                 }
             }
         },
         {
             "Sid": "MarketplaceModelEndpointDeleteTagsOperations",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:DeleteTags"
             ],
             "Resource": [
                 "arn:aws:sagemaker:*:*:endpoint/*",
                 "arn:aws:sagemaker:*:*:endpoint-config/*",
                 "arn:aws:sagemaker:*:*:model/*"
             ],
             "Condition": {
                 "ForAllValues:StringEquals": {
                     "aws:TagKeys": [
                         "sagemaker-sdk:bedrock",
                         "bedrock:marketplace-registration-status",
                         "sagemaker-studio:hub-content-arn"
                     ]
                 },
                 "StringLike": {
                     "aws:ResourceTag/sagemaker-sdk:bedrock": "compatible",
                     "aws:ResourceTag/bedrock:marketplace-registration-status": "registered",
                     "aws:ResourceTag/sagemaker-studio:hub-content-arn": "arn:aws:sagemaker:*:aws:hub-content/SageMakerPublicHub/Model/*"
                 }
             }
         },
         {
             "Sid": "MarketplaceModelEndpointNonMutatingAPIs",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:DescribeEndpoint",
                 "sagemaker:DescribeEndpointConfig",
                 "sagemaker:DescribeModel",
                 "sagemaker:DescribeInferenceComponent",
                 "sagemaker:ListEndpoints",
                 "sagemaker:ListTags"
             ],
             "Resource": [
                 "arn:aws:sagemaker:*:*:endpoint/*",
                 "arn:aws:sagemaker:*:*:endpoint-config/*",
                 "arn:aws:sagemaker:*:*:model/*"
             ],
             "Condition": {
                 "StringEquals": {
                     "aws:CalledViaLast": "bedrock.amazonaws.com"
                 }
             }
         },
         {
             "Sid": "MarketplaceModelEndpointInvokingOperations",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:InvokeEndpoint",
                 "sagemaker:InvokeEndpointWithResponseStream"
             ],
             "Resource": [
                 "arn:aws:sagemaker:*:*:endpoint/*"
             ],
             "Condition": {
                 "StringEquals": {
                     "aws:CalledViaLast": "bedrock.amazonaws.com",
                     "aws:ResourceTag/sagemaker-sdk:bedrock": "compatible"
                 }
             }
         },
         {
             "Sid": "DiscoveringMarketplaceModel",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:DescribeHubContent"
             ],
             "Resource": [
                 "arn:aws:sagemaker:*:aws:hub-content/SageMakerPublicHub/Model/*",
                 "arn:aws:sagemaker:*:aws:hub/SageMakerPublicHub"
             ]
         },
         {
             "Sid": "AllowMarketplaceModelsListing",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:ListHubContents"
             ],
             "Resource": "arn:aws:sagemaker:*:aws:hub/SageMakerPublicHub"
         },
         {
             "Sid": "PassRoleToSageMaker",
             "Effect": "Allow",
             "Action": [
                 "iam:PassRole"
             ],
             "Resource": [
                 "arn:aws:iam::*:role/*SageMaker*ForBedrock*"
             ],
             "Condition": {
                 "StringEquals": {
                     "iam:PassedToService": [
                         "sagemaker.amazonaws.com",
                         "bedrock.amazonaws.com"
                     ]
                 }
             }
         },
         {
             "Sid": "PassRoleToBedrock",
             "Effect": "Allow",
             "Action": [
                 "iam:PassRole"
             ],
             "Resource": "arn:aws:iam::*:role/*AmazonBedrock*",
             "Condition": {
                 "StringEquals": {
                     "iam:PassedToService": [
                         "bedrock.amazonaws.com"
                     ]
                 }
             }
         },
         {
             "Sid": "MarketplaceOperationsFromBedrockFor3pModels",
             "Effect": "Allow",
             "Action": [
                 "aws-marketplace:Subscribe",
                 "aws-marketplace:ViewSubscriptions",
                 "aws-marketplace:Unsubscribe"
             ],
             "Resource": "*",
             "Condition": {
                 "StringEquals": {
                     "aws:CalledViaLast": "bedrock.amazonaws.com"
                 }
             }
         }
     ]
 }
```

------

## AWS política gerenciada: AmazonBedrockReadOnly
<a name="security-iam-awsmanpol-AmazonBedrockReadOnly"></a>

Você pode anexar a [AmazonBedrockReadOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockReadOnly.html)política às suas identidades do IAM para conceder permissões somente de leitura para visualizar todos os recursos no Amazon Bedrock.

## AWS política gerenciada: AmazonBedrockLimitedAccess
<a name="security-iam-awsmanpol-AmazonBedrockLimitedAccess"></a>

Você pode anexar a [AmazonBedrockLimitedAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockLimitedAccess.html)política às suas identidades do IAM para permitir que ela acesse os serviços do Amazon Bedrock, gerenciamento de AWS KMS chaves, recursos de rede e assinaturas do AWS Marketplace para modelos de fundação de terceiros. A política inclui as seguintes declarações:
+ A declaração `BedrockAPIs` permite que você execute várias operações no Amazon Bedrock, como:
  + Transmitir a chave de API do Amazon Bedrock ao fazer solicitações de API ao serviço Amazon Bedrock.
  + Descrever informações sobre recursos.
  + Criar recursos (barreiras de proteção, modelos e trabalhos).
  + Criar e refinar políticas de raciocínio automatizado (criar, compilar, refinar e testar políticas).
  + Excluir recursos.
  + Invocar modelos em todos os recursos.
+ A declaração `DescribeKey` permite visualizar informações sobre as chaves do KMS em todas as regiões e contas, desde que as políticas de chave permitam que você faça isso.
+ A declaração `APIsWithAllResourceAccess` permite que você:
  + Liste perfis do IAM.
  + Descreva os recursos da Amazon VPC (VPCs, sub-redes e grupos de segurança) em todos os recursos.
+ A declaração `MarketplaceOperationsFromBedrockFor3pModels` permite que você:
  + Assine as AWS Marketplace ofertas.
  + Visualize assinaturas.
  + Cancele a assinatura das AWS Marketplace ofertas.
**nota**  
A chave de condição `aws:CalledViaLast` restringe essas ações somente quando elas são chamadas por meio do serviço Amazon Bedrock.

## AWS política gerenciada: AmazonBedrockMarketplaceAccess
<a name="security-iam-awsmanpol-AmazonBedrockMarketplaceAccess"></a>

Você pode anexar a [AmazonBedrockMarketplaceAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockMarketplaceAccess.html)política às suas identidades do IAM para permitir que ela gerencie e use endpoints do modelo de mercado Amazon Bedrock com SageMaker integração de IA. A política inclui as seguintes declarações:
+ A declaração `BedrockMarketplaceAPIs` permite que você crie, exclua, registre, cancele o registro e atualize endpoints do modelo do Marketplace no Amazon Bedrock em todos os recursos.
+ A `MarketplaceModelEndpointMutatingAPIs` declaração permite que você crie e gerencie endpoints de SageMaker IA, configurações de endpoints e modelos em recursos específicos.
  + Use a chave de condição `aws:CalledViaLast` para garantir que essas ações sejam executadas somente quando chamadas por meio do Bedrock.
  + Use a chave de condição `aws:ResourceTag/sagemaker-sdk:bedrock` para garantir que essas ações sejam executadas somente em recursos marcados como compatíveis com o Amazon Bedrock.
+ A `MarketplaceModelEndpointAddTagsOperations` declaração permite adicionar tags específicas a endpoints de SageMaker IA, configurações de endpoints e modelos em recursos específicos.
  + Use a chave de condição `aws:TagKeys` para restringir quais tags podem ser adicionadas.
  + Use a chave de condição `aws:RequestTag/*` para garantir que os valores das tags correspondam aos padrões especificados.
+ A `MarketplaceModelEndpointDeleteTagsOperations` declaração permite excluir tags específicas de endpoints de SageMaker IA, configurações de endpoints e modelos em recursos específicos.
  + Use a chave de condição `aws:TagKeys` para restringir quais tags podem ser excluídas.
  + Use a chave de condição `aws:ResourceTag/*` para garantir que as tags excluídas correspondam aos padrões especificados.
+ A `MarketplaceModelEndpointNonMutatingAPIs` declaração permite visualizar e descrever endpoints de SageMaker IA, configurações de endpoints e modelos em recursos específicos.
  + Use a chave de condição `aws:CalledViaLast` para garantir que as ações sejam realizadas somente por meio do serviço Amazon Bedrock
+ A `MarketplaceModelEndpointInvokingOperations` declaração permite invocar endpoints de SageMaker IA em recursos especificados.
  + Use a chave de condição `aws:CalledViaLast` para garantir que as ações sejam realizadas somente por meio do serviço Amazon Bedrock
  + Use a chave de condição `aws:ResourceTag/sagemaker-sdk:bedrock` para garantir que as ações sejam realizadas somente em recursos compatíveis com o Bedrock
+ A `DiscoveringMarketplaceModel` declaração permite descrever o conteúdo do hub de SageMaker IA em recursos específicos.
+ A `AllowMarketplaceModelsListing` declaração permite listar o conteúdo do hub de SageMaker IA em recursos específicos.
+ A `PassRoleToSageMaker` declaração permite passar funções do IAM para a SageMaker AI e o Amazon Bedrock em recursos específicos.
  + Use a chave de condição `iam:PassedToService` para garantir que os perfis sejam transmitidos somente aos serviços especificados.
+ A declaração `PassRoleToBedrock` permite que você transmita perfis específicos do IAM ao Amazon Bedrock em recursos específicos.
  + Use a chave de condição `iam:PassedToService` para garantir que os perfis sejam transmitidos somente ao serviço Amazon Bedrock.

## AWS política gerenciada: AmazonBedrockMantleFullAccess
<a name="security-iam-awsmanpol-AmazonBedrockMantleFullAccess"></a>

Você pode anexar a [AmazonBedrockMantleFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockMantleFullAccess.html)política às suas identidades do IAM para conceder acesso total a todas as operações do Amazon Bedrock Mantle.

**Detalhes de permissões**

Esta política inclui as seguintes permissões:
+ `bedrock-mantle`(Amazon Bedrock Mantle) — Permite que os diretores tenham acesso total a todas as ações no serviço Amazon Bedrock Mantle.

## AWS política gerenciada: AmazonBedrockMantleReadOnly
<a name="security-iam-awsmanpol-AmazonBedrockMantleReadOnly"></a>

Você pode anexar a [AmazonBedrockMantleReadOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockMantleReadOnly.html)política às suas identidades do IAM para conceder permissões somente de leitura para visualizar os recursos do Amazon Bedrock Mantle e ligar com o token do portador.

**Detalhes de permissões**

Esta política inclui as seguintes permissões:
+ `bedrock-mantle`(Amazon Bedrock Mantle) — Permite que os diretores obtenham e listem os recursos do projeto Amazon Bedrock Mantle e liguem com o token do portador para autenticação.

## AWS política gerenciada: AmazonBedrockMantleInferenceAccess
<a name="security-iam-awsmanpol-AmazonBedrockMantleInferenceAccess"></a>

Você pode anexar a [AmazonBedrockMantleInferenceAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockMantleInferenceAccess.html)política às suas identidades do IAM para conceder permissões para executar inferência nos modelos do Amazon Bedrock Mantle.

**Detalhes de permissões**

Esta política inclui as seguintes permissões:
+ `bedrock-mantle`(Amazon Bedrock Mantle) — Permite que os diretores obtenham e listem recursos do projeto Amazon Bedrock Mantle, criem solicitações de inferência e liguem com o token do portador para autenticação.

## Atualizações do Amazon Bedrock para políticas AWS gerenciadas
<a name="security-iam-awsmanpol-updates"></a>

Veja detalhes sobre as atualizações das políticas AWS gerenciadas do Amazon Bedrock desde que esse serviço começou a monitorar essas mudanças. Para obter alertas automáticos sobre alterações feitas nesta página, inscreva-se no feed de RSS em [Histórico de documentos do Guia do usuário do Amazon Bedrock](doc-history.md).


| Alteração | Descrição | Data | 
| --- | --- | --- | 
|  [AmazonBedrockMantleFullAccess](#security-iam-awsmanpol-AmazonBedrockMantleFullAccess) – Nova política  |  O Amazon Bedrock adicionou uma nova política para conceder acesso total a todas as operações do Amazon Bedrock Mantle.  | 3 de dezembro de 2025 | 
|  [AmazonBedrockMantleReadOnly](#security-iam-awsmanpol-AmazonBedrockMantleReadOnly) – Nova política  |  O Amazon Bedrock adicionou uma nova política para conceder acesso somente de leitura aos recursos do Amazon Bedrock Mantle.  | 3 de dezembro de 2025 | 
|  [AmazonBedrockMantleInferenceAccess](#security-iam-awsmanpol-AmazonBedrockMantleInferenceAccess) – Nova política  |  O Amazon Bedrock adicionou uma nova política para conceder acesso por inferência aos modelos Amazon Bedrock Mantle.  | 3 de dezembro de 2025 | 
|  [AmazonBedrockFullAccess](#security-iam-awsmanpol-AmazonBedrockFullAccess): política atualizada  |  O Amazon Bedrock atualizou a política AmazonBedrockFullAccess gerenciada para permitir o acesso a todos os modelos básicos sem servidor por padrão.  | 14 de julho de 2025 | 
|  [AmazonBedrockMarketplaceAccess](#security-iam-awsmanpol-AmazonBedrockLimitedAccess) – Nova política  |  O Amazon Bedrock adicionou uma nova política para conceder aos clientes permissões para acessar os modelos básicos do Amazon Bedrock Marketplace por meio de um endpoint de SageMaker IA.  | 13 de junho de 2025 | 
|  [AmazonBedrockLimitedAccess](#security-iam-awsmanpol-AmazonBedrockLimitedAccess) – Nova política  |  O Amazon Bedrock adicionou uma nova política para conceder aos clientes permissões básicas para acessar ações essenciais no Amazon Bedrock.  | 13 de junho de 2025 | 
|  [AmazonBedrockFullAccess](#security-iam-awsmanpol-AmazonBedrockFullAccess): política atualizada  |  O Amazon Bedrock atualizou a política AmazonBedrockFullAccess gerenciada para conceder aos clientes as permissões necessárias para criar, ler, atualizar e excluir recursos do Amazon Bedrock Marketplace. Isso inclui permissões para gerenciar os recursos subjacentes de SageMaker IA da Amazon, pois eles servem como base para a funcionalidade do Amazon Bedrock Marketplace.  | 4 de dezembro de 2024 | 
|  [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly): política atualizada  |  O Amazon Bedrock atualizou a política AmazonBedrockReadOnly gerenciada para conceder aos clientes as permissões necessárias para ler os recursos do Amazon Bedrock Marketplace. Isso inclui permissões para gerenciar os recursos subjacentes de SageMaker IA da Amazon, pois eles servem como base para a funcionalidade do Amazon Bedrock Marketplace.  | 4 de dezembro de 2024 | 
|  [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly): política atualizada  |  O Amazon Bedrock atualizou a AmazonBedrockReadOnly política para incluir permissões somente de leitura para importação de modelos personalizados.  | 18 de outubro de 2024 | 
|  [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly): política atualizada  |  O Amazon Bedrock adicionou permissões somente leitura ao perfil de inferência.  | 27 de agosto de 2024 | 
|  [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly): política atualizada  |  O Amazon Bedrock atualizou a AmazonBedrockReadOnly política para incluir permissões somente de leitura para o Amazon Bedrock Guardrails, a avaliação do Amazon Bedrock Model e a inferência do Amazon Bedrock Batch.  | 21 de agosto de 2024 | 
|  [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly): política atualizada  |  O Amazon Bedrock adicionou permissões somente leitura de inferência em lote (trabalho de invocação de modelo).  | 21 de agosto de 2024 | 
|   [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly): política atualizada   |  O Amazon Bedrock atualizou a AmazonBedrockReadOnly política para incluir permissões somente de leitura para o Amazon Bedrock Custom Model Import.  | 3 de setembro de 2024 | 
|  [AmazonBedrockFullAccess](#security-iam-awsmanpol-AmazonBedrockFullAccess) – Nova política  |  O Amazon Bedrock adicionou uma nova política para conceder aos usuários permissões para criar, ler, atualizar e excluir recursos.  | 12 de dezembro de 2023 | 
|  [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly) – Nova política  |  O Amazon Bedrock adicionou uma nova política para conceder aos usuários permissões somente leitura para todas as ações.  | 12 de dezembro de 2023 | 
|  O Amazon Bedrock passou a controlar alterações  |  O Amazon Bedrock começou a monitorar as mudanças em suas políticas AWS gerenciadas.  | 12 de dezembro de 2023 | 

# Perfis de serviço
<a name="security-iam-sr"></a>

O Amazon Bedrock usa os [perfis de serviço do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) em alguns recursos para permitir que o Amazon Bedrock execute tarefas em seu nome.

O console cria automaticamente perfis de serviço para os recursos compatíveis.

Você também pode criar um perfil de serviço personalizado e personalizar as permissões anexadas ao seu caso de uso específico. Se usar o console, poderá selecionar esse perfil em vez de deixar o Amazon Bedrock criar um para você.

Para configurar o perfil de serviço personalizado, execute as etapas gerais a seguir.

1. Crie a função seguindo as etapas em [Criação de uma função para delegar permissões a um AWS serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).

1. Anexe uma **política de confiança**.

1. Anexe as permissões relevantes **baseadas em identidade**.

**Importante**  
Ao definir a permissão `iam:PassRole`, garanta que um usuário não consiga transmitir um perfil em que o perfil tenha mais permissões do que você deseja que ele tenha. Por exemplo, Alice pode não ter permissão para usar `bedrock:InvokeModel` em um modelo personalizado. Se Alice puder transmitir um perfil ao Amazon Bedrock para criar uma avaliação desse modelo personalizado, o serviço poderá invocar esse modelo em nome de Alice enquanto executa o trabalho.

Consulte os links a seguir para obter mais informações sobre os conceitos relevantes do IAM para definir permissões de perfil de serviço.
+ [AWS função de serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role)
+ [Políticas baseadas em identidade e em recurso](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html)
+ [Usar políticas baseadas em recursos do Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html)
+ [AWS chaves de contexto de condição global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)
+ [Chaves de condição do Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)

Selecione um tópico para saber mais sobre os perfis de serviço de um recurso específico.

**Topics**
+ [Criar um perfil de serviço personalizado de inferência em lote](batch-iam-sr.md)
+ [Criar um perfil de serviço para a personalização de modelo](model-customization-iam-role.md)
+ [Criar um perfil de serviço para a importação de modelos pré-treinados](model-import-iam-role.md)
+ [Criar um perfil de serviço para o Amazon Bedrock Agents](agents-permissions.md)
+ [Criar um perfil de serviço para o Amazon Bedrock Knowledge Bases](kb-permissions.md)
+ [Criar um perfil de serviço para fluxos do Amazon Bedrock no Amazon Bedrock](flows-permissions.md)
+ [Requisitos de perfil de serviço para trabalhos de avaliação de modelo](model-evaluation-security-service-roles.md)

# Criar um perfil de serviço personalizado de inferência em lote
<a name="batch-iam-sr"></a>

Para usar uma função de serviço personalizada para inferência em lote em vez da que o Amazon Bedrock cria automaticamente para você noConsole de gerenciamento da AWS, crie uma função do IAM e anexe as seguintes permissões seguindo as etapas em [Criar uma função para delegar permissões a](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) um serviço. AWS

**Topics**
+ [Relação de confiança](#batch-iam-sr-trust)
+ [Permissões baseadas em identidade para o perfil de serviço de inferência em lote.](#batch-iam-sr-identity)

## Relação de confiança
<a name="batch-iam-sr-trust"></a>

A política de confiança a seguir permite que o Amazon Bedrock assuma esse perfil e envie e gerencie trabalhos de inferência em lote. Substitua o *values* conforme necessário. A política contém chaves de condição opcionais (consulte [Chaves de condição do Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) e [Chaves de contexto de condição globais da AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)) no campo `Condition` que devem ser usadas como uma prática recomendada de segurança.

**nota**  
Como prática recomendada para fins de segurança, substitua-os *\$1* por um trabalho de inferência em lote específico IDs depois de criá-los.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:model-invocation-job/*"
                }
            }
        }
    ]
}
```

------

## Permissões baseadas em identidade para o perfil de serviço de inferência em lote.
<a name="batch-iam-sr-identity"></a>

Os tópicos a seguir descrevem e apresentam exemplos de políticas de permissões que talvez você precise anexar ao seu perfil de serviço personalizado de inferência em lote, dependendo do seu caso de uso.

**Topics**
+ [(Obrigatório) Permissões para acessar os dados de entrada e saída no Amazon S3](#batch-iam-sr-s3)
+ [(Opcional) Permissões para executar inferência em lote com perfis de inferência](#batch-iam-sr-ip)

### (Obrigatório) Permissões para acessar os dados de entrada e saída no Amazon S3
<a name="batch-iam-sr-s3"></a>

Para permitir que um perfil de serviço acesse o bucket do Amazon S3 que contém os dados de entrada e o bucket no qual gravar os dados de saída, anexe a política a seguir ao perfil de serviço. *values*Substitua conforme necessário.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
         "Sid": "S3Access",
         "Effect": "Allow",
         "Action": [
            "s3:GetObject",
            "s3:PutObject",
            "s3:ListBucket"
         ],
         "Resource": [
            "arn:aws:s3:::${InputBucket}",
            "arn:aws:s3:::${InputBucket}/*",
            "arn:aws:s3:::${OutputBucket}",
            "arn:aws:s3:::${OutputBucket}/*"
         ],
         "Condition": {
            "StringEquals": {
                "aws:ResourceAccount": [
                    "123456789012"
                ]
            }
         }
        }
    ]
}
```

------

### (Opcional) Permissões para executar inferência em lote com perfis de inferência
<a name="batch-iam-sr-ip"></a>

Para executar a inferência em lote com um [perfil de inferência](inference-profiles.md), uma função de serviço deve ter permissões para invocar o perfil de inferência em umRegião da AWS, além do modelo em cada região do perfil de inferência.

Para obter permissões a serem invocadas com um perfil de inferência entre regiões (definido pelo sistema), use a seguinte política como modelo para a política de permissões a ser anexada ao perfil de serviço:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CrossRegionInference",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:inference-profile/${InferenceProfileId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}"
            ]
        }
    ]
}
```

------

Para obter permissões para invocar um perfil de inferência de aplicação, use a seguinte política como modelo para a política de permissões a ser anexada ao perfil de serviço:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ApplicationInferenceProfile",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:application-inference-profile/${InferenceProfileId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}"
            ]
        }
    ]
}
```

------

# Criar um perfil de serviço para a personalização de modelo
<a name="model-customization-iam-role"></a>

Para usar uma função personalizada para personalização do modelo em vez da que o Amazon Bedrock cria automaticamente, crie uma função do IAM e anexe as seguintes permissões seguindo as etapas em [Criar uma função para delegar permissões a](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) um serviço. AWS
+ Relação de confiança
+ Permissões para acessar os dados de treinamento e de validação no S3 e gravar os dados de saída no S3
+ (Opcional) Se você criptografar qualquer um dos recursos a seguir com uma chave do KMS, permissões para descriptografar a chave (consulte [Criptografia de modelos personalizados](encryption-custom-job.md))
  + Um trabalho de personalização de modelo ou o modelo personalizado resultante.
  + Dados de treinamento, validação ou saída do trabalho de personalização do modelo

**Topics**
+ [Relação de confiança](#model-customization-iam-role-trust)
+ [Permissões para acessar arquivos de treinamento e de validação e gravar os arquivos de saída no S3](#model-customization-iam-role-s3)
+ [(Opcional) Permissões para criar um trabalho de destilação com perfis de inferência entre regiões](#customization-iam-sr-ip)

## Relação de confiança
<a name="model-customization-iam-role-trust"></a>

A política a seguir permite que o Amazon Bedrock assuma esse perfil e realize o trabalho de personalização do modelo. Veja um exemplo de política que é possível usar.

Opcionalmente, é possível restringir o escopo da permissão da [prevenção do problema “representante confuso” entre serviços](cross-service-confused-deputy-prevention.md) usando uma ou mais chaves de contexto de condição global com o campo `Condition`. Para obter mais informações, consulte [Chaves de contexto de condição global da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html).
+ Defina o valor `aws:SourceAccount` para o ID da conta.
+ (Opcional) Use a condição `ArnEquals` ou `ArnLike` para restringir o escopo a trabalhos específicos de personalização de modelo no ID de sua conta.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:bedrock:us-east-1:111122223333:model-customization-job/*"
                }
            }
        }
    ]
}
```

------

## Permissões para acessar arquivos de treinamento e de validação e gravar os arquivos de saída no S3
<a name="model-customization-iam-role-s3"></a>

Anexe a política a seguir para permitir que o perfil acesse os dados de treinamento e de validação e o bucket no qual os dados de saída são gravados. Substitua os valores na lista `Resource` pelos nomes reais dos buckets.

Para restringir o acesso a uma pasta específica em um bucket, adicione uma chave de condição `s3:prefix` ao caminho da pasta. É possível seguir o exemplo de **Política de usuário** no [Exemplo 2: obter uma lista de objetos em um bucket com um prefixo específico](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#condition-key-bucket-ops-2) 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::training-bucket",
                "arn:aws:s3:::training-bucket/*",
                "arn:aws:s3:::validation-bucket",
                "arn:aws:s3:::validation-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::output-bucket",
                "arn:aws:s3:::output-bucket/*"
            ]
        }
    ]
}
```

------

## (Opcional) Permissões para criar um trabalho de destilação com perfis de inferência entre regiões
<a name="customization-iam-sr-ip"></a>

Para usar um perfil de inferência entre regiões para um modelo de professor em um trabalho de destilação, a função de serviço deve ter permissões para invocar o perfil de inferência em umRegião da AWS, além do modelo em cada região no perfil de inferência.

Para obter permissões a serem invocadas com um perfil de inferência entre regiões (definido pelo sistema), use a seguinte política como modelo para a política de permissões a ser anexada ao perfil de serviço:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CrossRegionInference",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:inference-profile/${InferenceProfileId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}"
            ]
        }
    ]
}
```

------

# Criar um perfil de serviço para a importação de modelos pré-treinados
<a name="model-import-iam-role"></a>

Para usar um perfil personalizado para importação de modelo, crie um perfil de serviço do IAM e anexe as permissões a seguir. Para obter informações sobre como criar uma função de serviço no IAM, consulte [Criação de uma função para delegar permissões a um AWS serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).

Essas permissões se aplicam aos dois métodos de importação de modelos para o Amazon Bedrock:
+ **Trabalhos de importação de modelos personalizados**: para importar modelos de base de código aberto personalizados (como os modelos Llama ou Mistral AI). Para obter mais informações, consulte [Usar a importação de modelo personalizado para importar um modelo de código aberto personalizado para o Amazon Bedrock](model-customization-import-model.md).
+ **Crie um modelo personalizado** — Para importar Amazon Nova modelos que você ajustou com precisão na IA. SageMaker Para obter mais informações, consulte [Importe um modelo SageMaker Amazon Nova treinado por IA](import-with-create-custom-model.md).

**Topics**
+ [Relação de confiança](#model-import-iam-role-trust)
+ [Permissões para acessar arquivos de modelos no Amazon S3](#model-import-iam-role-s3)

## Relação de confiança
<a name="model-import-iam-role-trust"></a>

A política a seguir permite que o Amazon Bedrock assuma esse perfil e execute operações de importação de modelo. Veja um exemplo de política que é possível usar.

Opcionalmente, é possível restringir o escopo da permissão da [prevenção do problema “representante confuso” entre serviços](cross-service-confused-deputy-prevention.md) usando uma ou mais chaves de contexto de condição global com o campo `Condition`. Para obter mais informações, consulte [Chaves de contexto de condição global da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html).
+ Defina o valor `aws:SourceAccount` para o ID da conta.
+ (Opcional) Use a condição `ArnEquals` ou `ArnLike` para restringir o escopo a operações específicas em sua conta. O exemplo a seguir restringe o acesso a trabalhos de importação de modelos personalizados.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:bedrock:us-east-1:111122223333:model-import-job/*"
                }
            }
        }
    ]
}
```

------

## Permissões para acessar arquivos de modelos no Amazon S3
<a name="model-import-iam-role-s3"></a>

Anexe a política a seguir para permitir que o perfil acesse arquivos de modelo no bucket do Amazon S3. Substitua os valores na lista `Resource` pelos nomes reais dos buckets.

Para trabalhos de importação de modelos personalizados, esse é o bucket do Amazon S3 que contém os arquivos do modelo de código aberto personalizado. Para criar modelos personalizados a partir de Amazon Nova modelos SageMaker treinados por IA, esse é o bucket Amazon S3 gerenciado pela Amazon, SageMaker onde a IA armazena os artefatos do modelo treinado. SageMaker A IA cria esse bucket quando você executa seu primeiro trabalho de treinamento de SageMaker IA. 

Para restringir o acesso a uma pasta específica em um bucket, adicione uma chave de condição `s3:prefix` ao caminho da pasta. É possível seguir o exemplo de **Política de usuário** no [Exemplo 2: obter uma lista de objetos em um bucket com um prefixo específico](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#condition-key-bucket-ops-2) 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::bucket",
                "arn:aws:s3:::bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

------

# Criar um perfil de serviço para o Amazon Bedrock Agents
<a name="agents-permissions"></a>

Para usar uma função de serviço personalizada para agentes em vez da que o Amazon Bedrock cria automaticamente, crie uma função do IAM e anexe as seguintes permissões seguindo as etapas em [Criar uma função para delegar permissões a um AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) serviço.
+ Política de confiança
+ Uma política que contém as seguintes permissões baseadas em identidade:
  + Acesso aos modelos de base do Amazon Bedrock.
  + Acesso aos objetos do Amazon S3 que contêm os esquemas OpenAPI para os grupos de ação em agentes.
  + Permissões para o Amazon Bedrock consultar bases de conhecimento que você deseja anexar aos agentes.
  + Se alguma das seguintes situações se referir ao caso de uso, adicione a declaração à política ou adicione uma política com a instrução ao perfil de serviço:
    + (Opcional) Se você habilitar a colaboração multiagente, permissões para obter os aliases e invocar colaboradores do agente.
    + (Opcional) Se você associar um throughput provisionado ao alias do agente, permissões para executar a invocação do modelo usando esse throughput provisionado.
    + (Opcional) Se você associar uma barreira de proteção ao agente, permissões para aplicar essa barreira de proteção. Se a barreira de proteção for criptografada com uma chave do KMS, o perfil de serviço também precisará de [permissões para descriptografar a chave](guardrails-permissions-kms.md)
    + (Opcional) Se você criptografar o agente com uma chave do KMS, [permissões para descriptografar a chave](encryption-agents.md).

Quer você use um perfil personalizado ou não, também precisará anexar a **política baseada em recurso** às funções do Lambda dos grupos de ação nos agentes a fim de fornecer permissões para que o perfil de serviço acesse as funções. Para obter mais informações, consulte [Política baseada em recurso para permitir que o Amazon Bedrock invoque uma função do Lambda do grupo de ação](#agents-permissions-lambda).

**Topics**
+ [Relação de confiança](#agents-permissions-trust)
+ [Permissões baseadas em identidade para o perfil de serviço de agentes](#agents-permissions-identity)
+ [(Opcional) Política baseada em identidade para permitir que o Amazon Bedrock use o throughput provisionado com o alias do agente](#agents-permissions-pt)
+ [(Opcional) Política baseada em identidade para permitir que o Amazon Bedrock associe e invoque agentes colaboradores](#agents-permissions-mac)
+ [(Opcional) Política baseada em identidade para permitir que o Amazon Bedrock use barreiras de proteção com o agente](#agents-permissions-gr)
+ [(Opcional) Política baseada em identidade para permitir que o Amazon Bedrock acesse arquivos do S3 para uso com a interpretação de código](#agents-permissions-files-ci)
+ [Política baseada em recurso para permitir que o Amazon Bedrock invoque uma função do Lambda do grupo de ação](#agents-permissions-lambda)

## Relação de confiança
<a name="agents-permissions-trust"></a>

A política a seguir permite que o Amazon Bedrock assuma esse perfil e crie e gerencie agentes. Substitua o *\$1\$1values\$1* conforme necessário. A política contém chaves de condição opcionais (consulte [Chaves de condição do Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) e [Chaves de contexto de condição globais da AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)) no campo `Condition` que devem ser usadas como uma prática recomendada de segurança.

**nota**  
Como prática recomendada para fins de segurança, *\$1* substitua o por um agente específico IDs depois de criá-lo.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "AWS:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:agent/*"
                }
            }
        }
    ]
}
```

------

## Permissões baseadas em identidade para o perfil de serviço de agentes
<a name="agents-permissions-identity"></a>

Anexe a política a seguir para fornecer permissões para a função de serviço, substituindo-a *\$1\$1values\$1* conforme necessário. A política contém as declarações a seguir. Omita uma declaração quando não for aplicável ao caso de uso. A política contém chaves de condição opcionais (consulte [Chaves de condição do Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) e [Chaves de contexto de condição globais da AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)) no campo `Condition` que devem ser usadas como uma prática recomendada de segurança.

**nota**  
Se você criptografar o agente com uma chave do KMS gerenciada pelo cliente, consulte [Criptografia de recursos de agentes para agentes criados antes de 22 de janeiro de 2025](encryption-agents.md) para obter mais permissões que precisam ser adicionadas.
+ Permissões para usar os modelos de base do Amazon Bedrock para executar inferência de modelos nos prompts usados na orquestração do agente.
+ Permissões para acessar os esquemas da API do grupo de ação do agente no Amazon S3. Omita essa declaração se o agente não tiver grupos de ação.
+ Permissões para acessar as bases de conhecimento associadas ao agente. Omita essa declaração se o agente não tiver bases de conhecimento associadas.
+ Permissões para acessar uma base de conhecimento de terceiros (Pinecone ou Redis Enterprise Cloud) associada ao agente. Omita essa declaração se sua base de conhecimento for própria (Amazon OpenSearch Serverless ou Amazon Aurora) ou se seu agente não tiver bases de conhecimento associadas.
+ Permissões para acessar um prompt do Gerenciamento de Prompts. Omita essa declaração se você não planeja testar um prompt do Gerenciamento de Prompts com seu agente no console do Amazon Bedrock.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AgentModelInvocationPermissions",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2",
                "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2:1",
                "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-instant-v1"
            ]
        },
        {
            "Sid": "AgentActionGroupS3",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/SchemaJson"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        },
        {
            "Sid": "AgentKnowledgeBaseQuery",
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve",
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/knowledge-base-id"
            ]
        },
        {
            "Sid": "Agent3PKnowledgeBase",
            "Effect": "Allow",
            "Action": [
                "bedrock:AssociateThirdPartyKnowledgeBase"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/knowledge-base-id",
            "Condition": {
                "StringEquals": {
                    "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:kms:us-east-1:123456789012:key/KeyId"
                }
            }
        },
        {
            "Sid": "AgentPromptManagementConsole",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetPrompt"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:prompt/prompt-id"
            ]
        }
    ]
}
```

------

## (Opcional) Política baseada em identidade para permitir que o Amazon Bedrock use o throughput provisionado com o alias do agente
<a name="agents-permissions-pt"></a>

Se você associar um [throughput provisionado](prov-throughput.md) a um alias do agente, anexe a política baseada em identidade a seguir ao perfil de serviço ou adicione a declaração à política em [Permissões baseadas em identidade para o perfil de serviço de agentes](#agents-permissions-identity).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {        
        "Sid": "UseProvisionedThroughput",
        "Effect": "Allow",
        "Action": [
            "bedrock:InvokeModel", 
            "bedrock:GetProvisionedModelThroughput"
        ],
        "Resource": [
            "arn:aws:bedrock:us-east-1:123456789012:provisioned-model/${provisioned-model-id}"
        ]
      }
    ]
}
```

------

## (Opcional) Política baseada em identidade para permitir que o Amazon Bedrock associe e invoque agentes colaboradores
<a name="agents-permissions-mac"></a>

Se você habilitar a [colaboração multiagente](agents-multi-agent-collaboration.md), anexe a política baseada em identidade a seguir ao perfil de serviço ou adicione a declaração à política em [Permissões baseadas em identidade para o perfil de serviço de agentes](#agents-permissions-identity).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AmazonBedrockAgentMultiAgentsPolicyProd",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetAgentAlias",
                "bedrock:InvokeAgent"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:agent-alias/${agent-id}/${agent-alias-id}"
            ]
        }
    ]
}
```

------

## (Opcional) Política baseada em identidade para permitir que o Amazon Bedrock use barreiras de proteção com o agente
<a name="agents-permissions-gr"></a>

Se você associar uma [barreira de proteção](guardrails.md) ao agente, anexe a política baseada em identidade a seguir ao perfil de serviço ou adicione a declaração à política em [Permissões baseadas em identidade para o perfil de serviço de agentes](#agents-permissions-identity).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ApplyGuardrail",
            "Effect": "Allow",
            "Action": "bedrock:ApplyGuardrail",
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:guardrail/${guardrail-id}"
            ]
        }
    ]
}
```

------

## (Opcional) Política baseada em identidade para permitir que o Amazon Bedrock acesse arquivos do S3 para uso com a interpretação de código
<a name="agents-permissions-files-ci"></a>

Se você habilitar [Habilitar a interpretação de código no Amazon Bedrock](agents-enable-code-interpretation.md), anexe a política baseada em identidade a seguir ao perfil de serviço ou adicione a declaração à política em [Permissões baseadas em identidade do perfil de serviço de agentes](https://docs.aws.amazon.com//bedrock/latest/userguide/agents-permissions.html#agents-permissions-identity).

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
      {       
        "Sid": "AmazonBedrockAgentFileAccess", 
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:GetObjectVersionAttributes",
            "s3:GetObjectAttributes"
        ],
        "Resource": [
            "arn:aws:s3:::[[customerProvidedS3BucketWithKey]]"
        ]
      }
    ]
}
```

------

## Política baseada em recurso para permitir que o Amazon Bedrock invoque uma função do Lambda do grupo de ação
<a name="agents-permissions-lambda"></a>

Siga as etapas em [Usando políticas baseadas em recursos para o Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html) 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 os grupos de ação do seu agente, substituindo-a conforme necessário. *\$1\$1values\$1* A política contém chaves de condição opcionais (consulte [Chaves de condição do Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) e [Chaves de contexto de condição globais da AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)) no campo `Condition` que devem ser usadas como uma prática recomendada de segurança.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AccessLambdaFunction",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "lambda:InvokeFunction",
            "Resource": "arn:aws:lambda:us-east-1:123456789012:function:function-name",
            "Condition": {
                "StringEquals": {
                    "AWS:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "AWS:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:agent/${agent-id}"
                }
            }
        }
    ]
}
```

------

# Criar um perfil de serviço para o Amazon Bedrock Knowledge Bases
<a name="kb-permissions"></a>

Para usar uma função personalizada para uma base de conhecimento em vez da que o Amazon Bedrock cria automaticamente, crie uma função do IAM e anexe as seguintes permissões seguindo as etapas em [Criar uma função para delegar permissões a um AWS serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html). Inclua somente as permissões necessárias para sua própria segurança.

**nota**  
Não é possível compartilhar uma política entre vários perfis quando o perfil de serviço é usado.
+ Relação de confiança
+ Acesso aos modelos de base do Amazon Bedrock
+ Acesso da fonte de dados ao local em que os dados são armazenados
+ (Se você criar um banco de dados vetoriais no Amazon OpenSearch Service) Acesso à sua coleção OpenSearch de serviços
+ (Se você criar um banco de dados de vetores do Amazon Aurora) Acesso ao cluster do Aurora
+ (Se você criar um banco de dados vetoriais em Pinecone ouRedis Enterprise Cloud) Permissões AWS Secrets Manager para autenticar sua conta Pinecone ou Redis Enterprise Cloud
+ (Opcional) Se você criptografar qualquer um dos recursos a seguir com uma chave do KMS, permissões para descriptografar a chave (consulte [Criptografia de recursos da base de conhecimento](encryption-kb.md)):
  + Sua base de conhecimento
  + Fontes de dados para sua base de conhecimento
  + Seu banco de dados vetoriais no Amazon OpenSearch Service
  + O segredo do seu banco de dados vetoriais de terceiros em AWS Secrets Manager
  + Um trabalho de ingestão de dados

**Topics**
+ [Relação de confiança](#kb-permissions-trust)
+ [Permissões para acessar os modelos do Amazon Bedrock](#kb-permissions-access-models)
+ [Permissões para acessar as fontes de dados](#kb-permissions-access-ds)
+ [Permissões para descriptografar sua AWS KMS chave para fontes de dados criptografadas no Amazon S3](#kb-permissions-kms-datasource)
+ [Permissões para conversar com seu documento](#kb-permissions-chatdoc)
+ [Permissões para conteúdo multimodal](#kb-permissions-multimodal)
+ [Permissões para acessar seu Índice GenAI do Amazon Kendra](#kb-permissions-kendra)
+ [Permissões para acessar seu banco de dados vetoriais no Amazon OpenSearch Serverless](#kb-permissions-oss)
+ [Permissões para acessar seu banco de dados vetoriais em clusters OpenSearch gerenciados](#kb-permissions-osm)
+ [Permissões para acessar o cluster de banco de dados do Amazon Aurora](#kb-permissions-rds)
+ [Permissões para acessar o banco de dados de vetores no Amazon Neptune Analytics](#kb-permissions-neptune)
+ [Permissões para acessar seu armazenamento de vetores no Amazon S3 Vectors](#kb-permissions-s3vectors)
+ [Permissões para acessar um banco de dados vetorial configurado com um AWS Secrets Manager segredo](#kb-permissions-secret)
+ [Permissões AWS para gerenciar uma AWS KMS chave para armazenamento transitório de dados durante a ingestão de dados](#kb-permissions-kms-ingestion)
+ [Permissões AWS para gerenciar fontes de dados da AWS conta de outro usuário.](#kb-permissions-otherds)

## Relação de confiança
<a name="kb-permissions-trust"></a>

A política a seguir permite que o Amazon Bedrock assuma esse perfil e crie e gerencie bases de conhecimento. Veja a seguir um exemplo de política que você pode usar. É possível restringir o escopo da permissão usando uma ou mais chaves de contexto de condição global. Para obter mais informações, consulte [Chaves de contexto de condição global da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html). Defina o valor `aws:SourceAccount` para o ID da conta. Use a condição `ArnEquals` ou `ArnLike` para restringir o escopo a bases de conhecimento específicas.

**nota**  
Como prática recomendada para fins de segurança, substitua-os *\$1* por uma base de conhecimento específica IDs depois de criá-los.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "AWS:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/*"
                }
            }
        }
    ]
}
```

------

## Permissões para acessar os modelos do Amazon Bedrock
<a name="kb-permissions-access-models"></a>

Anexe a política a seguir a fim de fornecer permissões ao perfil para usar os modelos do Amazon Bedrock para incorporar os dados de origem.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:ListFoundationModels",
                "bedrock:ListCustomModels"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v1",
                "arn:aws:bedrock:us-east-1::foundation-model/cohere.embed-english-v3",
                "arn:aws:bedrock:us-east-1::foundation-model/cohere.embed-multilingual-v3"
            ]
        }
    ]
}
```

------

## Permissões para acessar as fontes de dados
<a name="kb-permissions-access-ds"></a>

Selecione uma das fontes de dados a seguir para anexar as permissões necessárias ao perfil.

**Topics**
+ [Permissões para acessar as fontes de dados no Amazon S3](#kb-permissions-access-s3)
+ [Permissões para acessar as fontes de dados do Confluence](#kb-permissions-access-confluence)
+ [Permissões para acessar sua fonte de SharePoint dados da Microsoft](#kb-permissions-access-sharepoint)
+ [Permissões para acessar as fontes de dados do Salesforce](#kb-permissions-access-salesforce)

### Permissões para acessar as fontes de dados no Amazon S3
<a name="kb-permissions-access-s3"></a>

Se sua fonte de dados for o Amazon S3, anexe a política a seguir para permitir que o perfil acesse o bucket do S3 ao qual você se conectará como fonte de dados.

Se você criptografou a fonte de dados com uma AWS KMS chave, anexe permissões para descriptografar a chave à função seguindo as etapas em. [Permissões para descriptografar sua AWS KMS chave para suas fontes de dados no Amazon S3](encryption-kb.md#encryption-kb-ds)

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ListBucketStatement",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        },
        {
            "Sid": "S3GetObjectStatement",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

------

### Permissões para acessar as fontes de dados do Confluence
<a name="kb-permissions-access-confluence"></a>

**nota**  
O conector de fonte de dados do Confluence está em versão de prévia e está sujeito a alterações.

Anexe a política a seguir para fornecer permissões para que o perfil acesse o Confluence.

**nota**  
`secretsmanager:PutSecretValue`só é necessário se você usar a autenticação OAuth 2.0 com um token de atualização.  
O token de **acesso** do Confluence OAuth2 4.0 tem um tempo de expiração padrão de 60 minutos. Se esse token expirar enquanto a fonte de dados estiver em sincronização (trabalho de sincronização), o Amazon Bedrock usará o token de **atualização** fornecido para regenerar esse token. Essa regeneração atualiza os tokens de acesso e de atualização. Para manter os tokens atualizados da tarefa de sincronização atual para a próxima tarefa de sincronização, o Amazon Bedrock exige write/put permissões para suas credenciais secretas.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue",
                "secretsmanager:PutSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/KeyId"
            ],
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "secretsmanager.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

### Permissões para acessar sua fonte de SharePoint dados da Microsoft
<a name="kb-permissions-access-sharepoint"></a>

**nota**  
SharePoint o conector da fonte de dados está na versão prévia e está sujeito a alterações.

Anexe a política a seguir para fornecer permissões para o acesso da função SharePoint.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/KeyId"
            ],
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "secretsmanager.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

### Permissões para acessar as fontes de dados do Salesforce
<a name="kb-permissions-access-salesforce"></a>

**nota**  
O conector de fonte de dados do Salesforce está em versão prévia e está sujeito a alterações.

Anexe a política a seguir para fornecer permissões para que o perfil acesse o Salesforce.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/KeyId"
            ],
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "secretsmanager.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## Permissões para descriptografar sua AWS KMS chave para fontes de dados criptografadas no Amazon S3
<a name="kb-permissions-kms-datasource"></a>

Se você criptografou suas fontes de dados no Amazon S3 com uma AWS KMS chave, anexe a seguinte política à sua função de serviço do Amazon Bedrock Knowledge Bases para permitir que o Amazon Bedrock decifre sua chave. Substitua *\$1\$1Region\$1* e *\$1\$1AccountId\$1* pela região e o ID da conta aos quais a chave pertence. *\$1\$1KeyId\$1*Substitua pelo ID da sua AWS KMS chave.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "kms:Decrypt"
        ],
        "Resource": [
            "arn:aws:kms:${Region}:${AccountId}:key/${KeyId}"
        ],
        "Condition": {
            "StringEquals": {
                "kms:ViaService": [
                    "s3.${Region}.amazonaws.com"
                ]
            }
        }
    }]
}
```

## Permissões para conversar com seu documento
<a name="kb-permissions-chatdoc"></a>

Anexe a política a seguir a fim de fornecer permissões para que o perfil use os modelos do Amazon Bedrock para executar conversar com seu documento:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
			"Effect": "Allow",
			"Action": [
				"bedrock:RetrieveAndGenerate"
			],
			"Resource": "*"
		}
    ]
}
```

------

Se você quiser conceder acesso a um usuário apenas para conversar com seu documento (e não `RetrieveAndGenerate` em todas as bases de conhecimento), use a seguinte política:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
			"Effect": "Allow",
			"Action": [
				"bedrock:RetrieveAndGenerate"
			],
			"Resource": "*"
		},
        {
			"Effect": "Deny",
			"Action": [
				"bedrock:Retrieve"
			],
			"Resource": "*"
		}
    ]
}
```

------

Se você quiser conversar com seu documento e usá-lo `RetrieveAndGenerate` em uma Base de Conhecimento específica, forneça uma *\$1\$1KnowledgeBaseArn\$1* e use a seguinte política:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/$KnowledgeBaseId"
        }
    ]
}
```

------

## Permissões para conteúdo multimodal
<a name="kb-permissions-multimodal"></a>

Ao trabalhar com conteúdo multimodal (imagens, áudio, vídeo), permissões adicionais são necessárias dependendo da sua abordagem de processamento.

### Permissões do Nova Multimodal Embeddings
<a name="kb-permissions-multimodal-mme"></a>

Ao usar o Nova Multimodal Embeddings, anexe a seguinte política para fornecer permissões para invocação assíncrona do modelo:

```
{
    "Sid": "BedrockInvokeModelStatement",
    "Effect": "Allow",
    "Action": ["bedrock:InvokeModel"],
    "Resource": [
        "arn:aws:bedrock:us-east-1::foundation-model/amazon.nova-*-multimodal-embeddings-*",
        "arn:aws:bedrock:us-east-1::async-invoke/*"
    ],
    "Condition": {
        "StringEquals": {
            "aws:ResourceAccount": ""
        }
    }
},
{
    "Sid": "BedrockGetAsyncInvokeStatement",
    "Effect": "Allow",
    "Action": ["bedrock:GetAsyncInvoke"],
    "Resource": ["arn:aws:bedrock:us-east-1::async-invoke/*"],
    "Condition": {
        "StringEquals": {
            "aws:ResourceAccount": ""
        }
    }
}
```

### Permissões do Bedrock Data Automation (BDA)
<a name="kb-permissions-multimodal-bda"></a>

Ao usar o BDA para processar conteúdo multimodal, anexe a seguinte política:

```
{
    "Sid": "BDAInvokeStatement",
    "Effect": "Allow",
    "Action": ["bedrock:InvokeDataAutomationAsync"],
    "Resource": [
        "arn:aws:bedrock:us-east-1:aws:data-automation-project/public-rag-default",
        "arn:aws:bedrock:us-east-1::data-automation-profile/*"
    ]
},
{
    "Sid": "BDAGetStatement",
    "Effect": "Allow",
    "Action": ["bedrock:GetDataAutomationStatus"],
    "Resource": "arn:aws:bedrock:us-east-1::data-automation-invocation/*"
}
```

Se você usa AWS KMS chaves gerenciadas pelo cliente com o BDA, anexe também a seguinte política. Substitua *account-id**region*,, e *key-id* por seus valores específicos:

```
{
    "Sid": "KmsPermissionStatementForBDA",
    "Effect": "Allow",
    "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt",
        "kms:DescribeKey",
        "kms:CreateGrant"
    ],
    "Resource": ["arn:aws:kms:region:account-id:key/key-id"],
    "Condition": {
        "StringEquals": {
            "aws:ResourceAccount": "account-id",
            "kms:ViaService": "bedrock.region.amazonaws.com"
        }
    }
}
```

## Permissões para acessar seu Índice GenAI do Amazon Kendra
<a name="kb-permissions-kendra"></a>

Se tiver criado Índice GenAI do Amazon Kendra para a base de conhecimento, anexe a política a seguir ao perfil de serviço das Bases de Conhecimento do Amazon Bedrock a fim de permitir acesso ao índice. Na política, substitua *\$1\$1Partition\$1**\$1\$1Region\$1*,*\$1\$1AccountId\$1*, e *\$1\$1IndexId\$1* pelos valores do seu índice. É possível permitir o acesso a vários índices adicionando-os à lista `Resource`. Para permitir o acesso a todos os índices do seu Conta da AWS, *\$1\$1IndexId\$1* substitua por um caractere curinga (\$1).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kendra:Retrieve",
                "kendra:DescribeIndex"
            ],
            "Resource": "arn:aws:kendra:us-east-1:123456789012:index/${IndexId}" 
        }
    ]
}
```

------

## Permissões para acessar seu banco de dados vetoriais no Amazon OpenSearch Serverless
<a name="kb-permissions-oss"></a>

Se você criou um banco de dados vetorial no OpenSearch Serverless para sua base de conhecimento, anexe a seguinte política à sua função de serviço do Amazon Bedrock Knowledge Bases para permitir o acesso à coleção. Substitua *\$1\$1Region\$1* e *\$1\$1AccountId\$1* pela região e o ID da conta aos quais o banco de dados pertence. Insira o ID da sua coleção de OpenSearch serviços da Amazon em*\$1\$1CollectionId\$1*. É possível permitir o acesso a várias coleções adicionando-as à lista `Resource`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "aoss:APIAccessAll"
            ],
            "Resource": [
                "arn:aws:aoss:us-east-1:123456789012:collection/${CollectionId}"
            ]
        }
    ]
}
```

------

## Permissões para acessar seu banco de dados vetoriais em clusters OpenSearch gerenciados
<a name="kb-permissions-osm"></a>

Se você criou um banco de dados vetoriais no OpenSearch Managed Cluster para sua base de conhecimento, anexe a seguinte política à sua função de serviço do Amazon Bedrock Knowledge Bases para permitir o acesso ao domínio. Substitua *<region>* e *<accountId>* pela região e o ID da conta aos quais o banco de dados pertence. É possível permitir o acesso a vários domínios adicionando-os à lista `Resource`. Para obter mais informações sobre a configuração de permissões, consulte [Pré-requisitos e permissões necessários para usar clusters OpenSearch gerenciados com as bases de conhecimento Amazon BedrockVisão geral da configuração de permissões](kb-osm-permissions-prereq.md).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",       
            "Action": [
                "es:ESHttpGet", 
                "es:ESHttpPost", 
                "es:ESHttpPut", 
                "es:ESHttpDelete" 
            ],
            "Resource": [
                "arn:aws:es:us-east-1:123456789012:domain/domainName/indexName"
            ]       
        }, 
        {
            "Effect": "Allow",
            "Action": [
                "es:DescribeDomain" 
            ],
            "Resource": [
                "arn:aws:es:us-east-1:123456789012:domain/domainName"
            ]       
        }
    ]
}
```

------

## Permissões para acessar o cluster de banco de dados do Amazon Aurora
<a name="kb-permissions-rds"></a>

**nota**  
O cluster Amazon Aurora deve residir no mesmo local em Conta da AWS que a base de conhecimento foi criada para o Amazon Bedrock.

Se tiver criado um cluster de banco de dados no Amazon Aurora para a base de conhecimento, anexe a política a seguir ao perfil de serviço do Amazon Bedrock Knowledge Bases a fim de permitir acesso ao cluster de banco de dados e fornecer permissões de leitura e gravação nele. Substitua *\$1\$1Region\$1* e *\$1\$1AccountId\$1* pela região e o ID da conta aos quais o cluster de banco de dados pertence. Insira o ID do seu cluster de banco de dados Amazon Aurora em. *\$1\$1DbClusterId\$1* É possível permitir acesso a vários clusters de banco de dados adicionando-os à lista `Resource`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RdsDescribeStatementID",
            "Effect": "Allow",
            "Action": [
                "rds:DescribeDBClusters"
            ],
            "Resource": [
                "arn:aws:rds:us-east-1:123456789012:cluster:${DbClusterId}"
            ]
        },
        {
            "Sid": "DataAPIStatementID",
            "Effect": "Allow",
            "Action": [
                "rds-data:BatchExecuteStatement",
                "rds-data:ExecuteStatement"
            ],
            "Resource": [
                "arn:aws:rds:us-east-1:123456789012:cluster:${DbClusterId}"
            ]
        }
    ]
}
```

------

## Permissões para acessar o banco de dados de vetores no Amazon Neptune Analytics
<a name="kb-permissions-neptune"></a>

Se tiver criado um grafo do Amazon Neptune Analytics para a base de conhecimento, anexe a política a seguir ao perfil de serviço das Bases de Conhecimento do Amazon Bedrock a fim de permitir acesso ao grafo. Na política, substitua *\$1\$1Region\$1* e *\$1\$1AccountId\$1* pela região e o ID da conta aos quais o banco de dados pertence. *\$1\$1GraphId\$1*Substitua pelos valores do seu banco de dados gráfico.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "NeptuneAnalyticsAccess",
            "Effect": "Allow",
            "Action": [
                "neptune-graph:GetGraph",
                "neptune-graph:ReadDataViaQuery",
                "neptune-graph:WriteDataViaQuery",
                "neptune-graph:DeleteDataViaQuery"
            ],
            "Resource": [
                "arn:aws:neptune-graph:us-east-1:123456789012:graph/${GraphId}"
            ]
        }
    ]
}
```

------

## Permissões para acessar seu armazenamento de vetores no Amazon S3 Vectors
<a name="kb-permissions-s3vectors"></a>

Se você optar por usar o Amazon S3 Vectors para a base de conhecimento, anexe a política a seguir ao perfil de serviço das Bases de Conhecimento do Amazon Bedrock a fim de permitir acesso ao índice de vetores.

Na política, substitua *\$1\$1Region\$1* e *\$1\$1AccountId\$1* pela região e o ID da conta aos quais o índice vetorial pertence. *\$1\$1BucketName\$1*Substitua pelo nome do seu bucket vetorial do S3 e *\$1\$1IndexName\$1* pelo nome do seu índice vetorial. Para ter mais informações sobre o Amazon S3 Vectors, consulte [Configurar o Amazon S3 Vectors para uso](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-setting-up.html).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3VectorBucketReadAndWritePermission",
            "Effect": "Allow",
            "Action": [
                "s3vectors:PutVectors",
                "s3vectors:GetVectors",
                "s3vectors:DeleteVectors",
                "s3vectors:QueryVectors",
                "s3vectors:GetIndex"
            ],
            "Resource": "arn:aws:s3vectors:us-east-1:123456789012:bucket/${BucketName}/index/${IndexName}"
        }
    ]
}
```

------

## Permissões para acessar um banco de dados vetorial configurado com um AWS Secrets Manager segredo
<a name="kb-permissions-secret"></a>

Se seu banco de dados vetoriais estiver configurado com um AWS Secrets Manager segredo, anexe a seguinte política à sua função de serviço do Amazon Bedrock Knowledge Bases AWS Secrets Manager para permitir a autenticação de sua conta para acessar o banco de dados. Substitua *\$1\$1Region\$1* e *\$1\$1AccountId\$1* pela região e o ID da conta aos quais o banco de dados pertence. *\$1\$1SecretId\$1*Substitua pelo ID do seu segredo.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:${SecretId}"
            ]
        }
    ]
}
```

------

Se você criptografou seu segredo com uma AWS KMS chave, anexe permissões para descriptografar a chave à função seguindo as etapas em. [Permissões para descriptografar um AWS Secrets Manager segredo para o armazenamento de vetores que contém sua base de conhecimento](encryption-kb.md#encryption-kb-3p)

## Permissões AWS para gerenciar uma AWS KMS chave para armazenamento transitório de dados durante a ingestão de dados
<a name="kb-permissions-kms-ingestion"></a>

Para permitir a criação de uma AWS KMS chave para armazenamento transitório de dados no processo de ingestão de sua fonte de dados, anexe a seguinte política à sua função de serviço da Amazon Bedrock Knowledge Bases. Substitua o *\$1\$1Region\$1**\$1\$1AccountId\$1*, e *\$1\$1KeyId\$1* pelos valores apropriados.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/${KeyId}"
            ]
        }
    ]
}
```

------

## Permissões AWS para gerenciar fontes de dados da AWS conta de outro usuário.
<a name="kb-permissions-otherds"></a>

Para permitir o acesso à AWS conta de outro usuário, você deve criar uma função que permita o acesso entre contas a um bucket do Amazon S3 na conta de outro usuário. Substitua o *\$1\$1BucketName\$1**\$1\$1BucketOwnerAccountId\$1*, e *\$1\$1BucketNameAndPrefix\$1* pelos valores apropriados.

**Permissões necessárias no perfil da base de conhecimento**

O perfil da base de conhecimento fornecido durante a criação da base de conhecimento `createKnowledgeBase` requer as permissões do Amazon S3 a seguir.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ListBucketStatement",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        },
        {
            "Sid": "S3GetObjectStatement",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

------

Se o bucket do Amazon S3 for criptografado usando uma AWS KMS chave, o seguinte também precisará ser adicionado à função da base de conhecimento. Substitua *\$1\$1Region\$1* a *\$1\$1BucketOwnerAccountId\$1* e pelos valores apropriados.

```
{
        "Sid": "KmsDecryptStatement",
        "Effect": "Allow",
        "Action": [
            "kms:Decrypt"
        ],
        "Resource": [
            "arn:aws:kms:${Region}:${BucketOwnerAccountId}:key/${KeyId}"
        ],
        "Condition": {
        "StringEquals": {
            "kms:ViaService": [
                "s3.${Region}.amazonaws.com"
            ]
        }
        }
    }
```

**Permissões necessárias em uma política de bucket do Amazon S3 entre contas**

O bucket na outra conta exige a política de bucket do Amazon S3 a seguir. Substitua o *\$1\$1KbRoleArn\$1**\$1\$1BucketName\$1*, e *\$1\$1BucketNameAndPrefix\$1* pelos valores apropriados. 

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "ListBucket",
         "Effect": "Allow",
         "Principal": {
            "AWS": "123456789012"
         },
         "Action": [
            "s3:ListBucket"
         ],
         "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket"
         ]
      },
      {
         "Sid": "GetObject",
         "Effect": "Allow",
         "Principal": {
            "AWS": "123456789012"
         },
         "Action": [
            "s3:GetObject"
         ],
         "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket/*"
         ]
      }
   ]
}
```

------

**Permissões necessárias na política de AWS KMS chaves entre contas**

Se o bucket do Amazon S3 entre contas for criptografado usando AWS KMS uma chave nessa conta, a política da chave exigirá AWS KMS a seguinte política. Substitua *\$1\$1KmsKeyArn\$1* a *\$1\$1KbRoleArn\$1* e pelos valores apropriados.

```
{
    "Sid": "Example policy",
    "Effect": "Allow",
    "Principal": {
        "AWS": [
            "${KbRoleArn}"
        ]
    },
    "Action": [
        "kms:Decrypt"
    ],
    "Resource": "${KmsKeyArn}"
}
```

# Criar um perfil de serviço para fluxos do Amazon Bedrock no Amazon Bedrock
<a name="flows-permissions"></a>

Para criar e gerenciar um fluxo do Amazon Bedrock, use um perfil de serviço com as permissões necessárias descritas nesta página. É possível usar um perfil de serviço que o Amazon Bedrock cria automaticamente para você no console ou usar um personalizado por você.

**nota**  
Se você usar o perfil 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, e você precisará excluir as permissões não mais necessárias. Para gerenciar as permissões do perfil criado para você, siga as etapas em [Modificar um perfil](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) no Guia do usuário do IAM.

Para criar uma função de serviço personalizada para o Amazon Bedrock Flows, crie uma função do IAM seguindo as etapas em [Criar uma função para delegar permissões a um AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) serviço. Anexe a política de permissões a seguir ao perfil.
+ Política de confiança
+ As seguintes permissões baseadas em identidade:
  + Acesso aos modelos de base do Amazon Bedrock que o fluxo usará. Adicione cada modelo usado no fluxo à lista `Resource`.
  + Se você invocar um modelo usando o throughput provisionado, permissões para acessar e invocar o modelo provisionado. Adicione cada modelo usado no fluxo à lista `Resource`.
  + Se você invocar um modelo personalizado, permissões para acessar e invocar o modelo personalizado. Adicione cada modelo usado no fluxo à lista `Resource`.
  + Permissões baseadas nos nós que você adiciona ao fluxo:
    + Se você incluir nós de prompt que usam prompts do Gerenciamento de Prompts, precisará de permissões para acessar o prompt. Adicione cada prompt usado no fluxo à lista `Resource`.
    + Se você incluir nós da base de conhecimento, precisará de permissões para consultar a base de conhecimento. Adicione cada base de conhecimento consultada no fluxo à lista `Resource`.
    + Se você incluir nós de agente, precisará de permissões para invocar um alias do agente. Adicione cada agente invocado no fluxo à lista `Resource`.
    + Se você incluir nós de recuperação do S3, precisará de permissões para acessar o bucket do Amazon S3 do qual os dados serão recuperados. Adicione cada bucket do qual os dados são recuperados à lista `Resource`.
    + Se você incluir nós de armazenamento do S3, precisará de 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 à lista `Resource`.
    + Se você incluir barreiras de proteção para um nó de base de conhecimento ou um nó de prompt, precisará de permissões para aplicar as barreiras de proteção em um fluxo. Adicione cada barreira de proteção usada no fluxo à lista `Resource`.
    + Se você incluir nós do Lambda, precisará de permissão para invocar a função do Lambda. Adicione cada função do Lambda que precisa ser invocada à lista `Resource`,
    + Se você incluir nós do Amazon Lex, precisará de permissões para usar o bot do Amazon Lex. Adicione cada alias de bot que precisa ser usado à lista `Resource`.
    + Se você criptografou qualquer recurso invocado em um fluxo, precisará de permissões para descriptografar a chave. Adicione cada chave à lista `Resource`.
+ Se você criptografar o fluxo, também precisará anexar uma política de chave à chave do KMS usada para criptografar o fluxo.

**nota**  
As seguintes alterações foram implementadas recentemente:  
Anteriormente, AWS Lambda os recursos do Amazon Lex eram invocados usando o diretor de serviço Amazon Bedrock. Esse comportamento está mudando para fluxos criados após 2024-11-22 e a função de serviço Amazon Bedrock Flows será usada para invocar os recursos e o Amazon AWS Lambda Lex. Se você criou algum fluxo que usa qualquer um desses recursos antes de 22/11/2024, você deve atualizar suas funções de serviço do Amazon Bedrock Flows com as permissões do Amazon AWS Lambda Lex.
Anteriormente, os recursos do Gerenciamento de Prompts eram renderizados usando a ação `bedrock:GetPrompt`. Como esse comportamento está mudando para fluxos criados após 22/11/2024, a ação `bedrock:RenderPrompt` será usada para renderizar o recurso de prompt. Se você criou algum fluxo que use um recurso de prompt antes de 22/11/2024, deverá atualizar seus perfis de serviço do recurso Fluxos do Amazon Bedrock com permissões `bedrock:RenderPrompt`.
Se você estiver usando um perfil de serviço que o Amazon Bedrock criou automaticamente para você no console, ele anexará permissões dinamicamente quando você salvar o fluxo.

**Topics**
+ [Relação de confiança](#flows-permissions-trust)
+ [Permissões baseadas em identidade para o perfil de serviço de fluxos.](#flows-permissions-identity)

## Relação de confiança
<a name="flows-permissions-trust"></a>

Anexe a política de confiança a seguir ao perfil de execução de fluxo para permitir que o Amazon Bedrock assuma esse perfil e gerencie um fluxo. Substitua o *values* conforme necessário. A política contém chaves de condição opcionais (consulte [Chaves de condição do Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) e [Chaves de contexto de condição globais da AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)) no campo `Condition` que devem ser usadas como uma prática recomendada de segurança.

**nota**  
Como prática recomendada, *\$1* substitua o por um ID de fluxo depois de criá-lo.

------
#### [ JSON ]

****  

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

------

## Permissões baseadas em identidade para o perfil de serviço de fluxos.
<a name="flows-permissions-identity"></a>

Anexe a política a seguir para fornecer permissões para a função de serviço, substituindo-a *values* conforme necessário. A política contém as declarações a seguir. Omita uma declaração quando não for aplicável ao caso de uso. A política contém chaves de condição opcionais (consulte [Chaves de condição do Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) e [Chaves de contexto de condição globais da AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)) no campo `Condition` que devem ser usadas como uma prática recomendada de segurança.
+ Acesso aos modelos de base do Amazon Bedrock que o fluxo usará. Adicione cada modelo usado no fluxo à lista `Resource`.
+ Se você invocar um modelo usando o throughput provisionado, permissões para acessar e invocar o modelo provisionado. Adicione cada modelo usado no fluxo à lista `Resource`.
+ Se você invocar um modelo personalizado, permissões para acessar e invocar o modelo personalizado. Adicione cada modelo usado no fluxo à lista `Resource`.
+ Permissões baseadas nos nós que você adiciona ao fluxo:
  + Se você incluir nós de prompt que usam prompts do Gerenciamento de Prompts, precisará de permissões para acessar o prompt. Adicione cada prompt usado no fluxo à lista `Resource`.
  + Se você incluir nós da base de conhecimento, precisará de permissões para consultar a base de conhecimento. Adicione cada base de conhecimento consultada no fluxo à lista `Resource`.
  + Se você incluir nós de agente, precisará de permissões para invocar um alias do agente. Adicione cada agente invocado no fluxo à lista `Resource`.
  + Se você incluir nós de recuperação do S3, precisará de permissões para acessar o bucket do Amazon S3 do qual os dados serão recuperados. Adicione cada bucket do qual os dados são recuperados à lista `Resource`.
  + Se você incluir nós de armazenamento do S3, precisará de 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 à lista `Resource`.
  + Se você incluir barreiras de proteção para um nó de base de conhecimento ou um nó de prompt, precisará de permissões para aplicar as barreiras de proteção em um fluxo. Adicione cada barreira de proteção usada no fluxo à lista `Resource`.
  + Se você incluir nós do Lambda, precisará de permissão para invocar a função do Lambda. Adicione cada função do Lambda que precisa ser invocada à lista `Resource`,
  + Se você incluir nós do Amazon Lex, precisará de permissões para usar o bot do Amazon Lex. Adicione cada alias de bot que precisa ser usado à lista `Resource`.
  + Se você criptografou qualquer recurso invocado em um fluxo, precisará de permissões para descriptografar a chave. Adicione cada chave à lista `Resource`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "InvokeModel",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1::foundation-model/ModelId"
            ]
        },
        {
            "Sid": "InvokeProvisionedThroughput",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:GetProvisionedModelThroughput"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:provisioned-model/ModelId"
            ]
        },
        {
            "Sid": "InvokeCustomModel",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:GetCustomModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:custom-model/ModelId"
            ]
        },
        {
            "Sid": "UsePromptFromPromptManagement",
            "Effect": "Allow",
            "Action": [
                "bedrock:RenderPrompt"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:prompt/PromptId"
            ]
        },
        {
            "Sid": "QueryKnowledgeBase",
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/KnowledgeBaseId"
            ]
        },
        {
            "Sid": "InvokeAgent",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeAgent"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:agent-alias/AgentId/AgentAliasId"
            ]
        },
        {
            "Sid": "AccessS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        },
        {
            "Sid": "WriteToS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        },
        {
            "Sid": "GuardrailPermissions",
            "Effect": "Allow",
            "Action": [
                "bedrock:ApplyGuardrail"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:guardrail/GuardrailId"
            ]
        },
        {
            "Sid": "LambdaPermissions",
            "Effect": "Allow",
            "Action": [
                "lambda:InvokeFunction"
            ],
            "Resource": [
                "arn:aws:lambda:us-east-1:123456789012:function:FunctionId"
            ]
        },
        {
            "Sid": "AmazonLexPermissions",
            "Effect": "Allow",
            "Action": [
                "lex:RecognizeUtterance"
            ],
            "Resource": [ 
                "arn:aws:lex:us-east-1:123456789012:bot-alias/BotId/BotAliasId"
            ]
        },
        {
            "Sid": "KMSPermissions",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/KeyId"
            ],
             "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

------

# Requisitos de perfil de serviço para trabalhos de avaliação de modelo
<a name="model-evaluation-security-service-roles"></a>

Para criar um trabalho de avaliação de modelo, é necessário especificar um perfil de serviço. O perfil de serviço é um [perfil do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) que um serviço assume para executar ações em seu nome. Um administrador do IAM pode criar, modificar e excluir um perfil de serviço do IAM. Para obter mais informações, consulte [Criação de um perfil para delegar permissões a um AWS service (Serviço da AWS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) no *Guia do Usuário do IAM*. 

As ações e os recursos necessários do IAM dependem do tipo de trabalho de avaliação de modelo que você está criando. Use as seções a seguir para saber mais sobre as ações, as entidades principais de serviço e os recursos do IAM necessários para o Amazon Bedrock, o Amazon SageMaker AI e o Amazon S3. Se preferir, você poderá optar por criptografar seus dados usando o AWS Key Management Service.

**Topics**
+ [Requisitos do perfil de serviço para trabalhos automáticos de avaliação de modelo](automatic-service-roles.md)
+ [Requisitos do perfil de serviço para trabalhos de avaliação de modelo realizados por humanos](model-eval-service-roles.md)
+ [Permissões de perfil de serviço necessárias para criar um trabalho de avaliação de modelo que utiliza um modelo avaliador](judge-service-roles.md)
+ [Requisitos de perfil de serviço para trabalhos de avaliação de bases de conhecimento](rag-eval-service-roles.md)

# Requisitos do perfil de serviço para trabalhos automáticos de avaliação de modelo
<a name="automatic-service-roles"></a>

Para criar um trabalho automático de avaliação de modelo, é necessário especificar um perfil de serviço. A política anexada concede ao Amazon Bedrock acesso aos recursos em sua conta e permite que o Amazon Bedrock invoque o modelo selecionado em seu nome.

Você também deve anexar uma política de confiança que defina o Amazon Bedrock como entidade principal de serviço usando `bedrock.amazonaws.com`. Cada um dos exemplos de política a seguir mostra as ações do IAM exatas que são necessárias com base em cada serviço invocado em um trabalho automático de avaliação de modelo.

Para criar um perfil de serviço personalizado, consulte [Criar uma função usando políticas de confiança personalizadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) no *Guia do usuário do IAM*.

**Ações do IAM exigidas pelo Amazon S3**  
O exemplo de política a seguir concede acesso aos buckets do S3 em que os resultados da avaliação do modelo são salvos e (opcionalmente) acesso a todos os conjuntos de dados de prompts personalizados que você especificou.

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
    {
        "Sid": "AllowAccessToCustomDatasets",
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:ListBucket"
        ],
        "Resource": [
            "arn:aws:s3:::my_customdataset1_bucket",
            "arn:aws:s3:::my_customdataset1_bucket/myfolder",
            "arn:aws:s3:::my_customdataset2_bucket",
            "arn:aws:s3:::my_customdataset2_bucket/myfolder"
        ]
    },
    {
        "Sid": "AllowAccessToOutputBucket",
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:ListBucket",
            "s3:PutObject",
            "s3:GetBucketLocation",
            "s3:AbortMultipartUpload",
            "s3:ListBucketMultipartUploads"
        ],
        "Resource": [
            "arn:aws:s3:::my_output_bucket",
            "arn:aws:s3:::my_output_bucket/myfolder"
        ]
    }
]
}
```

------

**Ações do IAM exigidas pelo Amazon Bedrock**  
Também é necessário criar uma política que permita que o Amazon Bedrock invoque o modelo que você planeja especificar no trabalho automático de avaliação de modelo. Para saber mais sobre como gerenciar o acesso aos modelos do Amazon Bedrock, consulte [Acessar modelos de base do Amazon Bedrock](model-access.md). Na seção `"Resource"` da política, especifique também pelo menos um ARN de um modelo ao qual você tem acesso. Para usar um modelo criptografado com uma chave do KMS gerenciada pelo cliente, adicione as ações e os recursos necessários do IAM à política de perfil de serviço do IAM. Você também deve adicionar a função de serviço à política de AWS KMS chaves.

------
#### [ JSON ]

****  

```
{
		    "Version":"2012-10-17",		 	 	 
            "Statement": [
        {
            "Sid": "AllowAccessToBedrockResources",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:InvokeModelWithResponseStream",
                "bedrock:CreateModelInvocationJob",
                "bedrock:StopModelInvocationJob",
                "bedrock:GetProvisionedModelThroughput",
                "bedrock:GetInferenceProfile", 
                "bedrock:ListInferenceProfiles",
                "bedrock:GetImportedModel",
                "bedrock:GetPromptRouter",
                "sagemaker:InvokeEndpoint"
            ],
            "Resource": [
                "arn:aws:bedrock:*::foundation-model/*",
                "arn:aws:bedrock:*:111122223333:inference-profile/*",
                "arn:aws:bedrock:*:111122223333:provisioned-model/*",
                "arn:aws:bedrock:*:111122223333:imported-model/*",
                "arn:aws:bedrock:*:111122223333:application-inference-profile/*",
                "arn:aws:bedrock:*:111122223333:default-prompt-router/*",
                "arn:aws:sagemaker:*:111122223333:endpoint/*",
                "arn:aws:bedrock:*:111122223333:marketplace/model-endpoint/all-access"
            ]
        }
    ]
}
```

------

**Requisitos da entidade principal de serviço**  
Especifique também uma política de confiança que defina o Amazon Bedrock como a entidade principal de serviço. Isso permite que o Amazon Bedrock assuma o perfil. O ARN do trabalho de avaliação de modelo curinga (`*`) é necessário para que o Amazon Bedrock possa criar trabalhos de avaliação de modelo em sua conta. AWS

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [{
    "Sid": "AllowBedrockToAssumeRole",
    "Effect": "Allow",
    "Principal": {
        "Service": "bedrock.amazonaws.com"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
        "StringEquals": {
            "aws:SourceAccount": "111122223333"
        },
        "ArnEquals": {
            "aws:SourceArn": "arn:aws:bedrock:us-east-1:111122223333:evaluation-job/*"
        }
    }
}]
}
```

------

# Requisitos do perfil de serviço para trabalhos de avaliação de modelo realizados por humanos
<a name="model-eval-service-roles"></a>

Para criar um trabalho de avaliação de modelo com a participação de avaliadores humanos, é necessário especificar dois perfis de serviço.

As listas a seguir resumem os requisitos de política do IAM para cada perfil de serviço que precisa ser especificado no console do Amazon Bedrock.

**Resumo dos requisitos de política do IAM para o perfil de serviço do Amazon Bedrock**
+ Você deve anexar uma política de confiança que defina o Amazon Bedrock como entidade principal de serviço.
+ Você deve permitir que o Amazon Bedrock invoque os modelos selecionados em seu nome.
+ Você deve permitir que o Amazon Bedrock acesse o bucket do S3 que contém o conjunto de dados de prompts e o bucket do S3 onde você deseja que os resultados sejam salvos.
+ Permita que o Amazon Bedrock crie os recursos do grupo humano necessários em sua conta.
+ (Recomendado) Use um *bloco* de `Condition` para especificar as contas que podem ser acessadas.
+ (Opcional) Permita que o Amazon Bedrock descriptografe a chave do KMS, caso tenha criptografado o bucket do conjunto de dados de prompts ou o bucket do Amazon S3 em que deseja que os resultados sejam salvos.

**Resumo dos requisitos da política do IAM para a função de serviço Amazon SageMaker AI**
+ Você deve anexar uma política de confiança que defina a SageMaker IA como principal do serviço.
+ Você deve permitir que a SageMaker IA acesse o bucket do S3 que contém seu conjunto de dados de prompt e o bucket do S3 onde você deseja que os resultados sejam salvos.
+ (Opcional) Você deve permitir que a SageMaker IA use suas chaves gerenciadas pelo cliente se tiver criptografado seu bucket de conjunto de dados imediato ou o local em que deseja obter os resultados.

Para criar um perfil de serviço personalizado, consulte [Criar uma função usando políticas de confiança personalizadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) no *Guia do usuário do IAM*.

**Ações do IAM exigidas pelo Amazon S3**  
O exemplo de política a seguir concede acesso aos buckets do S3 em que os resultados da avaliação de modelo são salvos e acesso ao conjunto de dados de prompts personalizado que você especificou. Você precisa vincular essa política à função de serviço de SageMaker IA e à função de serviço Amazon Bedrock.

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
    {
        "Sid": "AllowAccessToCustomDatasets",
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:ListBucket"
        ],
        "Resource": [
            "arn:aws:s3:::custom-prompt-dataset"
        ]
    },
    {
        "Sid": "AllowAccessToOutputBucket",
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:ListBucket",
            "s3:PutObject",
            "s3:GetBucketLocation",
            "s3:AbortMultipartUpload",
            "s3:ListBucketMultipartUploads"
        ],
        "Resource": [
            "arn:aws:s3:::model_evaluation_job_output"
        ]
    }
]
}
```

------

**Ações do IAM necessária para o Amazon Bedrock**  
Para permitir que o Amazon Bedrock invoque o modelo que você planeja especificar no trabalho de avaliação de modelo automática, anexe a política a seguir ao perfil de serviço do Amazon Bedrock. Na seção `"Resource"` da política, especifique também pelo menos um ARN de um modelo ao qual você tem acesso. Para usar um modelo criptografado com uma chave do KMS gerenciada pelo cliente, adicione as ações e os recursos necessários do IAM ao perfil de serviço do IAM. Você também deve adicionar quaisquer AWS KMS elementos-chave de política necessários.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAccessToBedrockResources",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:InvokeModelWithResponseStream",
                "bedrock:CreateModelInvocationJob",
                "bedrock:StopModelInvocationJob",
                "bedrock:GetProvisionedModelThroughput",
                "bedrock:GetInferenceProfile", 
                "bedrock:ListInferenceProfiles",
                "bedrock:GetImportedModel",
                "bedrock:GetPromptRouter",
                "sagemaker:InvokeEndpoint"
            ],
            "Resource": [
                "arn:aws:bedrock:*::foundation-model/*",
                "arn:aws:bedrock:*:111122223333:inference-profile/*",
                "arn:aws:bedrock:*:111122223333:provisioned-model/*",
                "arn:aws:bedrock:*:111122223333:imported-model/*",
                "arn:aws:bedrock:*:111122223333:application-inference-profile/*",
                "arn:aws:bedrock:*:111122223333:default-prompt-router/*",
                "arn:aws:sagemaker:*:111122223333:endpoint/*",
                "arn:aws:bedrock:*:111122223333:marketplace/model-endpoint/all-access"
            ]
        }
    ]
}
```

------

**Ações do IAM necessárias para o Amazon Augmented AI**  
Também é necessário criar uma política que permita que o Amazon Bedrock crie recursos relacionados aos trabalhos de avaliação de modelo realizados por humanos. Como o Amazon Bedrock cria os recursos necessários para iniciar o trabalho de avaliação de modelo, você deve usar `"Resource": "*"`. Anexe essa política ao perfil de serviço do Amazon Bedrock.

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
    {
        "Sid": "ManageHumanLoops",
        "Effect": "Allow",
        "Action": [
            "sagemaker:StartHumanLoop",
            "sagemaker:DescribeFlowDefinition",
            "sagemaker:DescribeHumanLoop",
            "sagemaker:StopHumanLoop",
            "sagemaker:DeleteHumanLoop"
        ],
        "Resource": "*"
    }
]
}
```

------

**Requisitos para entidade principal do serviço (Amazon Bedrock)**  
Você também deve especificar uma política de confiança que defina o Amazon Bedrock como entidade principal de serviço. Isso permite que o Amazon Bedrock assuma o perfil.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowBedrockToAssumeRole",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:bedrock:us-east-1:111122223333:evaluation-job/*"
                }
            }
        }
    ]
}
```

------

**Requisitos principais do serviço (SageMaker IA)**  
Especifique também uma política de confiança que defina o Amazon Bedrock como a entidade principal de serviço. Isso permite que a SageMaker IA assuma o papel.

------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
{
  "Sid": "AllowSageMakerToAssumeRole",
  "Effect": "Allow",
  "Principal": {
    "Service": "sagemaker.amazonaws.com"
  },
  "Action": "sts:AssumeRole"
}
]
}
```

------

# Permissões de perfil de serviço necessárias para criar um trabalho de avaliação de modelo que utiliza um modelo avaliador
<a name="judge-service-roles"></a>

Para criar um trabalho de avaliação de modelo que um LLM como avaliador, é necessário especificar um perfil de serviço. A política anexada concede ao Amazon Bedrock acesso aos recursos em sua conta e permite que o Amazon Bedrock invoque o modelo selecionado em seu nome.

A política de confiança define o Amazon Bedrock como entidade principal de serviço usando `bedrock.amazonaws.com`. Cada um dos exemplos de política a seguir mostra as ações do IAM exatas que são necessárias com base em cada serviço invocado em um trabalho de avaliação de modelo.

Para criar um perfil de serviço como descrito a seguir, consulte [Criar um perfil usando políticas de confiança personalizadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) no *Guia do usuário do IAM*.

## Ações do IAM necessária para o Amazon Bedrock
<a name="judge-service-roles-br"></a>

É necessário criar uma política que permita que o Amazon Bedrock invoque os modelos que você planeja especificar no trabalho de avaliação de modelo. Para saber mais sobre como gerenciar o acesso aos modelos do Amazon Bedrock, consulte [Acessar modelos de base do Amazon Bedrock](model-access.md). Na seção `"Resource"` da política, especifique também pelo menos um ARN de um modelo ao qual você tem acesso. Para usar um modelo criptografado com uma chave do KMS gerenciada pelo cliente, adicione as ações e os recursos necessários do IAM à política de perfil de serviço do IAM. Você também deve adicionar a função de serviço à política de AWS KMS chaves.

O perfil de serviço deve incluir acesso a pelo menos um modelo de avaliador compatível. Para ver uma lista dos modelos de avaliadores compatíveis no momento, consulte [Modelos compatíveis](evaluation-judge.md#evaluation-judge-supported).

------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "BedrockModelInvoke",
			"Effect": "Allow",
			"Action": [
				"bedrock:InvokeModel",
				"bedrock:CreateModelInvocationJob",
				"bedrock:StopModelInvocationJob"
			],
			"Resource": [
				"arn:aws:bedrock:us-east-1::foundation-model/*",
				"arn:aws:bedrock:us-east-1:111122223333:inference-profile/*",
				"arn:aws:bedrock:us-east-1:111122223333:provisioned-model/*",
				"arn:aws:bedrock:us-east-1:111122223333:imported-model/*"
			]
		}
	]
}
```

------

## Ações e recursos do IAM exigidos pelo Amazon S3
<a name="judge-service-roles-s3"></a>

Sua política de perfil de serviço precisa incluir acesso ao bucket do Amazon S3 em que você deseja salvar a saída dos trabalhos de avaliação de modelo e acesso ao conjunto de dados de prompts que especificado na solicitação `CreateEvaluationJob` ou por meio do console do Amazon Bedrock.

------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "FetchAndUpdateOutputBucket",
			"Effect": "Allow",
			"Action": [
				"s3:GetObject",
				"s3:ListBucket",
				"s3:PutObject",
				"s3:GetBucketLocation",
				"s3:AbortMultipartUpload",
				"s3:ListBucketMultipartUploads"
			],
			"Resource": [
				"arn:aws:s3:::my_customdataset1_bucket",
	            "arn:aws:s3:::my_customdataset1_bucket/myfolder",
	            "arn:aws:s3:::my_customdataset2_bucket",
				"arn:aws:s3:::my_customdataset2_bucket/myfolder"
			]
		}
	]
}
```

------

# Requisitos de perfil de serviço para trabalhos de avaliação de bases de conhecimento
<a name="rag-eval-service-roles"></a>

Para criar um trabalho de avaliação de base de conhecimento, é necessário especificar um perfil de serviço. A política anexada concede ao Amazon Bedrock acesso aos recursos em sua conta e permite que o Amazon Bedrock faça o seguinte:
+ Invoque os modelos que você seleciona para geração de saída com a ação de API `RetrieveAndGenerate` e avalie as saídas da base de conhecimento.
+ Invoque as ações de API `Retrieve` e `RetrieveAndGenerate` das Bases de Conhecimento do Amazon Bedrock em sua instância de base de conhecimento.

Para criar um perfil de serviço personalizado, consulte [Criar um perfil usando políticas de confiança personalizada](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) no *Guia do usuário do IAM*.

**Ações necessárias do IAM para acessar o Amazon S3**  
O seguinte exemplo de política concede acesso aos buckets do S3 quando ambas as situações abaixo ocorrem: 
+ Você salva os resultados da avaliação da base de conhecimento.
+ O Amazon Bedrock lê o conjunto de dados de entrada.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":
    [
        {
            "Sid": "AllowAccessToCustomDatasets",
            "Effect": "Allow",
            "Action":
            [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource":
            [
                "arn:aws:s3:::my_customdataset1_bucket",
                "arn:aws:s3:::my_customdataset1_bucket/myfolder",
                "arn:aws:s3:::my_customdataset2_bucket",
                "arn:aws:s3:::my_customdataset2_bucket/myfolder"
            ]
        },
        {
            "Sid": "AllowAccessToOutputBucket",
            "Effect": "Allow",
            "Action":
            [
                "s3:GetObject",
                "s3:ListBucket",
                "s3:PutObject",
                "s3:GetBucketLocation",
                "s3:AbortMultipartUpload",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource":
            [
                "arn:aws:s3:::my_output_bucket",
                "arn:aws:s3:::my_output_bucket/myfolder"
            ]
        }
    ]
}
```

------

**Ações do IAM necessária para o Amazon Bedrock**  
Também é necessário criar uma política que permita que o Amazon Bedrock faça o seguinte:

1. Invoque os modelos que você planeja especificar para o seguinte: 
   + Geração de resultados com a ação de API `RetrieveAndGenerate`.
   + Avaliação dos resultados.

   Para a chave `Resource` da política, você deve especificar pelo menos um ARN de um modelo ao qual você tem acesso. Para usar um modelo criptografado com uma chave do KMS gerenciada pelo cliente, adicione as ações e os recursos necessários do IAM à política de perfil de serviço do IAM. Você também deve adicionar a função de serviço à política de AWS KMS chaves.

1. Chame as ações de API `Retrieve` e `RetrieveAndGenerate`. Observe que, na criação automática de perfis no console, concedemos permissões para as ações de API `Retrieve` e `RetrieveAndGenerate`, independentemente da ação que você escolher avaliar para esse trabalho. Ao fazer isso, oferecemos maior flexibilidade e capacidade de reutilização para esse perfil. No entanto, para maior segurança, esse perfil criado automaticamente está vinculado a uma única instância da base de conhecimento.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowSpecificModels",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:InvokeModelWithResponseStream",
                "bedrock:CreateModelInvocationJob",
                "bedrock:StopModelInvocationJob",
                "bedrock:GetProvisionedModelThroughput",
                "bedrock:GetInferenceProfile",
                "bedrock:GetImportedModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1::foundation-model/*",
                "arn:aws:bedrock:us-east-1:123456789012:inference-profile/*",
                "arn:aws:bedrock:us-east-1:123456789012:provisioned-model/*",
                "arn:aws:bedrock:us-east-1:123456789012:imported-model/*",
                "arn:aws:bedrock:us-east-1:123456789012:application-inference-profile/*"
            ]
        },
        {
            "Sid": "AllowKnowledgeBaseAPis",
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve",
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/knowledge-base-id"
            ]
        }
    ]
}
```

------

**Requisitos da entidade principal de serviço**  
Especifique também uma política de confiança que defina o Amazon Bedrock como a entidade principal de serviço. Essa política permite que o Amazon Bedrock assuma o perfil. O ARN do trabalho de avaliação de modelo curinga (`*`) é necessário para que o Amazon Bedrock possa criar trabalhos de avaliação de modelo em sua conta. AWS 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowBedrockToAssumeRole",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:evaluation-job/*"
                }
            }
        }
    ]
}
```

------

# Configurar acesso para buckets do Amazon S3
<a name="s3-bucket-access"></a>

Vários recursos do Amazon Bedrock exigem acesso a dados armazenados em buckets do Amazon S3. Para acessá-los, você deve configurar as seguintes permissões:


****  

| Caso de uso | Permissões | 
| --- | --- | 
| Permissões para recuperar dados do bucket do S3 | s3: GetObjects3: ListBucket | 
| Permissões para gravar dados no bucket do S3 | s3: PutObject | 
| Permissões para descriptografar a chave do KMS que criptografou o bucket do S3 | kms:Decryptkms:DescribeKey | 

As identidades ou os recursos aos quais você precisa anexar as permissões acima dependem dos seguintes fatores:
+ Vários recursos no Amazon Bedrock usam [perfis de serviço](security-iam-sr.md). Se um recurso usa uma perfil de serviço, você deve configurar as permissões para que o perfil de serviço, em vez da identidade do IAM do usuário, tenha acesso aos dados do S3. Alguns recursos do Amazon Bedrock podem criar automaticamente um perfil de serviço para você e anexar as [permissões baseadas em identidade](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies.html#policies_id-based) necessárias ao perfil de serviço, se você usar o Console de gerenciamento da AWS.
+ Alguns recursos do Amazon Bedrock permitem que uma identidade acesse um bucket do S3 em uma conta diferente. Se os dados do S3 precisarem ser acessados de uma conta diferente, o proprietário do bucket deverá incluir as [permissões baseadas em recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) acima em uma [política de bucket do S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html) anexada ao bucket do S3.

Descrevemos abaixo como determinar onde você precisa anexar as permissões necessárias para acessar os dados do S3:
+ Permissões de identidade do IAM
  + Se você puder criar automaticamente um perfil de serviço no console, as permissões serão configuradas para o perfil de serviço, portanto, não será necessário configurá-lo por conta própria.
  + Se preferir usar um perfil de serviço personalizado ou se a identidade que requer acesso não for um perfil de serviço, navegue até [Anexar permissões a uma identidade do IAM para permitir acesso ao bucket do Amazon S3](#s3-bucket-access-identity) para saber como criar uma política baseada em identidade com as permissões adequadas.
+ Permissões baseadas em recursos
  + Se a identidade exigir acesso aos dados do S3 na mesma conta, não será necessário anexar uma política de bucket do S3 ao bucket que contém os dados.
  + Se a identidade exigir acesso aos dados do S3 em uma conta diferente, navegue até [Anexar uma política de bucket a um bucket do Amazon S3 para permitir acesso de outra conta](#s3-bucket-access-cross-account) para saber como criar uma política de bucket do S3 com as permissões adequadas.
**Importante**  
A criação automática de uma função de serviço no Console de gerenciamento da AWS atribui as permissões adequadas baseadas em identidade à função, mas você ainda deve configurar a política de bucket do S3 se a identidade que requer acesso a ela estiver em outra. Conta da AWS

Para obter mais informações, consulte os seguintes links:
+ Para saber mais sobre como controlar o acesso aos dados no Amazon S3, consulte [Controle de acesso no Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-management.html).
+ Para saber mais sobre as permissões do Amazon S3, consulte [Ações definidas pelo Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-actions-as-permissions).
+ Para saber mais sobre AWS KMS permissões, consulte [Ações definidas por AWS Key Management Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskeymanagementservice.html#awskeymanagementservice-actions-as-permissions).

Prossiga com os tópicos relacionados ao seu caso de uso:

**Topics**
+ [Anexar permissões a uma identidade do IAM para permitir acesso ao bucket do Amazon S3](#s3-bucket-access-identity)
+ [Anexar uma política de bucket a um bucket do Amazon S3 para permitir acesso de outra conta](#s3-bucket-access-cross-account)
+ [(Opção de segurança avançada) Incluir condições em uma declaração para um acesso mais refinado](#s3-bucket-access-conditions)

## Anexar permissões a uma identidade do IAM para permitir acesso ao bucket do Amazon S3
<a name="s3-bucket-access-identity"></a>

Este tópico fornece um modelo para anexar uma política a uma identidade do IAM. A política inclui as seguintes declarações que definem permissões para conceder acesso a uma identidade do IAM a um bucket do S3:

1. Permissões para recuperar dados de um bucket do S3. Essa declaração também inclui uma condição usando a [chave de condição](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-policy-keys) `s3:prefix` para restringir o acesso a uma pasta específica no bucket. Para ter mais informações sobre essa condição, consulte a seção **Política de usuário** em [Exemplo 2: obter uma lista de objetos em um bucket com um prefixo específico](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#condition-key-bucket-ops-2).

1. (Se você precisar gravar dados em um local do S3) Permissões para gravar dados em um bucket do S3. Essa declaração também inclui uma condição usando a [chave de `aws:ResourceAccount` condição](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourceaccount) para restringir o acesso às solicitações enviadas de uma pessoa específicaConta da AWS.

1. (Se o bucket do S3 estiver criptografado com uma chave do KMS) Permissões para descrever e descriptografar a chave do KMS que criptografou o bucket do S3.
**nota**  
Se o bucket do S3 tiver versionamento habilitado, cada versão de objeto carregada usando esse recurso poderá ter sua própria chave de criptografia. Você é responsável por monitorar a chave de criptografia usada para uma versão de objeto.

Adicione, modifique e remova as declarações, os recursos e as condições na política a seguir e *\$1\$1values\$1* substitua-as conforme necessário:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::${S3Bucket}",
                "arn:aws:s3:::${S3Bucket}/*"
            ]
        },
        {
            "Sid": "WriteToS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::${S3Bucket}",
                "arn:aws:s3:::${S3Bucket}/*"
            ]
        },
        {
            "Sid": "DecryptKMSKey",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${KMSKeyId}"
        }
    ]
}
```

------

Depois de modificar a política de acordo com seu caso de uso, anexe-a ao perfil de serviço (ou à identidade do IAM) que requer acesso ao bucket do S3. Para saber como anexar permissões a uma identidade do IAM, consulte [Adicionar e remover permissões de identidade do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

## Anexar uma política de bucket a um bucket do Amazon S3 para permitir acesso de outra conta
<a name="s3-bucket-access-cross-account"></a>

Este tópico fornece um modelo para anexar uma política baseada em recursos a um bucket do S3 para permitir acesso de uma identidade do IAM a dados no bucket. A política inclui as seguintes declarações que definem permissões para que uma identidade acesse o bucket:

1. Permissões para recuperar dados de um bucket do S3.

1. (Se você precisar gravar dados em um local do S3) Permissões para gravar dados em um bucket do S3.

1. (Se o bucket do S3 estiver criptografado com uma chave do KMS) Permissões para descrever e descriptografar a chave do KMS que criptografou o bucket do S3.
**nota**  
Se o bucket do S3 tiver versionamento habilitado, cada versão de objeto carregada usando esse recurso poderá ter sua própria chave de criptografia. Você é responsável por monitorar a chave de criptografia usada para uma versão de objeto.

As permissões são semelhantes às permissões baseadas em identidade descritas em [Anexar permissões a uma identidade do IAM para permitir acesso ao bucket do Amazon S3](#s3-bucket-access-identity). No entanto, cada declaração também exige que você especifique a identidade para a qual conceder permissões ao recurso no campo `Principal`. Especifique a identidade (com a maioria dos recursos no Amazon Bedrock, esse é o perfil de serviço) no campo `Principal`. Adicione, modifique e remova as declarações, os recursos e as condições na política a seguir e *\$1\$1values\$1* substitua-as conforme necessário:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadS3Bucket",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/ServiceRole"
            },
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::${S3Bucket}",
                "arn:aws:s3:::${S3Bucket}/*"
            ]
        },
        {
            "Sid": "WriteToS3Bucket",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/ServiceRole"
            },
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::${S3Bucket}",
                "arn:aws:s3:::${S3Bucket}/*"
            ]
        },
        {
            "Sid": "DecryptKMSKey",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/ServiceRole"
            },
            "Action": [
                "kms:Decrypt",
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${KMSKeyId}"
        }
    ]
}
```

------

Depois de modificar a política de acordo com seu caso de uso, anexe-a ao bucket do S3. Para saber como anexar uma política de bucket a um bucket do S3, consulte [Adicionar uma política de bucket usando o console do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html).

## (Opção de segurança avançada) Incluir condições em uma declaração para um acesso mais refinado
<a name="s3-bucket-access-conditions"></a>

Para ter maior controle sobre as identidades que podem acessar seus recursos, é possível incluir condições em uma declaração de política. A política neste tópico oferece um exemplo que usa as seguintes chaves de condição:
+ `s3:prefix`: uma chave de condição do S3 que restringe o acesso a uma pasta específica em um bucket do S3. Para ter mais informações sobre essa chave de condição, consulte a seção **Política de usuário** em [Exemplo 2: obter uma lista de objetos em um bucket com um prefixo específico](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#condition-key-bucket-ops-2).
+ `aws:ResourceAccount`— Uma chave de condição global que restringe o acesso às solicitações de uma pessoa específicaConta da AWS.

A política a seguir restringe o acesso de leitura à *my-folder* pasta no bucket do *amzn-s3-demo-bucket* S3 e restringe o acesso de gravação do bucket do *amzn-s3-demo-destination-bucket* S3 às solicitações do com o Conta da AWS ID: *111122223333*

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition" : {
                "StringEquals" : {
                    "s3:prefix": "my-folder" 
                }
            }
        },
        {
            "Sid": "WriteToS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket",
                "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "111122223333"
                }
            }
        }
    ]
}
```

------

Para saber mais sobre as condições e as chaves de condição, consulte os seguintes links:
+ Para saber mais sobre condições, consulte [Elementos de política JSON do IAM: Condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) no “Guia do usuário do IAM”.
+ Para saber mais sobre as chaves de condição do S3, consulte [Chaves de condição do Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-policy-keys) na “Referência de autorização do serviço”.
+ Para saber mais sobre as chaves de condição globais usadas emServiços da AWS, consulte [chaves de contexto de condição AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourceaccount).

# Solução de problemas de identidade e acesso da Amazon Bedrock
<a name="security_iam_troubleshoot"></a>

Use as informações a seguir para ajudar a diagnosticar e corrigir problemas comuns que você pode encontrar ao trabalhar com o Amazon Bedrock e o IAM.

**Topics**
+ [Não tenho autorização para executar uma ação no Amazon Bedrock](#security_iam_troubleshoot-no-permissions)
+ [Não estou autorizado a realizar iam: PassRole](#security_iam_troubleshoot-passrole)
+ [Quero permitir que pessoas de fora da minha acessem meus Conta da AWS recursos do Amazon Bedrock](#security_iam_troubleshoot-cross-account-access)

## Não tenho autorização para executar uma ação no Amazon Bedrock
<a name="security_iam_troubleshoot-no-permissions"></a>

Se você receber uma mensagem de erro informando que não tem autorização para executar uma ação, suas políticas deverão ser atualizadas para permitir que você realize a ação.

O erro do exemplo a seguir ocorre quando o usuário do IAM `mateojackson` tenta usar o console para visualizar detalhes sobre um atributo `my-example-widget` fictício, mas não tem as permissões `bedrock:GetWidget` fictícias.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: bedrock:GetWidget on resource: my-example-widget
```

Nesse caso, a política do usuário `mateojackson` deve ser atualizada para permitir o acesso ao recurso `my-example-widget` usando a ação `bedrock:GetWidget`.

Se precisar de ajuda, entre em contato com seu AWS administrador. Seu administrador é a pessoa que forneceu suas credenciais de login.

## Não estou autorizado a realizar iam: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Caso receba uma mensagem de erro informando que você não tem autorização para executar a ação `iam:PassRole`, as políticas deverão ser atualizadas para permitir a transmissão de um perfil ao Amazon Bedrock.

Alguns Serviços da AWS permitem que você passe uma função existente para esse serviço em vez de criar uma nova função de serviço ou uma função vinculada ao serviço. Para fazer isso, é preciso ter permissões para passar o perfil para o serviço.

O erro exemplificado a seguir ocorre quando uma usuária do IAM chamada `marymajor` tenta usar o console para executar uma ação no Amazon Bedrock. No entanto, a ação exige que o serviço tenha permissões concedidas por um perfil de serviço. Mary não tem permissões para passar o perfil para o serviço.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

Nesse caso, as políticas de Mary devem ser atualizadas para permitir que ela realize a ação `iam:PassRole`.

Se precisar de ajuda, entre em contato com seu AWS administrador. Seu administrador é a pessoa que forneceu suas credenciais de login.

## Quero permitir que pessoas de fora da minha acessem meus Conta da AWS recursos do Amazon Bedrock
<a name="security_iam_troubleshoot-cross-account-access"></a>

É possível criar um perfil que os usuários de outras contas ou pessoas fora da organização podem usar para acessar seus recursos. É possível especificar quem é confiável para assumir o perfil. Para serviços que oferecem suporte a políticas baseadas em recursos ou listas de controle de acesso (ACLs), você pode usar essas políticas para conceder às pessoas acesso aos seus recursos.

Para saber mais, consulte:
+ Para saber se o Amazon Bedrock é compatível com esses recursos, consulte [Como o Amazon Bedrock funciona com o IAM](security_iam_service-with-iam.md).
+ Para saber como fornecer acesso aos seus recursos em todos os Contas da AWS que você possui, consulte Como [fornecer acesso a um usuário do IAM em outro Conta da AWS que você possui](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) no *Guia do usuário do IAM*.
+ Para saber como fornecer acesso aos seus recursos a terceiros Contas da AWS, consulte Como [fornecer acesso Contas da AWS a terceiros](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) no *Guia do usuário do IAM*.
+ Para saber como conceder acesso por meio da federação de identidades, consulte [Conceder acesso a usuários autenticados externamente (federação de identidades)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) no *Guia do usuário do IAM*.
+ Para conhecer a diferença entre perfis e políticas baseadas em recurso para acesso entre contas, consulte [Acesso a recursos entre contas no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) no *Guia do usuário do IAM*.

# Acesso entre contas ao bucket do Amazon S3 para trabalhos de importação de modelos personalizados
<a name="cross-account-access-cmi"></a>

Se estiver importando o modelo do bucket do Amazon S3 e usando várias contas do Amazon S3, você precisará conceder permissões aos usuários na conta do proprietário do bucket para acessar o bucket antes de importar o modelo personalizado. Consulte [Pré-requisitos para importação de modelos personalizados](custom-model-import-prereq.md).

## Configurar o acesso entre contas do bucket do Amazon S3
<a name="configure-cross-acct-access"></a>

Esta seção mostra as etapas de criação de políticas para que os usuários na conta do proprietário do bucket acessem o bucket do Amazon S3. 

1. Na conta do proprietário do bucket, crie uma política de bucket que forneça acesso aos usuários na conta do proprietário do bucket.

   A política de bucket de exemplo a seguir, criada e aplicada ao bucket `s3://amzn-s3-demo-bucket` pelo proprietário do bucket, concede acesso a um usuário na conta `123456789123` do proprietário do bucket. 

------
#### [ JSON ]

****  

   ```
   { 
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "CrossAccountAccess",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:role/ImportRole"
               },           
               "Action": [
                   "s3:ListBucket",
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket",
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           }
       ]
   }
   ```

------

1. Na política do usuário Conta da AWS, crie uma política de função de execução de importação. Para `aws:ResourceAccount` especificar o ID da conta do proprietário do bucket Conta da AWS.

   O exemplo a seguir da política de perfil de execução de importação na conta do usuário fornece ao ID `111222333444555` da conta do proprietário do bucket acesso ao bucket `s3://amzn-s3-demo-bucket` do Amazon S3.

------
#### [ JSON ]

****  

   ```
   { 
       "Version":"2012-10-17",		 	 	 
      "Statement": [
       {
           "Effect": "Allow",
           "Action": [
               "s3:ListBucket",
               "s3:GetObject"
           ],
           "Resource": [
               "arn:aws:s3:::amzn-s3-demo-bucket",
               "arn:aws:s3:::amzn-s3-demo-bucket/*"
           ],
           "Condition": {
               "StringEquals": {
                   "aws:ResourceAccount": "123456789012"
               }
           }
       }
     ]
   }
   ```

------

## Configure o acesso entre contas ao bucket do Amazon S3 criptografado com um pacote personalizado AWS KMS key
<a name="configure-cross-acct-access-kms"></a>

Se você tiver um bucket do Amazon S3 criptografado com uma chave personalizada AWS Key Management Service (AWS KMS), precisará conceder acesso a ele aos usuários da conta do proprietário do bucket.

Para configurar o acesso entre contas ao bucket Amazon S3 criptografado com um bucket personalizado AWS KMS key

1. Na conta do proprietário do bucket, crie uma política de bucket que forneça acesso aos usuários na conta do proprietário do bucket.

   A política de bucket de exemplo a seguir, criada e aplicada ao bucket `s3://amzn-s3-demo-bucket` pelo proprietário do bucket, concede acesso a um usuário na conta `123456789123` do proprietário do bucket. 

------
#### [ JSON ]

****  

   ```
   { 
      "Version":"2012-10-17",		 	 	 
      "Statement": [
       {
           "Sid": "CrossAccountAccess",
           "Effect": "Allow",
           "Principal": {
               "AWS": "arn:aws:iam::123456789012:role/ImportRole"
           },           
           "Action": [
               "s3:ListBucket",
               "s3:GetObject"
           ],
           "Resource": [
               "arn:aws:s3:::amzn-s3-demo-bucket",
               "arn:aws:s3:::amzn-s3-demo-bucket/*"
           ]
        }
      ]
   }
   ```

------

1. Na conta do proprietário do bucket, crie a política de recursos a seguir para permitir que o perfil de importação da conta do usuário seja descriptografado.

   ```
   {
      "Sid": "Allow use of the key by the destination account",
      "Effect": "Allow",
      "Principal": {
      "AWS": "arn:aws:iam::"arn:aws:iam::123456789123:role/ImportRole"
       },
       "Action": [
             "kms:Decrypt",
             "kms:DescribeKey"
       ],
       "Resource": "*"
   }
   ```

1. Na política do usuário Conta da AWS, crie uma política de função de execução de importação. Para `aws:ResourceAccount` especificar o ID da conta do proprietário do bucket Conta da AWS. Além disso, forneça acesso ao AWS KMS key que é usado para criptografar o bucket.

   O exemplo a seguir: política de função de execução de importação na conta do usuário fornece ao ID da conta do proprietário do bucket `111222333444555` acesso ao bucket `s3://amzn-s3-demo-bucket` do Amazon S3 e ao AWS KMS key `arn:aws:kms:us-west-2:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd`

------
#### [ JSON ]

****  

   ```
   { 
       "Version":"2012-10-17",		 	 	 
      "Statement": [
         {
           "Effect": "Allow",
           "Action": [
               "s3:ListBucket",
               "s3:GetObject"
           ],
           "Resource": [
               "arn:aws:s3:::amzn-s3-demo-bucket",
               "arn:aws:s3:::amzn-s3-demo-bucket/*"
           ],
           "Condition": {
               "StringEquals": {
                   "aws:ResourceAccount": "123456789012"
               }
           }
        },
        {
         "Effect": "Allow",
         "Action": [
           "kms:Decrypt",
           "kms:DescribeKey"
         ],
         "Resource": "arn:aws:kms:us-west-2:123456789012:key/111aa2bb-333c-4d44-5555-a111bb2c33dd"
       }
     ]
    }
   ```

------

# Validação de conformidade do Amazon Bedrock
<a name="compliance-validation"></a>

Para saber se um AWS service (Serviço da AWS) está dentro do escopo de programas de conformidade específicos, consulte [Serviços da AWS Escopo por Programa de Conformidade Serviços da AWS](https://aws.amazon.com/compliance/services-in-scope/) e escolha o programa de conformidade em que você está interessado. Para obter informações gerais, consulte Programas de [AWS conformidade Programas AWS](https://aws.amazon.com/compliance/programs/) de .

Você pode baixar relatórios de auditoria de terceiros usando AWS Artifact. Para obter mais informações, consulte [Baixar relatórios em AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html) .

Sua responsabilidade de conformidade ao usar Serviços da AWS é determinada pela confidencialidade de seus dados, pelos objetivos de conformidade de sua empresa e pelas leis e regulamentações aplicáveis. Para obter mais informações sobre sua responsabilidade de conformidade ao usar Serviços da AWS, consulte a [documentação AWS de segurança](https://docs.aws.amazon.com/security/).

# Resposta a incidentes no Amazon Bedrock
<a name="security-incident-response"></a>

A segurança é a maior prioridade na AWS. Como parte do [modelo de responsabilidade compartilhada AWS](https://aws.amazon.com/compliance/shared-responsibility-model) na nuvem, AWS gerencia uma arquitetura de data center, rede e software que atende aos requisitos das organizações mais sensíveis à segurança. AWS é responsável por qualquer resposta a incidentes com relação ao próprio serviço Amazon Bedrock. Além disso, como AWS cliente, você compartilha a responsabilidade de manter a segurança na nuvem. Isso significa que você controla a segurança que escolhe implementar a partir das AWS ferramentas e recursos aos quais tem acesso. Além disso, você é responsável pela resposta a incidentes do seu lado do Modelo de Responsabilidade Compartilhada.

Ao estabelecer uma referência de segurança que atenda aos objetivos de suas aplicações executadas na nuvem, você pode detectar desvios aos quais pode reagir. Para ajudar você a compreender o impacto que a resposta a incidentes e suas escolhas têm em suas metas corporativas, é recomendável analisar os seguintes recursos:
+ [AWS Guia de resposta a incidentes de segurança](https://docs.aws.amazon.com/whitepapers/latest/aws-security-incident-response-guide/welcome.html)
+ [AWS Melhores práticas de segurança, identidade e conformidade](https://aws.amazon.com/architecture/security-identity-compliance)
+ Whitepaper sobre a [perspectiva de segurança do AWS Cloud Adoption Framework (CAF)](https://docs.aws.amazon.com/whitepapers/latest/overview-aws-cloud-adoption-framework/security-perspective.html)

 GuardDutyA [Amazon](https://aws.amazon.com/guardduty/) é um serviço gerenciado de detecção de ameaças que monitora continuamente comportamentos maliciosos ou não autorizados para ajudar os clientes a proteger AWS contas e cargas de trabalho e identificar possíveis atividades suspeitas antes que elas se transformem em um incidente. Ele monitora atividades, como chamadas incomuns de API ou implantações potencialmente não autorizadas, indicando possível comprometimento ou reconhecimento de contas ou recursos por agentes mal-intencionados. Por exemplo, a Amazon GuardDuty é capaz de detectar atividades suspeitas no Amazon Bedrock APIs, como um usuário fazendo login em um novo local e usando o Amazon Bedrock APIs para remover o Amazon Bedrock Guardrails ou alterar o conjunto de buckets do Amazon S3 para dados de treinamento do modelo.

# Resiliência no Amazon Bedrock
<a name="disaster-recovery-resiliency"></a>

A infraestrutura AWS global é construída em torno Regiões da AWS de zonas de disponibilidade. Regiões da AWS fornecem várias zonas de disponibilidade fisicamente separadas e isoladas, conectadas a redes de baixa latência, alta taxa de transferência e alta redundância. Com as zonas de disponibilidade, é possível projetar e operar aplicações e bancos de dados que automaticamente executam o failover entre as zonas sem interrupção. As zonas de disponibilidade são altamente disponíveis, tolerantes a falhas e escaláveis que uma ou várias infraestruturas de data center tradicionais. 

Para obter mais informações sobre zonas de disponibilidade Regiões da AWS e zonas de disponibilidade, consulte [Infraestrutura AWS global](https://aws.amazon.com/about-aws/global-infrastructure/).

# Segurança da infraestrutura no Amazon Bedrock
<a name="infrastructure-security"></a>

Como um serviço gerenciado, o Amazon Bedrock é protegido pela segurança de rede AWS global. Para obter informações sobre serviços AWS de segurança e como AWS proteger a infraestrutura, consulte [AWS Cloud Security](https://aws.amazon.com/security/). Para projetar seu AWS ambiente usando as melhores práticas de segurança de infraestrutura, consulte [Proteção](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) de infraestrutura no *Security Pillar AWS Well‐Architected* Framework.

Você usa chamadas de API AWS publicadas para acessar o Amazon Bedrock pela rede. Os clientes devem oferecer compatibilidade com:
+ Transport Layer Security (TLS). Exigimos TLS 1.2 e recomendamos TLS 1.3.
+ Conjuntos de criptografia com perfect forward secrecy (PFS) como DHE (Ephemeral Diffie-Hellman) ou ECDHE (Ephemeral Elliptic Curve Diffie-Hellman). A maioria dos sistemas modernos, como Java 7 e versões posteriores, comporta esses modos.

Além disso, as solicitações devem ser assinadas usando um ID da chave de acesso e uma chave de acesso secreta associada a uma entidade principal do IAM. Ou você pode usar o [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html) (AWS STS) para gerar credenciais de segurança temporárias para assinar solicitações.

# Prevenção contra o ataque do “substituto confuso” em todos os serviços
<a name="cross-service-confused-deputy-prevention"></a>

“Confused deputy” é um problema de segurança no qual uma entidade sem permissão para executar uma ação pode coagir uma entidade mais privilegiada a executá-la. Em AWS, a falsificação de identidade entre serviços pode resultar no problema confuso do deputado. A personificação entre serviços pode ocorrer quando um serviço (o *serviço de chamada*) chama outro serviço (o *serviço chamado*). O serviço de chamada pode ser manipulado de modo a usar suas permissões para atuar nos recursos de outro cliente de uma forma na qual ele não deveria ter permissão para acessar. Para evitar isso, a AWS fornece ferramentas que ajudam você a proteger seus dados para todos os serviços com entidades principais de serviço que receberam acesso aos recursos em sua conta. 

Recomendamos usar as chaves de contexto de condição global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) e [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) em políticas de recursos para limitar as permissões que o Amazon Bedrock concede a outro serviço para o recurso. Use `aws:SourceArn` se quiser que apenas um recurso seja associado ao acesso entre serviços. Use `aws:SourceAccount` se quiser permitir que qualquer recurso nessa conta seja associado ao uso entre serviços.

A maneira mais eficaz de se proteger contra o problema do substituto confuso é usar a chave de contexto de condição global `aws:SourceArn` com o ARN completo do recurso. Se você não souber o ARN completo do recurso ou especificar vários recursos, use a chave de condição de contexto global `aws:SourceArn` com caracteres curinga (`*`) para as partes desconhecidas do ARN. Por exemplo, .`arn:aws:bedrock:*:123456789012:*` 

Se o valor de `aws:SourceArn` não contiver o ID da conta, como um ARN de bucket do Amazon S3, você deverá usar ambas as chaves de contexto de condição global para limitar as permissões. 

O valor de `aws:SourceArn` deve ser ResourceDescription.

O exemplo a seguir mostra como é possível usar as chaves de contexto de condição globais `aws:SourceArn` e `aws:SourceAccount` no Bedrock para evitar o problema confused deputy.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:bedrock:us-east-1:111122223333:model-customization-job/*"
                }
            }
        }
    ] 
}
```

------

# Análise de configuração e vulnerabilidade no Amazon Bedrock
<a name="vulnerability-analysis-and-management"></a>

A configuração e os controles de TI são uma responsabilidade compartilhada entre você AWS e você, nosso cliente. Para obter mais informações, consulte o [modelo de responsabilidade AWS compartilhada](https://aws.amazon.com/compliance/shared-responsibility-model/).

# Detecção de abuso no Amazon Bedrock
<a name="abuse-detection"></a>

AWS está comprometida com o uso responsável da IA. Para ajudar a evitar possíveis usos indevidos, o Amazon Bedrock implementa mecanismos automatizados de detecção de abuso para identificar possíveis violações da [Política de uso aceitável](https://aws.amazon.com/aup/) (AUP) e dos Termos de Serviço da AWS, incluindo a [Política de IA responsável](https://aws.amazon.com/machine-learning/responsible-ai/policy/) ou a AUP de um provedor de modelos de terceiros.

Nossos mecanismos de detecção de abuso são totalmente automatizados, portanto não há análise humana nem acesso às entradas do usuário ou às saídas do modelo.

A detecção automática de abuso inclui: 
+ **Categorização do conteúdo**: usamos classificadores para detectar conteúdo prejudicial (como conteúdo que incita a violência) nas entradas do usuário e nas saídas do modelo. Um classificador é um algoritmo que processa entradas e saídas do modelo e atribui o tipo de dano e nível de confiança. Podemos executar esses classificadores no uso do modelo Titan quanto de modelos de terceiros. Isso pode incluir modelos ajustados por meio da personalização de modelos do Amazon Bedrock. O processo de classificação é automatizado e não envolve análise humana das entradas ou saídas do usuário modelo.
+ **Identificação de padrões**: usamos métricas de classificadores para identificar possíveis violações e comportamentos recorrentes. Podemos compilar e compartilhar métricas de classificadores anônimas com provedores de modelos de terceiros. O Amazon Bedrock não armazena a entrada do usuário ou a saída do modelo nem as compartilha com provedores de modelos de terceiros.
+ **Detecção e bloqueio de material de abuso sexual infantil (CSAM)**: o cliente (e seus usuários finais) é responsável pelo conteúdo que carrega no Amazon Bedrock e deve garantir que ele esteja livre de imagens ilegais. Para ajudar a impedir a disseminação de CSAM, o Amazon Bedrock pode usar mecanismos automatizados de detecção de abuso (como tecnologia de correspondência de hash ou classificadores) para detectar CSAM aparente. Se o Amazon Bedrock detectar CSAM aparente nas entradas de imagem do cliente, ele bloqueará a solicitação e enviará uma mensagem de erro automática. O Amazon Bedrock também pode registrar uma denúncia no Centro Nacional para Crianças Desaparecidas e Exploradas (NCMEC) ou em uma autoridade relevante. Levamos o CSAM a sério e continuaremos a atualizar nossos mecanismos de detecção, bloqueio e denúncia. De acordo com as leis aplicáveis, o cliente pode ser obrigado a tomar medidas adicionais e é responsável por essas medidas.

Quando nossos mecanismos automatizados de detecção de abuso identificarem possíveis violações, poderemos solicitar ao cliente informações sobre o seu uso do Amazon Bedrock e a sua conformidade com nossos termos de serviço ou com a AUP de provedores de terceiros. Caso você não responda, não queira ou não consiga cumprir estes termos ou políticas, AWS poderá suspender seu acesso ao Amazon Bedrock. Além disso, trabalhos de ajuste fino reprovados estão sujeitos a cobranças se nossos testes automatizados detectarem que as respostas do modelo são inconsistentes com os termos e políticas de licenças de fornecedores de modelos terceiros.

Entre em contato com o AWS Support se tiver mais perguntas. Para obter mais informações, consulte o [Amazon Bedrock FAQs](https://aws.amazon.com/bedrock/faqs/?refid=6f95042b-28fe-493f-8858-601fe99cea89).

# Segurança de injeção de prompt
<a name="prompt-injection"></a>

 De acordo com o [Modelo de Responsabilidade AWS Compartilhada](https://aws.amazon.com/compliance/shared-responsibility-model/), AWS é responsável por proteger a infraestrutura de nuvem subjacente, incluindo hardware, software, rede e instalações que executam AWS serviços. No entanto, os clientes são responsáveis por proteger seus aplicativos, dados e recursos implantados. AWS

No contexto do Amazon Bedrock, AWS lida com a segurança da infraestrutura subjacente, incluindo os data centers físicos, a rede e o próprio serviço Amazon Bedrock. No entanto, a responsabilidade pelo desenvolvimento seguro de aplicações e pela prevenção de vulnerabilidades, como a injeção de prompt, é do cliente. 

A injeção de prompt é uma preocupação de segurança em nível de aplicação, semelhante à injeção de SQL em aplicações de banco de dados. Assim como AWS serviços como o Amazon RDS e o Amazon Aurora fornecem mecanismos de banco de dados seguros, os clientes são responsáveis por impedir a injeção de SQL em seus aplicativos. O Amazon Bedrock fornece uma base segura para o processamento de linguagem natural, mas os clientes devem tomar medidas para evitar vulnerabilidades de injeção de prompt em seu código. Além disso, AWS fornece documentação detalhada, melhores práticas e orientação sobre práticas de codificação segura para o Bedrock e outros AWS serviços. 

Para se proteger contra injeção de prompt e outras vulnerabilidades de segurança ao usar o Amazon Bedrock, os clientes devem seguir estas práticas recomendadas: 
+ **Validação de entrada**: valide e limpe todas as entradas do usuário antes de passá-las para a API ou o tokenizador do Amazon Bedrock. Isso inclui remover ou usar escape de caracteres especiais e garantir que a entrada esteja de acordo com os formatos esperados. 
+ **Práticas de codificação segura**: siga as práticas de codificação segura, como usar consultas parametrizadas, evitar a concatenação de strings de entrada e praticar o princípio de privilégio mínimo ao conceder acesso aos recursos. 
+ **Teste de segurança**: teste regularmente suas aplicações para verificar injeção de prompt e outras vulnerabilidades de segurança usando técnicas, como teste de penetração, análise de código estático e testes dinâmicos de segurança de aplicações (DAST). 
+ **Fique atualizado** — Mantenha seu SDK, bibliotecas e dependências do Amazon Bedrock up-to-date com os patches e atualizações de segurança mais recentes. Monitore boletins e anúncios de AWS segurança para obter atualizações ou orientações relevantes. AWS fornece documentação detalhada, postagens no blog e exemplos de código para ajudar os clientes a criar aplicativos seguros usando o Bedrock e outros AWS serviços. Os clientes devem analisar esses recursos e seguir as melhores práticas recomendadas de segurança para proteger suas aplicações contra injeção de prompt e outras vulnerabilidades. 

Você pode usar uma barreira de proteção do Amazon Bedrock para ajudar a impedir ataques de injeção de prompt. Para obter mais informações, consulte [Detectar ataques de prompt com as Barreiras de Proteção do Amazon Bedrock](guardrails-prompt-attack.md).

Ao criar um agente do Amazon Bedrock, use as técnicas a seguir para ajudar a impedir ataques de injeção de prompt. 
+ Associe uma barreira de proteção ao agente. Para obter mais informações, consulte [Implementar barreiras de proteção em sua aplicação associando uma barreira de proteção ao agente](agents-guardrail.md).
+ Use [prompts avançados](https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html) para habilitar o prompt de pré-processamento padrão. Cada agente tem um prompt de pré-processamento padrão que pode ser habilitado. Esse é um prompt leve que usa um modelo de base para determinar se é seguro processar a entrada do usuário. Você pode usar o comportamento padrão do prompt ou personalizá-lo totalmente para incluir qualquer outra categoria de classificação. Opcionalmente, você pode criar seu próprio analisador de respostas do modelo de base em uma função do [AWS Lambda](https://docs.aws.amazon.com/bedrock/latest/userguide/lambda-parser.html) para implementar regras personalizadas. 

  Para obter mais informações, consulte [Como o Amazon Bedrock Agents funciona](agents-how.md).
+ Atualize o prompt do sistema usando recursos de prompts avançados. Os modelos mais novos diferenciam os prompts do sistema e do usuário. Se você usar prompts do sistema em um agente, recomendamos que defina claramente o escopo do que o agente pode e não pode fazer. Além disso, verifique a documentação do fornecedor do modelo para obter orientações específicas sobre o modelo. Para descobrir quais modelos sem servidor no Amazon Bedrock aceitam prompts do sistema, consulte [Parâmetros de solicitação de inferência e campos de resposta para modelos de base](model-parameters.md). 