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 Konto AWS
-
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
Wenn Sie IAM zusammen mit Kinesis Data Streams verwenden, können Sie steuern, ob Benutzer im Unternehmen Aufgaben mit bestimmten API-Aktionen von Kinesis Data Streams ausführen und spezifische 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. Die 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 zur KCL finden Sie unter Entwickeln Sie KCL 1.x-Verbraucher.
Weitere Informationen zu IAM finden Sie unter:
Weitere Informationen zu IAM und Amazon DynamoDB finden Sie unter Verwendung von IAM zur Steuerung des Zugriffs auf Amazon-DynamoDB-Ressourcen im Amazon DynamoDB-Entwickerhandbuch.
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 eine oder mehrere Anweisungen enthält. 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. IAM-Benutzer verfügen standardmäßig nicht über die Berechtigung zur Verwendung von Ressourcen und API-Aktionen. Daher werden alle Anfragen abgelehnt. Dieser Standardwert kann durch eine explizite Zugriffserlaubnis überschrieben werden. Eine explizite Zugriffsverweigerung überschreibt jedwede Zugriffserlaubnis. -
Action: Mit action wird die API-Aktion spezifiziert, für die Sie Berechtigungen erteilen oder verweigern.
-
Resource: Die von einer Aktion betroffene Ressource. Um eine Ressource in der Anweisung anzugeben, benötigen Sie deren Amazon-Ressourcennamen (ARN).
-
Condition: Bedingungen sind optional. Mit ihrer Hilfe können Sie bestimmen, wann Ihre Richtlinie wirksam wird.
Beim Erstellen und Verwalten von IAM-Richtlinien sollten Sie den IAM-Richtliniengenerator und den IAM-Richtliniensimulator verwenden.
Aktionen für Kinesis Data Streams
In einer IAM-Richtlinienanweisung können Sie jede API-Aktion von jedem Service, der IAM unterstützt, angeben. Bei Kinesis Data Streams setzen Sie folgendes Präfix vor den 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-Aktionen finden Sie unter Amazon-Kinesis-API-Referenz.
Amazon-Ressourcennamen (ARNs) für Kinesis Data Streams
Jede IAM-Richtlinienerklärung gilt für die Ressourcen, die Sie mithilfe ihrer angeben. ARNs
Verwenden Sie das folgende ARN-Ressourcenformat für Kinesis-Datenströme:
arn:aws:kinesis:region
:account-id
:stream/stream-name
Zum Beispiel:
"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 Stream-ARN beim Schreiben in einen Datenstream. Verwenden Sie das AWS SDK, wenn Sie in einen kontoübergreifenden Datenstream schreiben möchten.
Fügen Sie eine ressourcenbasierte Richtlinie an Ihren Datenstrom an, um einem anderen Konto, einem IAM-Benutzer oder einer IAM-Rolle Zugriff zu gewähren. Ressourcenbasierte Richtlinien sind JSON-Richtliniendokumente, die Sie an eine Ressource, beispielsweise einen Datenstrom, anfügen. 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 Konsole von Kinesis Data Streams, API oder SDK konfigurieren.
Beachten Sie, dass die Freigabe des Zugriffs für registrierte Verbraucher, wie beispielsweise Enhanced Fan-Out, eine Richtlinie sowohl für den Datenstrom-ARN als auch für den Verbraucher-ARN erfordert.
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.
Weitere Informationen zur Verwendung ressourcenbasierter Richtlinien für den kontoübergreifenden Zugriff finden Sie unter Kontoübergreifender Ressourcenzugriff in IAM.
Datenstream-Administratoren können mithilfe von AWS Identity and Access Management Richtlinien festlegen, wer Zugriff auf was hat. Das heißt, welcher Prinzipal Aktionen für welche Ressourcen und unter welchen Bedingungen ausführen kann. Das Element Action
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 Datenstrom und den Verbraucher-ARN für den Zugriff registrierter Verbraucher 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"}
IAM-Benutzer –
{"AWS": "arn:aws:iam::123456789012:user/user-name"}
IAM-Rolle –
{"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
Darüber hinaus verfügt Kinesis Data Streams über drei APIS zur 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. IAM-Rollen)
-
Ressourcenbasierte Richtlinien, die mit zugehörigen AWS Ressourcen verknüpft sind (z. B. KMS-Schlüssel) AWS Key Management Service
-
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 Ihren freigebenden Prinzipal-Entitäten Zugriff auf Ihren CMK gewähren, indem Sie die kontoübergreifenden KMS-Freigabe-Funktionen nutzen. Stellen Sie sicher, dass Sie auch die IAM-Richtlinien für die freigebenden Prinzipal-Entitäten ändern. Weitere Informationen finden Sie unter Benutzern in anderen Konten die Verwendung eines KMS-Schlüssels erlauben.
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.