Resource Principals verwalten
Sie können Big Data Service-Clusterressourcen-Principals auf der Seite "Clusterdetails" verwalten.
Pro Cluster ist nur eine aktive Resource Principal-Konfiguration zulässig.
Big Data Service 3.0.28 und ODH Version 1.1.13/2.0.9 unterstützen Resource Principals. Ältere Cluster, die dem Upgradepfad mit mindestens Big Data Service 3.0.27 (Direkte Clustererstellung oder Upgrade) folgen, können upgegradet werden, um Resource Principals zu unterstützen. Um Resource Principals verwenden zu können, müssen sowohl Big Data Service als auch ODH auf die zuvor aufgeführten Versionen upgegradet werden. Mit der Einführung der Resource-Principal-Unterstützung kann Big Data Service mit der Resource-Principal-Authentifizierung eine Verbindung zu verschiedenen OCI-Services herstellen, und Policys können für mehrere Ebenen (Ressourcenebene, Compartment-Ebene usw.) definiert werden.
Informationen zum Verwalten von Resource Principals für Big Data Service-Cluster finden Sie unter:
- Resource Principal erstellen
- Resource Principal bearbeiten
- Löschen eines Resource Principals
- Resource Principal-Token wird neu generiert
- Resource Principal-Details abrufen
- Resource Principals auflisten
In den folgenden Situationen wird ein neues Resource Principal-Sessiontoken ausgegeben und an alle Knoten im Cluster verteilt:
- Knoten ersetzen
- Knoten hinzufügen
Voraussetzungen
- Big Data-Service 3.0.28 oder höher
- ODH 1.1.13 oder höher für ODH 1
- ODH 2.0.9 oder höher für ODH 2
- Die Berechtigung
update bds
Weitere Informationen zu Big Data Service-Policys finden Sie unter Big Data Service-Policys
Beispiel-Policys
Die folgenden Policys können auch für eine bestimmte Gruppe erstellt werden.
Schreibgeschützten Zugriff auf die Objekte und Buckets im Mandanten für ein Cluster in Big Data Service zulassen
allow any-user to read buckets in tenancy where ALL{request.principal.id='<BDS Cluster OCID>'}
allow any-user to read objects in tenancy where ALL{request.principal.id='<BDS Cluster OCID>'}
Schreibgeschützten Zugriff auf bestimmte Buckets im Mandanten für Big Data Service-Cluster zulassen
allow any-user to read buckets in tenancy where ALL{request.principal.id='<BDS Cluster OCID>',target.bucket.name='<bucket-name>'}
allow any-user to read objects in tenancy where ALL{request.principal.id='<BDS Cluster OCID>',target.bucket.name='<bucket-name>'}
Schreibgeschützten Zugriff auf die Objekte und Buckets im Mandanten für alle Big Data Service-Cluster zulassen, die aus einem bestimmten Compartment stammen
allow any-user to read buckets in tenancy where ALL{request.resource.compartment.id='<Compartment OCID of BDS Clusters>', request.principal.type='bigdataservice'}
allow any-user to read objects in tenancy where ALL{request.resource.compartment.id='<Compartment OCID of BDS Clusters>', request.principal.type='bigdataservice'}
Schreibgeschützten Zugriff auf die Objekte und Buckets in einem anderen Mandanten für das Big Data Service-Cluster zulassen (z.B. mandantenübergreifenden Zugriff)
Erforderliche Policys im Quellmandanten, in dem das tatsächliche Big Data Service-Cluster erstellt wurde.
Define tenancy <Target-Tenancy-Name> as <Target-Tenancy-OCID>
Endorse any-user to read object-family in tenancy <Target-Tenancy-Name>
Endorse any-user to read buckets in tenancy <Target-Tenancy-Name>
Endorse any-user to read objects in tenancy <Target-Tenancy-Name>
Erforderliche Policys im Zielmandanten, auf den auf Ressourcen zugegriffen wird.
Define tenancy <Source-BDS-Cluster-Tenancy-Name> as <Source-BDS-Cluster-Tenancy-OCID>
Admit any-user of tenancy <Source-BDS-Cluster-Tenancy-Name> to read object-family in tenancy where request.principal.id='<BDS Cluster OCID>'
Admit any-user of tenancy <Source-BDS-Cluster-Tenancy-Name> to read buckets in tenancy where request.principal.id='<BDS Cluster OCID>'
Admit any-user of tenancy <Source-BDS-Cluster-Tenancy-Name> to read objects in tenancy where request.principal.id='<BDS Cluster OCID>'
Erforderliche IAM-Policy für Resource Principal
Um Resource Principal-(RPST-)bezogene Metriken zu überwachen, benötigen Sie den erforderlichen Zugriffstyp, der über eine von einem Administrator geschriebene Policy erteilt wird. Die Policy muss den Zugriff auf den Monitoring-Service und auf die spezifischen überwachten Big Data Service-Compartments ermöglichen.
Wenn Sie eine abgelehnte Berechtigung oder einen unbefugten Fehler erhalten, überprüfen Sie:
- Die Zugriffs-Policy umfasst
oci_monitoring
-Berechtigungen. - Sie arbeiten im richtigen Compartment.
Referenz: Details zu den erforderlichen Berechtigungen und zum Compartment-Zugriff finden Sie unter IAM-Policy überwachen.
Resource-Principal-Metriken
Weitere Informationen zu Resource Principal-Metriken finden Sie unter Verfügbare Metriken: oci_big_data_service.
Anwendungsfälle für RPST-Metriken und kombinierte Überwachungsszenarios:
Metrik: ResourcePrincipalTokenExpiryTimeExceeding80PercentThreshold
Zweck:
Wird verwendet, um proaktiv RPST-Token zu überwachen, die sich dem Ablauf nähern (über 80% ihrer Lebensdauer), und zwar pro Knoten.
Verwenden Sie diese Metrik, wenn:
- Sie möchten Token identifizieren, die in Kürze ablaufen.
- Sie müssen Alerts vor dem tatsächlichen Tokenablauf auslösen, um Unterbrechungen zu vermeiden.
- Sie möchten Pufferzeit für die automatische oder manuelle Tokenneugenerierung zulassen.
Beispielabfrage:
ResourcePrincipalTokenExpiryTimeExceeding80PercentThreshold[2h]{clusterOcid = "ocid1.preprod-bigdataservice.oc1.iad.amaaaaaamn67ujqa7h57hcu6f5pvxpwl6j5u2ipl3qqdcavjlqyixtgjjiva"}.count()
Metrik: ResourcePrincipalSessionTokenStatus
Zweck:
Wird verwendet, um kritische Tokenprobleme zu erkennen, wie z.B. das RPST-Token ist abgelaufen oder fehlt auf einer Knotenebene.
Verwenden Sie diese Metrik, wenn:
- Sie möchten Echtzeit-Health-Checks zur Tokenverfügbarkeit durchführen.
- Sie möchten sofort handeln, wenn ein Knoten ein defektes oder abgelaufenes Token aufweist.
- Sie möchten den Fehlertyp klassifizieren: 1 für abgelaufen, 2 für fehlend.
Beispielabfrage:
ResourcePrincipalSessionTokenStatus[30m]{resourceId = "ocid1.instance.oc1.iad.anuwcljtanx7lvqc7uvyibak2qlvjwvzz4mtb6qiusn6x4zsvpx4kpfydczq"}.count()
Metrik: ResourcePrincipalTokenRefreshedInLast30Mins
Zweck:
Wird verwendet, um zu verfolgen, ob RPST-Token kürzlich aktualisiert und auf Clusterebene ausgewertet wurden. Dies muss wahr sein, wenn ResourcePrincipalSessionTokenStatus
für einen beliebigen Knoten abgelaufen ist oder fehlt.
Verwenden Sie diese Metrik, wenn:
-
Sie möchten sicherstellen, dass Jobs zur regelmäßigen Tokenerneuerung erfolgreich ausgeführt werden.
-
Sie möchten einen Heartbeat auf Clusterebene, der angibt, dass die Tokenverwaltung ordnungsgemäß funktioniert.
-
Sie möchten veraltete Token auf allen Knoten ermitteln, wenn diese Metrik falsch ist.
Beispielabfrage:
ResourcePrincipalTokenRefreshedInLast30Mins[30m]{clusterOcid = "ocid1.preprod-bigdataservice.oc1.iad.amaaaaaamn67ujqac7xojchf2vjmbeudlixrqmjvjct7oioj34otatnibfka"}.max()
Proaktive Überwachung + sofortige Korrektur
Ziel: Erkennen Sie Token, die bald ablaufen, und stellen Sie sicher, dass keine Token fehlen oder abgelaufen sind.
Verwenden Sie die folgenden Metriken zusammen:
ResourcePrincipalTokenExpiryTimeExceeding80PercentThreshold
ResourcePrincipalSessionTokenStatus
Beispielabfrage (unter Abfragen aggregieren):
Abfrage 1:
ResourcePrincipalTokenExpiryTimeExceeding80PercentThreshold[12h]{clusterOcid = "ocid1.preprod-bigdataservice.oc1.iad.amaaaaaamn67ujqalm2xprcarkhihwcnih3lkinktmmjmqqrutqzkukpswiq"}.grouping().count()
Abfrage 2:
ResourcePrincipalSessionTokenStatus[12h]{clusterOcid = "ocid1.preprod-bigdataservice.oc1.iad.amaaaaaamn67ujqalm2xprcarkhihwcnih3lkinktmmjmqqrutqzkukpswiq"}.count()
Health Check mit Aktualisierungsvalidierung
Ziel: Bestätigen Sie, dass alle Token regelmäßig aktualisiert werden und keine abgelaufenen/fehlenden Token vorhanden sind.
Verwenden Sie die folgenden Metriken zusammen:
ResourcePrincipalTokenRefreshedInLast30Mins
ResourcePrincipalSessionTokenStatus
Beispielabfrage (unter Abfragen aggregieren):
Abfrage 1:
ResourcePrincipalTokenRefreshedInLast30Mins[30m]{clusterOcid = "ocid1.preprod-bigdataservice.oc1.iad.amaaaaaamn67ujqac7xojchf2vjmbeudlixrqmjvjct7oioj34otatnibfka"}.max()
Abfrage 2:
ResourcePrincipalSessionTokenStatus[12h]{clusterOcid = "ocid1.preprod-bigdataservice.oc1.iad.amaaaaaamn67ujqalm2xprcarkhihwcnih3lkinktmmjmqqrutqzkukpswiq"}.count()
Überprüfung der Clusterbereitschaft
Ziel: Stellen Sie sicher, dass alle Knoten bereit sind (Token aktiv, kürzlich aktualisiert, kein bevorstehender Ablauf).
Verwenden Sie alle drei Metriken zusammen:
ResourcePrincipalTokenExpiryTimeExceeding80PercentThreshold
ResourcePrincipalSessionTokenStatus
ResourcePrincipalTokenRefreshedInLast30Mins
Beispielabfrage (unter Abfragen aggregieren):
Abfrage 1:
ResourcePrincipalTokenExpiryTimeExceeding80PercentThreshold[12h]{clusterOcid = "ocid1.preprod-bigdataservice.oc1.iad.amaaaaaamn67ujqalm2xprcarkhihwcnih3lkinktmmjmqqrutqzkukpswiq"}.grouping().count()
Abfrage 2:
ResourcePrincipalSessionTokenStatus[12h]{clusterOcid = "ocid1.preprod-bigdataservice.oc1.iad.amaaaaaamn67ujqalm2xprcarkhihwcnih3lkinktmmjmqqrutqzkukpswiq"}.count()
Abfrage 3:
ResourcePrincipalTokenRefreshedInLast30Mins[30m]{clusterOcid = "ocid1.preprod-bigdataservice.oc1.iad.amaaaaaamn67ujqalm2xprcarkhihwcnih3lkinktmmjmqqrutqzkukpswiq"}.max()
Unterstützte Attribute
Die folgenden Attribute werden von Big Data Service-Ressourcen-Principals unterstützt. Dies kann sowohl auf Policy-Ebene als auch auf Ebene dynamischer Gruppen verwendet werden. Achten Sie beim Konsumieren von Resource-Principal-Attributen auf Ebene der dynamischen Gruppe darauf, Resource-Principal-Zugriffstoken neu zu generieren, damit es wirksam ist.
request.principal.id
: Die Resource Principal-ID. Der Wert entspricht der Big Data-Service-ID und wird für die Isolierung auf Ressourcenebene verwendet.request.resource.compartment.id
: Die Ressourcen-Compartment-ID des Big Data-Service und wird für die Isolierung auf Compartment-Ebene verwendet.request.resource.tenancy.id
: Die Mandanten-ID der Big Data Service-Ressource und wird für die Isolierung auf Mandantenebene verwendet.request.principal.type
: Der Resource Principal-Typ von Big Data Service. Alle Big Data Service-spezifischen Resource Principals sind'bigdataservice'
.