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á.
Impor o uso de barreiras de proteção específicas em solicitações de inferência do modelo
Você pode impor o uso de uma barreira de proteção específica para inferência do modelo incluindo a chave de condição bedrock:GuardrailIdentifier na sua política do IAM. Isso permite que você negue qualquer solicitação de API de inferência que não inclua a barreira de proteção configurada na sua política do IAM.
Você pode aplicar essa imposição para a seguinte inferência APIs:
Os exemplos a seguir são algumas das maneiras pelas quais você pode usar a chave de condição bedrock:GuardrailIdentifier.
- Exemplo 1: impor o uso de uma barreira de proteção específica e a respectiva versão numérica
-
Use a política a seguir para impor o uso de uma barreira de proteção específico (guardrail-id) e a versão numérica 1 durante a inferência do modelo.
A negação explícita impede que a solicitação do usuário chame as ações listadas com qualquer outro GuardrailIdentifier ou versão de barreira de proteção, independentemente de outras permissões que ele possa ter.
- 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"
]
}
]
}
- Exemplo 2: impor o uso de uma barreira de proteção específica e a respectiva versão DRAFT
-
Use a política a seguir para impor o uso de uma barreira de proteção específica (guardrail-id) e a versão DRAFT durante a inferência do 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"
]
}
]
}
- Exemplo 3: impor o uso de uma barreira de proteção específica e de qualquer uma das respectivas versões numéricas
-
Use a política a seguir para impor o uso de uma barreira de proteção específica (guardrail-id) e qualquer uma das versões numéricas durante a inferência do 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"
]
}
]
}
- Exemplo 4: impor o uso de uma barreira de proteção específica e de qualquer uma das respectivas versões
-
Use a política a seguir para impor o uso de uma barreira de proteção específica (guardrail-id) e qualquer uma das respectivas versões numéricas (inclusive a versão DRAFT) durante a inferência do 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"
]
}
]
}
- Exemplo 5: impor o uso de uma barreira de proteção específica e de pares de versão
-
Use a política a seguir para permitir inferência do modelo somente para um conjunto de barreiras de proteção e as respectivas versões.
- 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"
]
}
]
}
- Limitações
-
Se um usuário assumir um perfil do IAM que tem uma barreira de proteção específica configurada usando a chave de condição bedrock:GuardrailIdentifier:
-
Um usuário não deve usar a mesma função com permissões adicionais para invocar o Bedrock APIs like RetrieveAndGenerate e InvokeAgent fazer InvokeModel chamadas em nome do usuário. Isso pode provocar erros de acesso negado, mesmo quando a barreira de proteção é especificada na solicitação, porque RetrieveAndGenerate e InvokeAgent fazem várias chamadas InvokeModel e algumas dessas chamadas não incluem uma barreira de proteção.
-
Um usuário pode ignorar a aplicação de uma barreira de proteção no prompt dele usando tags de entrada de barreira de proteção. No entanto, a barreira de proteção é sempre aplicada na resposta.
-
Como no momento as Barreiras de Proteção do Amazon Bedrock não permitem políticas baseadas em recursos para acesso entre contas, sua barreira de proteção deve estar na mesma Conta da AWS que o perfil do IAM que está fazendo a solicitação.