View a markdown version of this page

So erzwingen Sie die Verwendung bestimmter Integritätsschutzmethoden in Modellinferenzanfragen - Amazon Bedrock

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

So erzwingen Sie die Verwendung bestimmter Integritätsschutzmethoden in Modellinferenzanfragen

Sie können die Verwendung eines bestimmten Integritätsschutzes für Modellinferenzen erzwingen, indem Sie den bedrock:GuardrailIdentifier-Bedingungsschlüssel in Ihre IAM-Richtlinie aufnehmen. Auf diese Weise können Sie jede Inferenz-API-Anfrage ablehnen, die nicht den in Ihrer IAM-Richtlinie konfigurierten Integritätsschutz enthält.

Sie können diese Durchsetzung auf die folgenden Folgerungen anwenden: APIs

In den folgenden Beispielen sehen Sie einige Möglichkeiten für die Verwendung des bedrock:GuardrailIdentifier-Bedingungsschlüssels.

Beispiel 1: So erzwingen Sie die Verwendung eines bestimmten Integritätsschutzes und dessen numerischer Version

Verwenden Sie die folgende Richtlinie, um die Verwendung eines bestimmten Integritätsschutzes (guardrail-id) und dessen numerischen Version 1 während der Modellinferenz zu erzwingen.

Die explizite Verweigerung verhindert, dass die Benutzeranfrage die aufgelisteten Aktionen mit irgendeiner anderen GuardrailIdentifier und Integritätsschutzversion aufruft, unabhängig davon, welche anderen Berechtigungen der Benutzer gegebenenfalls hat.

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" ] } ] }
Beispiel 2: So erzwingen Sie die Verwendung eines bestimmten Integritätsschutzes und dessen DRAFT-Version

Verwenden Sie die folgende Richtlinie, um die Verwendung eines bestimmten Integritätsschutzes (guardrail-id) und dessen DRAFT-Version während der Modellinferenz zu erzwingen.

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" ] } ] }
Beispiel 3: So erzwingen Sie die Verwendung eines bestimmten Integritätsschutzes und dessen numerischen Versionen

Verwenden Sie die folgende Richtlinie, um die Verwendung eines bestimmten Integritätsschutzes (guardrail-id) und einer seiner numerischen Versionen während der Modellinferenz zu erzwingen.

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" ] } ] }
Beispiel 4: So erzwingen Sie die Verwendung eines bestimmten Integritätsschutzes und einer seiner Versionen

Verwenden Sie die folgende Richtlinie, um die Verwendung eines bestimmten Integritätsschutzes (guardrail-id) und einer seiner numerischen Versionen (einschließlich der DRAFT-Version) während der Modellinferenz zu erzwingen.

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" ] } ] }
Beispiel 5: So erzwingen Sie die Verwendung bestimmter Integritätsschutz- und Versionspaare

Verwenden Sie die folgende Richtlinie, um Modellinferenzen lediglich für einen bestimmten Satz von Integritätsschutzmethoden und deren jeweiligen Versionen zuzulassen.

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" ] } ] }
Einschränkungen

Wenn ein Benutzer eine IAM-Rolle annimmt, für die ein bestimmter Integritätsschutz mithilfe des bedrock:GuardrailIdentifier-Bedingungsschlüssels konfiguriert wurde:

  • Ein Benutzer sollte nicht dieselbe Rolle mit zusätzlichen Rechten verwenden, um Bedrock aufzurufenInvokeAgent, APIs wie RetrieveAndGenerate er im Namen des Benutzers InvokeModel Anrufe tätigt. Dies kann zu Fehlern wie der Zugriffsverweigerung, selbst wenn der Integritätsschutz in der Anfrage angegeben ist, weil RetrieveAndGenerate und InvokeAgent mehrere InvokeModel-Aufrufe tätigen und einige dieser Aufrufe keinen Integritätsschutz enthalten.

  • Ein Benutzer kann das Hinzufügen eines Integritätsschutzes in seinem Prompt umgehen, indem er Integritätsschutzeingabe-Tags verwendet. Der Integritätsschutz wird jedoch immer auf die Antwort angewendet.

  • Da Integritätsschutz für Amazon Bedrock derzeit keine ressourcenbasierten Richtlinien für den kontoübergreifenden Zugriff unterstützt, muss Ihr Integritätsschutz in demselben AWS-Konto wie die anfordernde IAM-Rolle befinden.