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.
Steuern des Zugriffs auf Amazon Kinesis Data Streams Streams-Ressourcen mithilfe von IAM
AWS Identity and Access Management (IAM) ermöglicht Ihnen Folgendes:
-
Erstellen Sie Benutzer und Gruppen unter Ihrem AWS Konto
-
Weisen Sie jedem Benutzer unter Ihrem AWS Konto eindeutige Sicherheitsanmeldedaten zu
-
Kontrollieren Sie die Berechtigungen der einzelnen Benutzer zur Ausführung von Aufgaben mithilfe von AWS Ressourcen
-
Erlauben Sie den Benutzern eines anderen AWS Kontos, Ihre AWS Ressourcen gemeinsam zu nutzen
-
Erstellen Sie Rollen für Ihr AWS Konto und definieren Sie die Benutzer oder Dienste, die diese Rollen übernehmen können
-
Verwenden Sie bestehende Identitäten für Ihr Unternehmen, um Berechtigungen zur Ausführung von Aufgaben unter Verwendung von AWS Ressourcen zu erteilen
Durch die Verwendung IAM mit Kinesis Data Streams können Sie steuern, ob Benutzer in Ihrer Organisation eine Aufgabe mithilfe bestimmter Kinesis Data Streams API Streams-Aktionen ausführen können und ob sie bestimmte AWS Ressourcen verwenden können.
Wenn Sie eine Anwendung mithilfe der Kinesis Client Library (KCL) entwickeln, muss Ihre Richtlinie Berechtigungen für Amazon DynamoDB und Amazon beinhalten. DynamoDB KCL verwendet DynamoDB CloudWatch, um Statusinformationen für die Anwendung zu verfolgen und in Ihrem Namen KCL Metriken an CloudWatch diese zu senden. CloudWatch Weitere Informationen zu KCLfinden Sie unter Entwickeln Sie KCL 1.x-Verbraucher.
Weitere Informationen zu IAM finden Sie unter:
Weitere Informationen zu IAM Amazon DynamoDB finden Sie unter Using IAM to Control Access to Amazon DynamoDB Resources im Amazon DynamoDB DynamoDB-Entwicklerhandbuch.
Weitere Informationen zu IAM und Amazon CloudWatch finden Sie unter Steuern des Benutzerzugriffs auf Ihr AWS Konto im CloudWatch Amazon-Benutzerhandbuch.
Inhalt
- Richtliniensyntax
- Aktionen für Kinesis Data Streams
- Amazon-Ressourcennamen (ARNs) für Kinesis Data Streams
- Beispielrichtlinien für Kinesis Data Streams
- Teilen Sie Ihren Datenstream mit einem anderen Konto
- Konfigurieren Sie eine AWS Lambda Funktion zum Lesen aus Kinesis Data Streams in einem anderen Konto
- Teilen Sie den Zugriff mithilfe ressourcenbasierter Richtlinien
Richtliniensyntax
Eine IAM Richtlinie ist ein JSON Dokument, das aus einer oder mehreren Aussagen besteht. Jede Anweisung ist folgendermaßen strukturiert:
{
"Statement":[{
"Effect":"effect
",
"Action":"action
",
"Resource":"arn
",
"Condition":{
"condition
":{
"key
":"value
"
}
}
}
]
}
Eine Anweisung kann aus verschiedenen Elementen bestehen:
-
Effect: Der effect-Wert kann
Allow
oderDeny
lauten. Standardmäßig sind IAM Benutzer nicht berechtigt, Ressourcen und API Aktionen zu verwenden, sodass alle Anfragen abgelehnt werden. Dieser Standardwert kann durch eine explizite Zugriffserlaubnis überschrieben werden. Eine explizite Zugriffsverweigerung überschreibt jedwede Zugriffserlaubnis. -
Aktion: Die Aktion ist die spezifische API Aktion, für die Sie die Erlaubnis erteilen oder verweigern.
-
Resource: Die von einer Aktion betroffene Ressource. Um eine Ressource in der Anweisung anzugeben, müssen Sie ihren Amazon-Ressourcennamen (ARN) verwenden.
-
Condition: Bedingungen sind optional. Mit ihrer Hilfe können Sie bestimmen, wann Ihre Richtlinie wirksam wird.
Wenn Sie IAM Richtlinien erstellen und verwalten, möchten Sie möglicherweise den IAMPolicy Generator und den IAMPolicy Simulator verwenden.
Aktionen für Kinesis Data Streams
In einer IAM Richtlinienerklärung können Sie jede API Aktion von jedem Dienst angeben, der dies unterstütztIAM. Verwenden Sie für Kinesis Data Streams das folgende Präfix mit dem Namen der API Aktion:kinesis:
. Beispiel: kinesis:CreateStream
, kinesis:ListStreams
und kinesis:DescribeStreamSummary
.
Um mehrere Aktionen in einer einzigen Anweisung anzugeben, trennen Sie sie wie folgt durch Kommata:
"Action": ["kinesis:action1", "kinesis:action2"]
Sie können auch mehrere Aktionen mittels Platzhaltern angeben. Beispielsweise können Sie alle Aktionen festlegen, deren Name mit dem Wort "Get" beginnt:
"Action": "kinesis:Get*"
Um alle Operationen von Kinesis Data Streams anzugeben, verwenden Sie den Platzhalter * folgendermaßen:
"Action": "kinesis:*"
Die vollständige Liste der Kinesis Data Streams API Streams-Aktionen finden Sie in der Amazon Kinesis Kinesis-Referenz API.
Amazon-Ressourcennamen (ARNs) für Kinesis Data Streams
Jede IAM Richtlinienerklärung gilt für die Ressourcen, die Sie mithilfe ihrer ARNs angeben.
Verwenden Sie das folgende ARN Ressourcenformat für Kinesis-Datenstreams:
arn:aws:kinesis:region
:account-id
:stream/stream-name
Beispielsweise:
"Resource": arn:aws:kinesis:*:111122223333:stream/my-stream
Beispielrichtlinien für Kinesis Data Streams
Die folgenden Beispielrichtlinien zeigen, wie Sie den Benutzerzugriff auf Kinesis-Datenströme steuern könnten.
Teilen Sie Ihren Datenstream mit einem anderen Konto
Anmerkung
Die Kinesis Producer Library unterstützt derzeit nicht die Angabe eines Streams ARN beim Schreiben in einen Datenstream. Verwenden Sie den AWS SDK, wenn Sie in einen kontoübergreifenden Datenstream schreiben möchten.
Fügen Sie Ihrem Datenstream eine ressourcenbasierte Richtlinie hinzu, um einem anderen Konto, IAM Benutzer oder einer anderen Rolle Zugriff zu gewähren. IAM Ressourcenbasierte Richtlinien sind JSON Richtliniendokumente, die Sie an eine Ressource wie einen Datenstrom anhängen. Diese Richtlinien erteilen dem angegebenen Prinzipal die Berechtigung zum Ausführen bestimmter Aktionen für diese Ressource und definieren, unter welchen Bedingungen diese gilt. Eine Richtlinie kann mehrere Anweisungen enthalten. Sie müssen in einer ressourcenbasierten Richtlinie einen Prinzipal angeben. Zu den Prinzipalen können Konten, Benutzer, Rollen, Verbundbenutzer oder Dienste gehören. AWS Sie können Richtlinien in der Kinesis Data Streams Streams-Konsole konfigurieren, API oderSDK.
Beachten Sie, dass für die gemeinsame Nutzung des Zugriffs mit registrierten Verbrauchern wie Enhanced Fan Out eine Richtlinie sowohl für den Datenstream ARN als auch für den Verbraucher ARN erforderlich ist.
Aktivieren Sie den kontoübergreifenden Zugriff
Um kontoübergreifenden Zugriff zu ermöglichen, können Sie ein gesamtes Konto oder IAM-Entitäten in einem anderen Konto als Prinzipal in einer ressourcenbasierten Richtlinie angeben. Durch das Hinzufügen eines kontoübergreifenden Auftraggebers zu einer ressourcenbasierten Richtlinie ist nur die halbe Vertrauensbeziehung eingerichtet. Wenn sich der Prinzipal und die Ressource in getrennten AWS Konten befinden, müssen Sie außerdem eine identitätsbasierte Richtlinie verwenden, um dem Prinzipal Zugriff auf die Ressource zu gewähren. Wenn jedoch eine ressourcenbasierte Richtlinie Zugriff auf einen Prinzipal in demselben Konto gewährt, ist keine zusätzliche identitätsbasierte Richtlinie erforderlich.
Datenstream-Administratoren können mithilfe von AWS Identity and Access Management Richtlinien angeben, wer auf was Zugriff hat. Das bedeutet, welcher Prinzipal kann Aktionen für welche Ressourcen und unter welchen Bedingungen ausführen. Das Action
Element einer JSON Richtlinie beschreibt die Aktionen, mit denen Sie den Zugriff in einer Richtlinie zulassen oder verweigern können. Richtlinienaktionen haben normalerweise denselben Namen wie der zugehörige AWS API Vorgang.
Aktionen von Kinesis Data Streams, die freigegeben werden können:
Aktion | Zugriffsebene |
---|---|
DescribeStreamConsumer | Konsument |
DescribeStreamSummary | Datenstrom |
GetRecords | Datenstrom |
GetShardIterator | Datenstrom |
ListShards | Datenstrom |
PutRecord | Datenstrom |
PutRecords | Datenstrom |
SubscribeToShard | Konsument |
Im Folgenden finden Sie Beispiele für die Verwendung einer ressourcenbasierten Richtlinie, um kontoübergreifenden Zugriff auf Ihren Datenstrom oder registrierten Verbraucher zu gewähren.
Um eine kontoübergreifende Aktion durchzuführen, müssen Sie den Stream ARN für den Zugriff auf den Datenstream und den Consumer ARN für den registrierten Consumer-Zugriff angeben.
Beispiel für ressourcenbasierte Richtlinien für Kinesis-Datenstreams
Die Freigabe eines registrierten Verbrauchers erfordert aufgrund der erforderlichen Maßnahmen sowohl eine Datenstromrichtlinie als auch eine Verbraucherrichtlinie.
Anmerkung
Nachfolgend finden Sie Beispiele für gültige Werte für Principal
:
{"AWS": "123456789012"}
IAMBenutzer —
{"AWS": "arn:aws:iam::123456789012:user/user-name"}
IAMRolle —
{"AWS":["arn:aws:iam::123456789012:role/role-name"]}
Mehrere Prinzipale (kann eine Kombination aus Konto, Benutzer, Rolle sein) –
{"AWS":["123456789012", "123456789013", "arn:aws:iam::123456789012:user/user-name"]}
Verwalten Sie die Richtlinie für Ihren Datenstrom programmatisch
Abgesehen von bietet Kinesis Data Streams drei Optionen APIS für die Verwaltung Ihrer Datenstream-Richtlinie: AWS Management Console
Verwenden Sie PutResourePolicy
, um eine Richtlinie für einen Datenstrom oder Verbraucher anzufügen oder zu überschreiben. Verwenden Sie GetResourcePolicy
, um eine Richtlinie für den angegebenen Datenstrom oder Verbraucher zu überprüfen und anzuzeigen. Verwenden Sie DeleteResourcePolicy
, um eine Richtlinie für den angegebenen Datenstrom oder Verbraucher zu löschen.
Richtlinienbeschränkungen
Für die Ressourcenrichtlinien von Kinesis Data Streams gelten folgende Einschränkungen:
-
Platzhalter (*) werden nicht unterstützt, um zu verhindern, dass umfassender Zugriff über die Ressourcenrichtlinien gewährt wird, die direkt mit einem Datenstrom oder einem registrierten Verbraucher verknüpft sind. Prüfen Sie außerdem sorgfältig die folgenden Richtlinien, um sicherzustellen, dass sie keinen breiten Zugriff gewähren:
-
Identitätsbasierte Richtlinien, die mit zugehörigen AWS Prinzipalen verknüpft sind (z. B. Rollen) IAM
-
Ressourcenbasierte Richtlinien, die mit zugehörigen AWS Ressourcen verknüpft sind (z. B. Schlüssel) AWS Key Management Service KMS
-
Verbund-Prinzipale werden nicht unterstützt.
Canonical−Benutzer werden nicht unterstützt. IDs
Die Größe der Richtlinie darf 20 KB nicht überschreiten.
Teilen Sie den Zugriff auf verschlüsselte Daten
Wenn Sie die serverseitige Verschlüsselung für einen Datenstrom mit AWS verwaltetem KMS Schlüssel aktiviert haben und den Zugriff über eine Ressourcenrichtlinie gemeinsam nutzen möchten, müssen Sie zur Verwendung des vom Kunden verwalteten Schlüssels () CMK wechseln. Weitere Informationen finden Sie unter Was ist serverseitige Verschlüsselung für Kinesis Data Streams?. Darüber hinaus müssen Sie den für die gemeinsame Nutzung verantwortlichen Entitäten den Zugriff auf Ihre Daten gewähren und dabei Funktionen CMK zur KMS kontenübergreifenden Nutzung nutzen. Stellen Sie sicher, dass Sie die Änderungen auch in den IAM Richtlinien für die gemeinsam genutzten Haupteinheiten vornehmen. Weitere Informationen finden Sie unter Benutzern mit anderen Konten die Verwendung eines KMS Schlüssels gestatten.
Konfigurieren Sie eine AWS Lambda Funktion zum Lesen aus Kinesis Data Streams in einem anderen Konto
Ein Beispiel dafür, wie Sie eine Lambda-Funktion zum Lesen von Kinesis Data Streams in einem anderen Konto konfigurieren können, finden Sie unter Teilen Sie den Zugriff mit kontoübergreifenden Funktionen AWS Lambda.