

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Politiche relative alle risorse per basi di conoscenza gestite
<a name="kb-managed-cross-account"></a>

Una policy basata sulle risorse è un documento JSON che viene allegato direttamente a una knowledge base gestita. Controlla quali presidi IAM possono eseguire azioni sulla knowledge base, abilitando casi d'uso come l'accesso tra più account. La policy supporta entrambi gli effetti`Allow`. `Deny`

**Importante**  
Resource-based le politiche sono supportate solo per le basi di conoscenza gestite (tipo`MANAGED`). Le knowledge base vettoriali (tipo`VECTOR`) non supportano le politiche relative alle risorse.

## Azioni supportate
<a name="kb-managed-cross-account-supported-actions"></a>

Le seguenti azioni possono essere utilizzate in una politica delle risorse della Knowledge Base:


****  

| Azione | Description | 
| --- | --- | 
| bedrock:Retrieve | Interroga la knowledge base e recupera i risultati pertinenti dalle fonti di dati. | 
| bedrock:GetDocumentContent | Recupera il contenuto completo di un documento specifico dalla fonte di dati della knowledge base. | 

**Nota**  
Control-plane operazioni come`GetKnowledgeBase`, `UpdateKnowledgeBase``DeleteKnowledgeBase`, e le operazioni di gestione delle fonti di dati non possono essere utilizzate nelle politiche delle risorse. Queste operazioni devono essere eseguite dai responsabili dell'account del proprietario della Knowledge Base.

## Requisiti della politica delle risorse
<a name="kb-managed-cross-account-resource-policy"></a>

Le politiche relative alle risorse della Knowledge Base seguono la sintassi standard delle policy IAM. Per i dettagli sugli elementi delle policy e sulla logica di valutazione, consulta il [riferimento agli elementi delle policy IAM JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) nella Guida per l'*AWS Identity and Access Management utente*.

Si applicano i seguenti vincoli specifici del servizio:
+ **Solo basi di conoscenza gestite.** Le politiche relative alle risorse possono essere allegate solo a basi di conoscenza di tipo specifico`MANAGED`. Il tentativo di allegare una politica delle risorse a una knowledge base dei `VECTOR` tipi restituisce un errore.
+ **Azioni supportate.** Utilizzabile solo `bedrock:Retrieve` e `bedrock:GetDocumentContent` può essere utilizzato nelle politiche relative alle risorse.
+ **Nessun carattere jolly in Resource o Action.** È necessario specificare l'ARN completo della knowledge base nell'`Resource`elemento ed elencare esplicitamente ogni azione. I caratteri jolly non sono supportati in questi elementi.

## Come funziona l'accesso tra più account
<a name="kb-managed-cross-account-how-it-works"></a>

Cross-account access consente ai responsabili di altri AWS account `Retrieve` e `GetDocumentContent` di accedere alla tua Knowledge Base. Per l'accesso al lavoro da più account, devono essere soddisfatte entrambe le seguenti condizioni:
+ Il proprietario della knowledge base stabilisce una politica delle risorse che concede l'accesso al principale chiamante.
+ Il mittente chiamante ha una policy basata sull'identità che consente le azioni Amazon Bedrock corrispondenti sulla knowledge base ARN.

Per ulteriori informazioni su come IAM valuta l'accesso tra account diversi, consulta la logica di valutazione delle [Cross-account policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic-cross-account.html) nella Guida per l'utente. AWS Identity and Access Management 

**Esempio: concedere l'accesso a più account**

La seguente politica in materia di risorse concede a un ruolo IAM specifico in un altro account l'autorizzazione a chiamare `Retrieve` e: `GetDocumentContent`

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowCrossAccountRetrieve",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{CONSUMER_ACCOUNT_ID}}:role/{{service-role-name}}"
            },
            "Action": [
                "bedrock:Retrieve",
                "bedrock:GetDocumentContent"
            ],
            "Resource": "arn:aws:bedrock:{{REGION}}:{{OWNER_ACCOUNT_ID}}:knowledge-base/{{KB_ID}}"
        }
    ]
}
```

**Concessione dell'accesso a più presidi**

Per concedere l'accesso a più ruoli di utilizzo, elenca ogni ruolo ARN in un `Principal.AWS` array:

```
"Principal": {
    "AWS": [
        "arn:aws:iam::{{ACCOUNT_ID_1}}:role/{{role-name-1}}",
        "arn:aws:iam::{{ACCOUNT_ID_2}}:role/{{role-name-2}}"
    ]
}
```

Per concedere l'accesso a tutti i principali di un altro account, usa l'account root come principale:

```
"Principal": {
    "AWS": "arn:aws:iam::{{CONSUMER_ACCOUNT_ID}}:root"
}
```

## Utilizzo delle dichiarazioni Deny
<a name="kb-managed-cross-account-deny"></a>

Le politiche relative alle risorse supportano entrambi `Allow` gli `Deny` effetti. Una politica esplicita `Deny` in una politica delle risorse ha la precedenza su qualsiasi `Allow` politica basata sull'identità del principale.

```
{
    "Sid": "DenySpecificPrincipals",
    "Effect": "Deny",
    "Principal": {
        "AWS": "arn:aws:iam::{{ACCOUNT_ID}}:role/{{role-name}}"
    },
    "Action": [
        "bedrock:Retrieve",
        "bedrock:GetDocumentContent"
    ],
    "Resource": "arn:aws:bedrock:{{REGION}}:{{OWNER_ACCOUNT_ID}}:knowledge-base/{{KB_ID}}"
}
```

## Gestisci le politiche relative alle risorse
<a name="kb-managed-cross-account-manage-policies"></a>

Per gestire le politiche relative alle risorse nelle knowledge base, il responsabile IAM del proprietario della knowledge base necessita delle seguenti autorizzazioni:


****  

| Azione | Description | 
| --- | --- | 
| bedrock:PutResourcePolicy | Allega o aggiorna una policy basata sulle risorse su una knowledge base. | 
| bedrock:GetResourcePolicy | Visualizza la politica basata sulle risorse allegata a una knowledge base. | 
| bedrock:DeleteResourcePolicy | Rimuovi la politica basata sulle risorse da una knowledge base. | 

**Esempio di politica per il proprietario della knowledge base**

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:PutResourcePolicy",
                "bedrock:GetResourcePolicy",
                "bedrock:DeleteResourcePolicy"
            ],
            "Resource": "arn:aws:bedrock:{{REGION}}:{{ACCOUNT_ID}}:knowledge-base/{{KB_ID}}"
        }
    ]
}
```

**Operazioni API**

**PutResourcePolicy**— Allega o sostituisce una politica basata sulle risorse su una knowledge base.

```
PUT /resourcepolicy/{{{knowledgeBaseArn}}} HTTP/1.1
Content-Type: application/json

{
    "policy": "{{{policyDocument}}}"
}
```

Il `policy` campo è una JSON-escaped stringa contenente il documento di policy.

**GetResourcePolicy**— Restituisce la politica basata sulle risorse attualmente allegata a una knowledge base.

```
GET /resourcepolicy/{{{knowledgeBaseArn}}} HTTP/1.1
```

Restituisce un valore `ResourceNotFoundException` se non è allegata alcuna politica.

**DeleteResourcePolicy**— Rimuove la policy basata sulle risorse da una knowledge base.

```
DELETE /resourcepolicy/{{{knowledgeBaseArn}}} HTTP/1.1
```

## Controllo delle versioni della politica delle risorse
<a name="kb-managed-cross-account-version-parameter"></a>

Quando si chiama`PutResourcePolicy`, l'API restituisce un `policyRevisionId` messaggio che rappresenta la versione corrente della politica. Facoltativamente, puoi includere questo ID di revisione nelle `PutResourcePolicy` chiamate successive per applicare il blocco ottimistico.
+ Se fornite un codice `policyRevisionId` che corrisponde alla versione corrente, l'aggiornamento ha esito positivo e viene restituito un nuovo ID di revisione.
+ Se fornite un messaggio `policyRevisionId` che non corrisponde alla versione corrente (perché nel frattempo un altro principale ha aggiornato la politica), la chiamata fallisce e causa un errore di conflitto. Recupera la politica corrente, unisci le modifiche e riprova.
+ Se si omette la`policyRevisionId`, la politica viene sostituita incondizionatamente indipendentemente da eventuali modifiche concomitanti.

Utilizza l'ID di revisione quando più amministratori o sistemi di automazione possono aggiornare contemporaneamente la stessa policy della Knowledge Base, per evitare sovrascritture accidentali.

## Configura l'account consumatore
<a name="kb-managed-cross-account-identity-policy"></a>

Nell'account di consumo, allega una politica basata sull'identità al principale che deve accedere alla base di conoscenze condivisa. La policy deve consentire le azioni corrispondenti di Amazon Bedrock sull'ARN della knowledge base nell'account del proprietario.

**Esempio di politica basata sull'identità**

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve",
                "bedrock:GetDocumentContent"
            ],
            "Resource": "arn:aws:bedrock:{{REGION}}:{{OWNER_ACCOUNT_ID}}:knowledge-base/{{KB_ID}}"
        }
    ]
}
```