

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

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