Dieses Dokument dient nur zu Informationszwecken. Es stellt die aktuellen Produktangebote und -praktiken von Amazon Web Services (AWS) zum Zeitpunkt der Veröffentlichung dieses Dokuments dar, die sich ohne vorherige Ankündigung ändern können. Kunden sind dafür verantwortlich, die Informationen in diesem Dokument und die Nutzung von AWS-Produkten oder -Services, die jeweils „wie sie sind“ und ohne jegliche ausdrückliche oder stillschweigende Garantie bereitgestellt werden, selbst zu beurteilen. Dieses Dokument stellt keine Garantien, Zusicherungen, vertraglichen Verpflichtungen, Bedingungen oder Zusicherungen von AWS, seinen verbundenen Unternehmen, Lieferanten oder Lizenzgebern dar. Die Verantwortlichkeiten und Verbindlichkeiten von AWS gegenüber seinen Kunden werden durch AWS-Verträge geregelt, und dieses Dokument ist weder Teil einer Vereinbarung zwischen AWS und seinen Kunden noch ändert es diese.
© 2024 Amazon Web Services, Inc. oder seine Tochtergesellschaften. Alle Rechte vorbehalten. Dieses Werk ist unter einer Creative Commons Attribution 4.0 International License lizenziert.
Dieser AWS-Inhalt wird gemäß den Bedingungen der AWS-Kundenvereinbarung bereitgestellt, die unter http://aws.amazon.com/agreement verfügbar ist, oder einer anderen schriftlichen Vereinbarung zwischen dem Kunden und Amazon Web Services, Inc. oder Amazon Web Services EMEA SARL oder beiden.
Autor: Name des Autors
Genehmiger: Name des Genehmigers
Letztes Genehmigungsdatum:
Im Rahmen unseres kontinuierlichen Engagements für Kunden bietet AWS dies Playbook zur Reaktion auf Sicherheitsvorfälle, in dem die erforderlichen Schritte beschrieben werden untersuchen Sie Sicherheitsereignisse, bei denen Amazon Bedrock entweder die Quelle oder das Ziel einer unbefugten Nutzung Ihrer AWS-Konten ist. Der Zweck dieses Dokuments besteht darin, verbindliche Hinweise zu den Maßnahmen zu geben, die zu ergreifen sind, wenn Sie den Verdacht haben, dass ein Sicherheitsvorfall stattgefunden hat.
! [Bild] (/images/nist_life_cycle.png)
Aspekte der AWS-Reaktion auf Vorfall
Um Maßnahmen zur Reaktion auf Vorfälle schnell und effektiv durchführen zu können, ist es von entscheidender Bedeutung, die Mitarbeiter, Prozesse und Technologien in Ihrem Unternehmen darauf vorzubereiten. Lesen Sie den [AWS Security Incident Response Guide] (https://docs.aws.amazon.com/whitepapers/latest/aws-security-incident-response-guide/preparation.html) und implementieren Sie die erforderlichen Schritte, um sicherzustellen, dass alle drei Domänen darauf vorbereitet sind.
Es ist wichtig, dass Sie AWS benachrichtigen, sobald Sie vermuten, dass Ihre Anmeldeinformationen in Ihrem AWS-Konto oder Ihrer Organisation kompromittiert wurden. Gehen Sie wie folgt vor, um den AWS-Support in Anspruch zu nehmen:
-
Melden Sie sich bei Ihrem AWS-Konto an:
-
Dies ist das erste AWS-Konto, das von dem Sicherheitsereignis betroffen war, um die Inhaberschaft eines AWS-Kontos zu bestätigen.
-
Hinweis: Wenn Sie nicht auf das Konto zugreifen können, verwenden Sie [dieses Formular] (https://support.aws.amazon.com/#/contacts/aws-account-support/), um eine Support-Anfrage einzureichen.
-
Wählen Sie „Services“, „Support Center“, „Fall erstellen“ aus.
-
Wählen Sie den Problemtyp „*Konto und Abrechnung“ *.
-
Wählen Sie den betroffenen Service und die Kategorie aus:
-
Beispiel:
-
Service: Konto
-
Kategorie: Sicherheit
-
Wählen Sie einen Schweregrad:
-
Enterprise Support- oder On-Ramp-Kunden: Frage zu kritischem Geschäftsrisiko.
-
Business-Support-Kunden: Dringende Frage zum Geschäftsrisiko.
-
Beschreiben Sie Ihre Frage oder Ihr Problem:
-
Beschreiben Sie ausführlich das aufgetretene Sicherheitsproblem, die betroffenen Ressourcen und die Auswirkungen auf Ihr Unternehmen. — Zeitpunkt, zu dem das Sicherheitsereignis zum ersten Mal erkannt wurde. — Zusammenfassung des bisherigen Ablaufs des Ereignisses.
-
Artefakte, die du gesammelt hast (Screenshots, Logdateien). — ARN von IAM-Benutzern oder -Rollen, von denen Sie vermuten, dass sie gefährdet sind.
-
Beschreibung der betroffenen Ressourcen und der Auswirkungen auf das Geschäft.
-
Grad des Engagements in Ihrem Unternehmen (z. B.: „Dieses Sicherheitsereignis ist für den CEO und den Vorstand sichtbar“).
-
Optional: Fügen Sie weitere Ansprechpartner für den Fall hinzu.
-
Wählen Sie „Kontaktieren Sie uns“.
-
Bevorzugte Kontaktsprache (möglicherweise je nach Verfügbarkeit)
-
Bevorzugte Kontaktmethode: Internet, Telefon oder Chat (empfohlen)
-
Optional: Zusätzliche Ansprechpartner für den Fall
-
*Klicken Sie auf „Senden“ *
-
Eskalationen: Bitte benachrichtigen Sie Ihr AWS-Kundenbetreuungsteam so schnell wie möglich, damit es die erforderlichen Ressourcen einsetzen und bei Bedarf eskalieren kann.
**Hinweis: ** Es ist sehr wichtig, dass Sie überprüfen, ob Ihr „Alternativer Sicherheitskontakt“ für jedes AWS-Konto definiert ist. Weitere Informationen finden Sie unter [diesem Artikel] (https://aws.amazon.com/blogs/security/update-the-alternate-security-contact-across-your-aws-accounts-for-timely-security-notifications/).
Amazon Bedrock ist durch mehrere Komponenten/Dienste beeinträchtigt:
- Modelle — können entweder Basismodelle von führenden KI-Startups oder kundenspezifische Modelle sein
- Inferenz — der Prozess der Generierung eines Outputs aus einer Eingabe, die für ein Modell bereitgestellt wird
- Knowledge Base — ermöglicht es Ihnen, Datenquellen in einem Informationsspeicher zusammenzustellen
- Agenten — helfen Ihren Endbenutzern, Aktionen auf der Grundlage von Unternehmensdaten und Benutzereingaben durchzuführen
Wenn ein Benutzer mit einem AWS-Konto (entweder autorisiert oder nicht autorisiert) auf Bedrock zugreift, geschieht dies letztendlich entweder über ein Model, eine Knowledge Base oder einen Agenten. Alle ausgegebenen Eingabeaufforderungen und ihre Antworten werden in einem Model Invocation Log ausgegeben, sofern dies zuvor eingerichtet wurde (https://docs.aws.amazon.com/bedrock/latest/userguide/model-invocation-logging.html). Weitere Informationen finden Sie im Benutzerhandbuch für Amazon Bedrock hier: https://docs.aws.amazon.com/bedrock/
Das Bild unten zeigt die Beziehung zwischen Prompts, [Agents] (https://docs.aws.amazon.com/bedrock/latest/userguide/agents-how.html) und Knowledge Bases und kann eine gute Möglichkeit sein, den Datenfluss zu visualisieren (entnommen aus dem [User Guide] (https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html))
! [Agentenaufbau während Build-Time-API-Vorgängen] (/images/bedrock-01.png)
- Bedrock ist nicht in allen Regionen verfügbar (04.06.2020). Informationen zur aktuellen Verfügbarkeit in der Region finden Sie unter [Link] (https://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-regions.html)
- Die Protokollierung von Modellaufrufen ist erforderlich, um die an Modelle gesendeten Aufforderungen und Antworten anzuzeigen. Dies ist eine Einstellung auf Regionsebene und nicht die Standardeinstellung
- Für CloudTrail ist EventSource = bedrock.amazonaws.com
- Die invokeModel API ist einschreibgeschützt Ereignis
Die in der folgenden Tabelle aufgeführten Ereignisnamen dienen als Kurzreferenz für Ereignistypen, die in der Regel in CloudTrail bei der Untersuchung eines Sicherheitsereignisses, an dem Bedrock beteiligt ist, auftreten. Von den in der Tabelle aufgelisteten Ereignissen sind die häufigsten Ereignisnamen, die bei normaler Modellnutzung protokolliert werden, die folgenden:
getFoundationModelAvailability
Modell aufrufen
InvokeModelWithResponseStream
| Namen der Veranstaltungen | ReadOnly | Beschreibung |
|: -----------------|: -----------------|: -------------------------------- |
| Ereignisse im Zusammenhang mit Modelsen | --- | --- |
| getFoundationModelAvailability
| TRUE | Ruft die Verfügbarkeit eines Foundation-Modells ab |
| getUseCaseForModelAccess
| TRUE | Ruft einen Anwendungsfall für ein bestimmtes Modell ab |
| invokeModel
| TRUE | Ruft das angegebene Bedrock-Modell auf, um mithilfe der im Anfragetext bereitgestellten Eingabe eine Inferenz auszuführen |
| invokeModelWithResponseStream
| TRUE | Ruft das angegebene Bedrock-Modell auf, um die Inferenz unter Verwendung der im Anfragetext bereitgestellten Eingabe mithilfe von Chunking auszuführen |
| ListCustomModels
| TRUE | Listet benutzerdefinierte Bedrock-Modelle auf, die erstellt wurden |
| ListFoundationModels
| TRUE | Listet die Foundation-Modelle auf, die verwendet werden können |
ListProvisionedModelThroughputs |
TRUE | Listet die bereitgestellten Kapazitäten für Modelle auf |
---|---|---|
Ereignisse im Zusammenhang mit der Protokollierung von Modellaufrufen | --- | --- |
DeleteModelInvocationLoggingConfiguration |
FALSE | Löscht eine bestehende Konfiguration für die Aufrufprotokollierung |
GetModelInvocationLoggingConfiguration |
TRUE | Ruft die bestehende Konfiguration der Aufrufprotokollierung ab |
PutModelInvocationLoggingConfiguration |
FALSE | Erstellt eine bestehende Konfiguration für die Aufrufprotokollierung |
--- | --- | --- |
Veranstaltungen im Zusammenhang mit Wissensdatenbanken | --- | --- |
AssociateAgentKnowledgeBase |
FALSE | Diese Aktion protokolliert die Verknüpfung einer Wissensdatenbank während der Agentenerstellung oder nach der Erstellung eines Agenten |
CreateDataSource |
FALSE | Erstellt eine Datenquelle |
createKnowledgeBase |
FALSE | Erstellt eine Wissensdatenbank |
DeleteKnowledgeBase |
FALSE | Löscht eine Wissensdatenbank |
GetDataSource |
TRUE | Ruft Informationen über eine Datenquelle ab |
getKnowledgeBase |
TRUE | Ruft eine bestehende Wissensdatenbank ab |
ListDataSources |
TRUE | Listet verfügbare Datenquellen auf |
ListKnowledgeBases |
TRUE | Listet bestehende Wissensdatenbanken auf |
--- | --- | --- |
Ereignisse im Zusammenhang mit Agenten | --- | --- |
CreateAgent |
FALSE | Erzeugt einen neuen Agenten und einen Test-Agent-Alias, der auf die Version des DRAFT-Agenten verweist |
CreateAgentActionGroup |
FALSE | Erstellt eine Aktionsgruppe für einen Agenten. Eine Aktionsgruppe stellt die Aktionen dar, die ein Agent für den Kunden ausführen kann, indem sie die APIs, die ein Agent aufrufen kann, und die Logik für deren Aufruf definiert. |
CreateAgentAlias |
FALSE | Erzeugt einen neuen Alias für einen Agenten |
DeleteAgent |
FALSE | Löscht einen zuvor erstellten Agenten |
getAgent |
TRUE | Ruft einen vorhandenen Agenten ab |
getAgentAlias |
TRUE | Ruft einen vorhandenen Alias ab |
invokeAgent |
FALSE | Sendet eine Aufforderung, die der Agent verarbeiten und beantworten soll |
ListAgentActionGroups |
TRUE | Listet die Aktionsgruppen für einen Agenten und Informationen zu jeder einzelnen auf |
ListAgentAliases |
TRUE | Listet die Aliase eines Agenten und Informationen zu jedem einzelnen auf |
ListAgentKnowledgeBases |
TRUE | Listet Wissensdatenbanken auf, die einem Agenten zugeordnet sind, sowie Informationen zu jedem einzelnen |
ListAgents |
TRUE | Listet bestehende Agenten auf |
ListAgentVersions |
TRUE | Listet die Versionen eines Agenten und Informationen zu jeder Version auf |
PrepareAgent |
FALSE | Bereitet einen vorhandenen Amazon Bedrock Agent auf den Empfang von Runtime-Anfragen vor |
--- | --- | --- |
Veranstaltungen im Zusammenhang mit Job Ingestion | --- | --- |
GetIngestionJob |
TRUE | Ruft Informationen über einen Ingestion-Job ab, bei dem eine Datenquelle zu einer Wissensdatenbank hinzugefügt wird |
ListingestionJobs |
TRUE | Listet die Aufnahme-Jobs für eine Datenquelle und Informationen zu jedem von ihnen auf |
StartingestionJob |
FALSE | Startet einen Aufnahmejob, bei dem eine Datenquelle zu einer Wissensdatenbank hinzugefügt wird |
--- | --- | --- |
Veranstaltungen im Zusammenhang mit RAG | --- | --- |
Retrieve |
TRUE | Ruft aufgenommene Daten aus einer Wissensdatenbank ab (wird als Datenereignis betrachtet und nicht in CloudTrail angezeigt) |
RetrieveAndGenerate |
FALSE | Sendet Benutzereingaben zum Abrufen und Generieren (wird als Datenereignisse betrachtet und nicht in CloudTrail angezeigt) |
Die folgenden Screenshots können einem Incident Responder als visuelle Hilfe bei der Interpretation von Ereignissen dienen, die während einer Untersuchung festgestellt wurden. Jedes Bild unten stellt die ausgeführten Aktionen dar, die mit dem protokollierten Ereignisnamen übereinstimmen
Verfügbarkeit des Fundamentmodells abrufen
Bildschirmfoto erweitern
- Dieses Ereignis wird zuerst protokolliert, wenn Sie die Amazon Bedrock-Hauptseite aufrufen! [Verfügbarkeit von FoundationModel ermitteln] (/images/bedrock-02.png)
ListFoundationModels und ListCustomModels
Bildschirmfoto erweitern
- Diese Ereignisse werden protokolliert, wenn Sie die Seiten „Basismodelle“ und „Benutzerdefinierte Modelle“ aufrufen! [ListFoundationModels und ListCustomModels] (/images/bedrock-03.png)
Modell aufrufen
Screenshots erweitern
- Dieses Ereignis wird beim Modellaufruf protokolliert.! [Beispiel für einen Modellaufruf] (/images/bedrock-04.png)
Beispiel für einen CloudTrail-Ereignisdatensatz für den Modellaufruf:
! [CloudTrail für invokeModel] (/images/bedrock-05.png)
invokeModel - weitere Beispiele
Screenshots erweitern
- Die folgenden Bilder enthalten weitere Beispiele dafür, wie der Name des `invokeModel`-Ereignisses protokolliert wird. Das erste Bild zeigt die Unterschiede zwischen den verschiedenen Methoden des Modellaufrufs: (a) Modellaufruf mithilfe einer Wissensdatenbank (b) Direkter Modellaufruf (c) Modellaufruf mit einem AgentenBeachten Sie, dass der angezeigte Benutzername* je nachdem, wie das Modell aufgerufen wird, unterschiedlich ist
! [Aufruf des Agenten- und Knowledge Base-Modells] (/images/bedrock-06.png)
Dieser Unterschied wird anhand von zwei nebeneinander liegenden Screenshots des invokeModel
-Ereignisdatensatzes in CloudTrail verdeutlicht.
Das linke Bild = Direkter Modellaufruf
Das rechte Bild = Modellaufruf mithilfe einer Knowledge Base
! [CloudTrail für invokeModel] (/images/bedrock-07.png)
invokeModel oder invokeModelWithResponseStream — Eingabeaufforderungen und Antwort
Bildschirmfoto erweitern
- Während die Ereignisse `invokeModel` und `invokeModelWithResponseStream` in CloudTrail angezeigt werden, zeigen Modellaufrufprotokolle (sofern konfiguriert) auch die Aufforderung und Antwort an, die jedem `invokeModel`-Ereignis entsprechen. Das Bild unten stammt aus Modellaufrufprotokollen, die an S3 gesendet wurden. Diese enthalten die verwendete Eingabeaufforderung sowie die Ausgabe oder die Antwort des Modells (eine Athena-DDL ist unten verfügbar):! [Beispiel für einen S3-Modellaufruf] (/images/bedrock-09.png)
Konfiguration der Modellaufruf-Protokollierung eingeben
Bildschirmfoto erweitern
- Dieses Ereignis wird protokolliert, wenn die Protokollierung von Modellaufrufen in einem AWS-Konto konfiguriert ist.! [Konfiguration der Modellaufrufprotokollierung] (/images/bedrock-10.png)
Wissensdatenbank erstellen
Bildschirmfoto erweitern
- Der folgende CloudTrail-Ereignisdatensatz wird protokolliert, wenn eine Wissensdatenbank erstellt wird. Der Ereignisdatensatz enthält die Identität, die die Anfrage gestellt hat, und den Namen der Knowledge Base. Auf den Namen der Wissensdatenbank kann in nachfolgenden Protokollen verwiesen werden, in denen Modellaufrufe mithilfe von `invokeModel` erfasst werden! [Erstellung einer Wissensdatenbank] (/images/bedrock-11.png)
Agent erstellen
Bildschirmfoto erweitern
- Das Bild unten zeigt die Erstellung eines Agenten mithilfe der Konsole. Der resultierende Ereignisname, der protokolliert wird, lautet `createAgent`! [Agentenerstellung] (/images/bedrock-12.png)
Retrieve und RetrieveAndGenerate
Bildschirmfoto erweitern
- Ein Beispiel dafür, wie die Namen der Ereignisse `Retrieve` und `RetrieveAndGenerate` beim Testen einer Wissensdatenbank in der Abbildung unten dargestellt werden. Beachten Sie, dass `Retrieve` nur das Abrufen von Daten aus der Wissensdatenbank testet und `RetrieveAndGenerate` das Abrufen von Daten aus der Wissensdatenbank und das Generieren einer Antwort testet:! [Abrufen und RetrieveAndGenerate] (/images/bedrock-13.png)
Verwenden Sie den folgenden DDL-Code, um eine Tabelle in Athena aus den in einem Amazon S3 S3-Bucket gespeicherten Modellaufrufprotokollen zu erstellen. Stellen Sie sicher, dass der richtige S3-URI für die Bucket-Position am Ende des Codeausschnitts verwendet wird:
EXTERNE TABELLE ERSTELLEN bedrock_model_invocation_metadata_unfiltered (
SchemaType-Zeichenfolge,
SchemaVersion-Zeichenfolge,
Zeitstempel-Zeichenfolge,
AccountID-Zeichenfolge,
<arn: string>Identitätsstruktur,
Zeichenfolge für die Region,
RequestID-Zeichenfolge,
Operationszeichenfolge,
ModelID-Zeichenfolge,
ErrorCode-Zeichenfolge,
Eingabestruktur <inputBodyJson: Zeichenfolge,
inputBodys3Path: Zeichenfolge,
inputContentType: Zeichenfolge,
Anzahl der Eingaben: int>,
Ausgabestruktur <outputBodyJson: Zeichenfolge,
outputBodys3Path: Zeichenfolge,
OutputContentType: Zeichenfolge,
OutputTokenCount: int,
OutputImageBucketedStepSize: int,
OutputImageHeight: int,
OutputImageWidth: int
>
)
ZEILENFORMAT SERDE 'org.openx.data.jsonSerde.jsonSerde'
<insert_prefix>STANDORT 's3<insert_S3_bucket>:////'
- Als Incident Responder muss ich in der Lage sein, alle kritischen Bedrock-Ereignisse zu überwachen
- Als Incident Responder benötige ich ein Playbook zur Abfrage von Bedrock Cloudtrail-Ereignissen in großem Maßstab