Beispiele für ressourcenbasierte Richtlinien für S3-Vektoren
Anmerkung
Amazon S3 Vectors befindet sich in der Vorabversion für Amazon Simple Storage Service und unterliegt noch Änderungen.
Ressourcenbasierten Richtlinien sind an eine Ressource angefügt. Sie können ressourcenbasierte Richtlinien für Vektor-Buckets erstellen. Ressourcenbasierte Richtlinien für S3 Vectors verwenden das AWS Standardrichtlinienformat in JSON, das Sie direkt an Vektor-Buckets anhängen, um den Zugriff auf den Bucket und seinen Inhalt zu kontrollieren.
Im Gegensatz zu identitätsbasierten Richtlinien, die Benutzern, Gruppen oder Rollen zugeordnet sind, sind ressourcenbasierte Richtlinien an die Ressource selbst (den Vektor-Bucket) angehängt und können Prinzipalen von anderen AWS Konten Berechtigungen gewähren. Dies macht sie ideal für Szenarien, in denen Sie Vektordaten über Unternehmensgrenzen hinweg gemeinsam nutzen oder detaillierte Zugriffskontrollen implementieren müssen, die auf der spezifischen Ressource basieren, auf die zugegriffen wird.
Ressourcenbasierte Richtlinien werden in Kombination mit identitätsbasierten Richtlinien bewertet, und die effektiven Berechtigungen werden durch die Vereinigung aller geltenden Richtlinien bestimmt. Das bedeutet, dass ein Prinzipal die Berechtigung sowohl der identitätsbasierten Richtlinie (die seinem Benutzer/seiner Rolle zugeordnet ist) als auch der ressourcenbasierten Richtlinie (dem Bucket zugeordnet) benötigt, um eine Aktion auszuführen, es sei denn, die ressourcenbasierte Richtlinie erteilt die Berechtigung ausdrücklich.
Beispiel 1: Kontoübergreifende Zugriffsrichtlinie
Diese Richtlinie zeigt, wie Benutzern mit unterschiedlichen AWS Konten bestimmte Berechtigungen gewährt werden können:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CrossAccountBucketAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam:123456789012:role/Admin" }, "Action": [ "s3vectors:CreateIndex", "s3vectors:ListIndexes", "s3vectors:QueryVectors", "s3vectors:PutVectors", "s3vectors:DeleteIndex" ], "Resource": [ "arn:aws:s3vectors::aws-region111122223333:bucket/amzn-s3-demo-vector-bucket/*", "arn:aws:s3vectors::aws-region111122223333:bucket/amzn-s3-demo-vector-bucket" ] } ] }
Beispiel 2: Aktionen auf Vektorindexebene ablehnen
Diese Richtlinie zeigt, wie einer IAM-Rolle bestimmte Aktionen auf Vektorindex-Ebene verweigert werden können:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyIndexLevelActions", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam:123456789012:role/External-Role-Name" }, "Action": [ "s3vectors:QueryVectors", "s3vectors:PutVectors", "s3vectors:DeleteIndex", "s3vectors:GetVectors", "s3vectors:GetIndex", "s3vectors:DeleteVectors", "s3vectors:CreateIndex", "s3vectors:ListVectors" ], "Resource": "arn:aws:s3vectors::aws-region111122223333:bucket/amzn-s3-demo-vector-bucket/*" } ] }
Beispiel 3: Verweigern Sie Änderungsvorgänge sowohl auf Vektorindex- als auch auf Bucket-Ebene
Diese Richtlinie zeigt, wie Änderungsanforderungen sowohl für Aktionen auf Vektorindex- als auch auf Bucket-Ebene abgelehnt werden können, indem mehrere Ressourcen angegeben werden:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyModificationActionsAtBucketandIndexLevels", "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam:123456789012:role/External-Role-Name" }, "Action": [ "s3vectors:CreateVectorBucket", "s3vectors:DeleteVectorBucket", "s3vectors:PutVectorBucketPolicy", "s3vectors:DeleteVectorBucketPolicy", "s3vectors:CreateIndex", "s3vectors:DeleteIndex", "s3vectors:PutVectors", "s3vectors:DeleteVectors" ], "Resource": [ "arn:aws:s3vectors::aws-region111122223333:bucket/amzn-s3-demo-vector-bucket/*", "arn:aws:s3vectors::aws-region111122223333:bucket/amzn-s3-demo-vector-bucket" ] } ] }