

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Crie uma função de serviço para as bases de conhecimento gerenciadas da Amazon Bedrock
<a name="kb-managed-permissions"></a>

Para usar uma função personalizada para uma base de conhecimento gerenciada em vez da que a Amazon Bedrock cria automaticamente, crie uma função do IAM e anexe as seguintes permissões 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) 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ê configurar um destino de armazenamento multimodal) Acesso ao seu balde de armazenamento multimodal

**Topics**
+ [Relação de confiança](#kb-managed-permissions-trust)
+ [Permissões para acessar os modelos do Amazon Bedrock](#kb-managed-permissions-access-models)
+ [Permissões para seu destino de armazenamento multimodal](#kb-managed-permissions-multimodal-storage)
+ [Permissões para acessar as fontes de dados](#kb-managed-permissions-access-ds)

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

A política a seguir permite que o Amazon Bedrock assuma esse perfil e crie e gerencie bases de conhecimento. É 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](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 {{\*}} por IDs de base de conhecimento específicos 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-managed-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"
            ]
        }
    ]
}
```

------

Se você usa o modelo de TwelveLabs Marengo Embed 3.0 incorporação, a base de conhecimento invoca o modelo de forma síncrona e assíncrona, portanto, a função precisa de permissões para ambos. Anexe as seguintes declarações, substituindo {{${Region}}} e {{${AccountId}}} com o ID da conta Região da AWS e da sua base de conhecimento e {{${InferenceProfileId}}} com o ID do perfil de inferência que você usa. O `foundation-model` ARN usa `*` para a região em vez de uma região específica. Isso é necessário porque um perfil de inferência entre regiões pode rotear a invocação do modelo para o modelo básico subjacente em qualquer um de seus membros. Regiões da AWS

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "BedrockInvokeModelStatement",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:*::foundation-model/twelvelabs.marengo-embed-3-0-v1:0",
                "arn:aws:bedrock:{{${Region}}}:{{${AccountId}}}:inference-profile/{{${InferenceProfileId}}}",
                "arn:aws:bedrock:{{${Region}}}:{{${AccountId}}}:async-invoke/*"
            ]
        },
        {
            "Sid": "BedrockGetAsyncInvokeStatement",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetAsyncInvoke"
            ],
            "Resource": [
                "arn:aws:bedrock:{{${Region}}}:{{${AccountId}}}:async-invoke/*"
            ]
        }
    ]
}
```

**nota**  
A política anterior inclui um perfil de [ inferência ](inference-profiles-support.md) ARN porque em algumas Regiões da AWS você deve especificar um perfil de inferência para o TwelveLabs Marengo Embed 3.0 modelo ao criar a base de conhecimento. Nessas regiões, a base de conhecimento usa o perfil de inferência e o modelo sob demanda, portanto, a função precisa ter acesso a ambos. Se você não usar um perfil de inferência, poderá omitir o ARN do perfil de inferência da lista. `Resource`  
Para determinar se a região que você usa exige um perfil de inferência, consulte[Processamento multimodal nativo](kb-managed-native-multimodal.md).

## Permissões para seu destino de armazenamento multimodal
<a name="kb-managed-permissions-multimodal-storage"></a>

O destino do armazenamento multimodal é o bucket do Amazon S3 que é usado para processar e ingerir conteúdo multimodal em sua base de conhecimento. O Amazon Bedrock Knowledge Bases cria uma pasta de `aws/` prefixo dentro do seu bucket para facilitar o acesso.

Anexe a política a seguir para fornecer permissões para que a função leia, grave e exclua esse conteúdo. {{amzn-s3-demo-bucket}}Substitua pelo nome do seu balde de armazenamento multimodal.

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

## Permissões para acessar as fontes de dados
<a name="kb-managed-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-managed-permissions-access-s3)
+ [Permissões para acessar as fontes de dados do Confluence](#kb-managed-permissions-access-confluence)
+ [Permissões para acessar sua fonte de SharePoint dados da Microsoft](#kb-managed-permissions-access-sharepoint)
+ [Permissões para acessar sua fonte de dados do Web Crawler](#kb-managed-permissions-access-webcrawler)
+ [Permissões para acessar sua fonte de OneDrive dados da Microsoft](#kb-managed-permissions-access-onedrive)
+ [Permissões para acessar sua fonte de dados do Google Drive](#kb-managed-permissions-access-googledrive)

### Permissões para acessar as fontes de dados no Amazon S3
<a name="kb-managed-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 seu 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-managed-permissions-access-confluence"></a>

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

**nota**  
`secretsmanager:PutSecretValue` só será necessário se você usar a autenticação OAuth 2.0 com um token de atualização.  
O ** token de OAuth2.0 ** acesso do Confluence 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 do trabalho de sincronização atual para o próximo trabalho de sincronização, o Amazon Bedrock exige write/put permissões para suas credenciais secretas.

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

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

Anexe a política a seguir para fornecer permissões para que a função acesse a Microsoft SharePoint.

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

**nota**  
Se você usar a autenticação baseada em certificado (X.509) e armazenar seu certificado em um bucket do Amazon S3, também deverá conceder `s3:GetObject` permissão à função de serviço do bucket e da chave em que o arquivo do certificado (.pfx ou .pem) está armazenado. O exemplo a seguir mostra a declaração de política adicional necessária:  

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "s3:GetObject"
        ],
        "Resource": [
            "arn:aws:s3:::{{${CertificateBucketName}}}/{{${CertificateKeyPath}}}"
        ]
    }]
}
```

### Permissões para acessar sua fonte de dados do Web Crawler
<a name="kb-managed-permissions-access-webcrawler"></a>

Anexe a política a seguir para fornecer permissões para que a função acesse sites por meio do Web Crawler. Se seu site exigir autenticação, inclua permissões para acessar o AWS Secrets Manager segredo que armazena suas credenciais.

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

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

Anexe a política a seguir para fornecer permissões para que a função acesse a Microsoft OneDrive.

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

### Permissões para acessar sua fonte de dados do Google Drive
<a name="kb-managed-permissions-access-googledrive"></a>

Anexe a política a seguir para fornecer permissões para que a função acesse o Google Drive.

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