View a markdown version of this page

Aplicación del uso de barreras de protección específicas en solicitudes de inferencia de modelos - 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.

Aplicación del uso de barreras de protección específicas en solicitudes de inferencia de modelos

Puede imponer el uso de una barrera de protección específica para la inferencia de modelos incluyendo la clave de condición bedrock:GuardrailIdentifier en su política de IAM. Esto le permite denegar cualquier solicitud de API de inferencia que no incluya la barrera de protección configurada en su política de IAM.

Puede aplicar esta aplicación para la siguiente inferencia APIs:

A continuación, se incluyen ejemplos de algunas formas de utilizar la clave de condición bedrock:GuardrailIdentifier.

Ejemplo 1: Aplicación del uso de una barrera de protección específica y su versión numérica

Utilice la siguiente política para imponer el uso de una barrera de protección específica (guardrail-id) y su versión numérica 1 durante la inferencia del modelo.

Esta denegación explícita impide que el usuario realice las acciones enumeradas con cualquier otro GuardrailIdentifier y versión de la barrera de protección, independientemente de los demás permisos que tenga el usuario.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "InvokeFoundationModelStatement1", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:us-east-1::foundation-model/*" ], "Condition": { "StringEquals": { "bedrock:GuardrailIdentifier": "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-id:1" } } }, { "Sid": "InvokeFoundationModelStatement2", "Effect": "Deny", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:us-east-1::foundation-model/*" ], "Condition": { "StringNotEquals": { "bedrock:GuardrailIdentifier": "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-id:1" } } }, { "Sid": "ApplyGuardrail", "Effect": "Allow", "Action": [ "bedrock:ApplyGuardrail" ], "Resource": [ "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-id" ] } ] }
Ejemplo 2: Aplicación del uso de una barrera de protección específica y su versión DRAFT

Utilice la siguiente política para imponer el uso de una barrera de protección específica (guardrail-id) y su versión DRAFT durante la inferencia del modelo.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "InvokeFoundationModelStatement1", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:us-east-1::foundation-model/*" ], "Condition": { "StringEquals": { "bedrock:GuardrailIdentifier": "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-id" } } }, { "Sid": "InvokeFoundationModelStatement2", "Effect": "Deny", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:us-east-1::foundation-model/*" ], "Condition": { "StringNotEquals": { "bedrock:GuardrailIdentifier": "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-id" } } }, { "Sid": "ApplyGuardrail", "Effect": "Allow", "Action": [ "bedrock:ApplyGuardrail" ], "Resource": [ "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-id" ] } ] }
Ejemplo 3: Aplicación del uso de una barrera de protección específica y cualquiera de sus versiones numéricas

Utilice la siguiente política para imponer el uso de una barrera de protección específica (guardrail-id) y cualquiera de sus versiones numéricas durante la inferencia del modelo.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "InvokeFoundationModelStatement1", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:us-east-1::foundation-model/*" ], "Condition": { "ArnLike": { "bedrock:GuardrailIdentifier": "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-id:*" } } }, { "Sid": "InvokeFoundationModelStatement2", "Effect": "Deny", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:us-east-1::foundation-model/*" ], "Condition": { "ArnNotLike": { "bedrock:GuardrailIdentifier": "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-id:*" } } }, { "Sid": "ApplyGuardrail", "Effect": "Allow", "Action": [ "bedrock:ApplyGuardrail" ], "Resource": [ "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-id" ] } ] }
Ejemplo 4: Aplicación del uso de una barrera de protección específica y cualquiera de sus versiones

Utilice la siguiente política para imponer el uso de una barrera de protección específica (guardrail-id) y cualquiera de sus versiones numéricas (incluida la versión DRAFT) durante la inferencia del modelo.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "InvokeFoundationModelStatement1", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:us-east-1::foundation-model/*" ], "Condition": { "ArnLike": { "bedrock:GuardrailIdentifier": "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-id*" } } }, { "Sid": "InvokeFoundationModelStatement2", "Effect": "Deny", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:us-east-1::foundation-model/*" ], "Condition": { "ArnNotLike": { "bedrock:GuardrailIdentifier": "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-id*" } } }, { "Sid": "ApplyGuardrail", "Effect": "Allow", "Action": [ "bedrock:ApplyGuardrail" ], "Resource": [ "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-id" ] } ] }
Ejemplo 5: Aplicación del uso de pares de barrera de protección específica y versión

Utilice la siguiente política para permitir la inferencia de modelos únicamente para un conjunto de barreras de protección y sus versiones respectivas.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "InvokeFoundationModelStatement1", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:us-east-1::foundation-model/*" ], "Condition": { "StringEquals": { "bedrock:GuardrailIdentifier": [ "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-1-id:1", "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-2-id:2", "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-3-id" ] } } }, { "Sid": "InvokeFoundationModelStatement2", "Effect": "Deny", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:us-east-1::foundation-model/*" ], "Condition": { "StringNotEquals": { "bedrock:GuardrailIdentifier": [ "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-1-id:1", "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-2-id:2", "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-3-id" ] } } }, { "Sid": "ApplyGuardrail", "Effect": "Allow", "Action": [ "bedrock:ApplyGuardrail" ], "Resource": [ "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-1-id", "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-2-id", "arn:aws:bedrock:us-east-1:123456789012:guardrail/guardrail-3-id" ] } ] }
Limitaciones

Si un usuario asume un rol de IAM que tiene una barrera de protección específica configurada mediante la clave de condición bedrock:GuardrailIdentifier:

  • Un usuario no debe usar el mismo rol con permisos adicionales para invocar a Bedrock APIs RetrieveAndGenerate y InvokeAgent realizar InvokeModel llamadas en nombre del usuario. Esto puede provocar errores de acceso denegado incluso cuando la barrera de protección esté especificada en la solicitud, ya que RetrieveAndGenerate e InvokeAgent hacen múltiples llamadas a InvokeModel y algunas de estas llamadas no incluyen una barrera de protección.

  • Un usuario puede omitir la aplicación de una barrera de protección en su petición mediante el uso de etiquetas de entrada de barrera de protección. Sin embargo, la barrera de protección siempre se aplica a la respuesta.

  • Dado que Barreras de protección para Amazon Bedrock no admite actualmente políticas basadas en recursos para el acceso entre cuentas, su barrera de protección debe estar en la misma Cuenta de AWS que el rol de IAM que realiza la solicitud.