Resource Principals verwalten

Sie können Big Data Service-Clusterressourcen-Principals auf der Seite "Clusterdetails" verwalten.

Hinweis

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:

Hinweis

In den folgenden Situationen wird ein neues Resource Principal-Sessiontoken ausgegeben und an alle Knoten im Cluster verteilt:
  1. Knoten ersetzen
  2. 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'.