View a markdown version of this page

Políticas de recursos para bases de conocimiento gestionadas - Amazon Bedrock

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Políticas de recursos para bases de conocimiento gestionadas

Una política basada en recursos es un documento JSON que se adjunta directamente a una base de conocimientos gestionada. Controla qué directores de IAM pueden realizar acciones en la base de conocimientos, lo que permite casos de uso como el acceso entre cuentas. La política apoya ambas Allow y tiene efectos. Deny

importante

Resource-based las políticas solo se admiten para las bases de conocimiento gestionadas (tipoMANAGED). Las bases de conocimiento vectoriales (tipoVECTOR) no admiten políticas de recursos.

Acciones admitidas

Las siguientes acciones se pueden utilizar en una política de recursos de la base de conocimientos:

Action Description (Descripción)
bedrock:Retrieve Consulte la base de conocimientos y recupere los resultados relevantes de las fuentes de datos.
bedrock:GetDocumentContent Recupere el contenido completo de un documento específico de la fuente de datos de la base de conocimientos.
nota

Control-plane operaciones comoGetKnowledgeBase, UpdateKnowledgeBaseDeleteKnowledgeBase, y las operaciones de administración de fuentes de datos no se pueden utilizar en las políticas de recursos. Estas operaciones deben realizarlas los directores de la cuenta del propietario de la base de conocimientos.

Requisitos de la política de recursos

Las políticas de recursos de la base de conocimientos siguen la sintaxis estándar de las políticas de IAM. Para obtener más información sobre los elementos de la política y la lógica de evaluación, consulte la referencia sobre los elementos de la política JSON de IAM en la Guía del AWS Identity and Access Management usuario.

Se aplican las siguientes restricciones específicas del servicio:

  • Solo bases de conocimiento gestionadas. Las políticas de recursos solo se pueden adjuntar a las bases de conocimiento de este tipoMANAGED. Si se intenta adjuntar una política de recursos a una base VECTOR de conocimientos de tipos, se produce un error.

  • Acciones compatibles. Solo bedrock:Retrieve y se bedrock:GetDocumentContent puede usar en políticas de recursos.

  • No hay caracteres comodín en Recurso o Acción. Debe especificar el ARN completo de la base de conocimientos en el Resource elemento y enumerar de forma explícita cada acción. Estos elementos no admiten caracteres comodín.

Cómo funciona el acceso entre cuentas

Cross-account el acceso permite llamar a los directores de otras AWS cuentas Retrieve y a tu GetDocumentContent base de conocimientos. Para poder acceder al trabajo desde varias cuentas, se deben cumplir las dos condiciones siguientes:

  • El propietario de la base de conocimientos adjunta una política de recursos que permite el acceso a la persona que realiza la llamada.

  • El remitente de la llamada tiene una política basada en la identidad que permite las acciones correspondientes de Amazon Bedrock en el ARN de la base de conocimiento.

Para obtener más información sobre cómo IAM evalúa el acceso entre cuentas, consulte la lógica de evaluación de Cross-account políticas en la Guía del usuario. AWS Identity and Access Management

Ejemplo: conceder acceso a varias cuentas

La siguiente política de recursos otorga a una función de IAM específica en otra cuenta permiso para llamar Retrieve y: 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" } ] }

Otorgar acceso a varios directores

Para conceder acceso a varios roles de consumo, enumere cada ARN de rol en una Principal.AWS matriz:

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

Para conceder acceso a todos los principales de otra cuenta, usa la raíz de la cuenta como principal:

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

Uso de las declaraciones Deny

Las políticas de recursos Allow respaldan ambos Deny efectos. Una disposición explícita Deny en una política de recursos anula cualquier otra política basada Allow en la identidad del director.

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

Administre las políticas de recursos

Para gestionar las políticas de recursos en las bases de conocimiento, el director de IAM del propietario de la base de conocimientos necesita los siguientes permisos:

Action Description (Descripción)
bedrock:PutResourcePolicy Adjunte o actualice una política basada en recursos en una base de conocimientos.
bedrock:GetResourcePolicy Vea la política basada en recursos adjunta a una base de conocimientos.
bedrock:DeleteResourcePolicy Elimine la política basada en recursos de una base de conocimientos.

Ejemplo de política para el propietario de la base de conocimientos

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

Operaciones de API

PutResourcePolicy— Adjunta o reemplaza una política basada en recursos en una base de conocimientos.

PUT /resourcepolicy/{knowledgeBaseArn} HTTP/1.1 Content-Type: application/json { "policy": "{policyDocument}" }

El policy campo es una JSON-escaped cadena que contiene el documento de política.

GetResourcePolicy— Devuelve la política basada en recursos actualmente adjunta a una base de conocimientos.

GET /resourcepolicy/{knowledgeBaseArn} HTTP/1.1

Devuelve un valor ResourceNotFoundException si no hay ninguna política adjunta.

DeleteResourcePolicy— Elimina la política basada en recursos de una base de conocimientos.

DELETE /resourcepolicy/{knowledgeBaseArn} HTTP/1.1

Control de versiones de políticas de recursos

Cuando llamasPutResourcePolicy, la API devuelve una policyRevisionId que representa la versión actual de la política. Si lo desea, puede incluir este identificador de revisión en PutResourcePolicy llamadas posteriores para imponer un bloqueo optimista.

  • Si proporciona un identificador policyRevisionId que coincida con la versión actual, la actualización se realizará correctamente y se devolverá un nuevo identificador de revisión.

  • Si proporciona una policyRevisionId que no coincide con la versión actual (porque otro director actualizó la política entretanto), la llamada fallará y se generará un error de conflicto. Recupera la política actual, fusiona los cambios y vuelve a intentarlo.

  • Si las omitepolicyRevisionId, la política se sustituirá incondicionalmente, independientemente de cualquier modificación simultánea.

Utilice el identificador de revisión cuando varios administradores o sistemas de automatización puedan actualizar la misma política de la base de conocimientos de forma simultánea, a fin de evitar sobrescrituras accidentales.

Configure la cuenta de consumidor

En la cuenta consumidora, adjunte una política basada en la identidad al director que necesite acceder a la base de conocimientos compartida. La política debe permitir las acciones correspondientes de Amazon Bedrock en el ARN de la base de conocimiento de la cuenta del propietario.

Ejemplo de política basada en la identidad

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