ResourceInfo

Enthält IAM-Ressourceninformationen.

JSON-Darstellung
{
  "policyType": string,
  "policyName": string,
  "policyRegion": string,
  "resourceContainer": string,
  "resource": {
    object (Resource)
  },
  "monitoredResource": {
    object (MonitoredResource)
  },
  "permissions": [
    string
  ],
  "nextExpectedResourceState": {
    "@type": string,
    field1: ...,
    ...
  },
  "federatedResourceHierarchy": {
    object (FederatedResourceHierarchy)
  },
  "targetResourceLocations": [
    string
  ]
}
Felder
policyType

string

OPTIONAL: Der Richtlinientyp der Ressource. Gültige Werte für „policyType“ sind z. B. „compute_instances“, „storage_buckets“ oder „resourcemanager_projects“.

policyName

string

OPTIONAL: Der Richtlinienname der Ressource. Gültige Werte für „policyName“ sind z. B. „/myproject/myinstance“, „/myproject/mybucket“ oder „/myproject“.

policyRegion

string

OPTIONAL: Der Speicherort der Richtlinie.

resourceContainer

string

OPTIONAL: Der Name des Ressourcencontainers. Dies kann in einem der folgenden Formate erfolgen: – „projects/“ – „folders/“ – „organizations/

resource

object (Resource)

OPTIONAL: Die wichtigsten Attribute für eine Ressource.

monitoredResource

object (MonitoredResource)

OPTIONAL: Die von Cloud-Audit-Logs überwachte Ressource.

permissions[]

string

OPTIONAL: Die Liste der IAM-Berechtigungsnamen, die geprüft werden sollen, im Format: {serviceName}/{plural}.{verb} oder im Legacy-Format: {serviceName}.{plural}.{verb}.

  • {serviceName} verweist auf den Dienst, zu dem die Ressource gehört.
  • {plural} verweist auf das Feld plural dieser Ressource. Muss in lowerCamelCase geschrieben sein.

Beispiel: ["library.googleapis.com/shelves.get", "library.googleapis.com/shelves.update", "library.shelves.get", "library.shelves.update"]

nextExpectedResourceState

object

Optional. Die erwartete Ansicht der Ressource nach Ausführung einer Mutation.

Beispiel: Ein CreateBookRequest könnte so aussehen: { parent: "projects/project-123" book { author: "Someone Famous" title: "This is a Title" read: false } book_id: "book-123" }

nextExpectedResourceState könnte so aussehen: { name: "projects/project-123/books/book-123" author: "Someone Famous" title: "This is a Title" }

Ein Objekt, das Felder eines beliebigen Typs enthält. Ein zusätzliches Feld "@type" enthält einen URI zur Identifizierung des Typs. Beispiel: { "id": 1234, "@type": "types.example.com/standard/id" }.

federatedResourceHierarchy

object (FederatedResourceHierarchy)

OPTIONAL: Föderierte Ressourcenhierarchie für die IAM-Richtlinienföderation.

targetResourceLocations[]

string

OPTIONAL: Die Standorte der Zielressource. Der Vorgangsinhaber kann die Zielstandorte entweder als deduplizierte Liste von Google Cloud-Regionsnamen oder als ["global"] angeben. Hinweis: Multiregionale Namen werden nicht unterstützt.

Ressource

In dieser Nachricht werden die wichtigsten Attribute für eine Ressource definiert. Eine Ressource ist eine adressierbare (benannte) Entität, die vom Zieldienst bereitgestellt wird. Beispiel: Eine Datei, die in einem Netzwerkspeicherdienst gespeichert ist.

JSON-Darstellung
{
  "service": string,
  "name": string,
  "type": string,
  "labels": {
    string: string,
    ...
  },
  "uid": string,
  "annotations": {
    string: string,
    ...
  },
  "displayName": string,
  "createTime": string,
  "updateTime": string,
  "deleteTime": string,
  "etag": string,
  "location": string
}
Felder
service

string

Der Name des Dienstes, zu dem diese Ressource gehört, z. B. pubsub.googleapis.com. Der Dienst kann sich vom DNS-Hostnamen unterscheiden, der die Anfrage tatsächlich verarbeitet.

name

string

Die stabile Kennung (Name) einer Ressource auf der service. Eine Ressource kann logisch als „//{resource.service}/{resource.name}“ identifiziert werden. Die Unterschiede zwischen einem Ressourcennamen und einem URI sind:

  • Der Ressourcenname ist eine logische Kennung, die unabhängig von Netzwerkprotokoll und API-Version ist. Beispiel: //pubsub.googleapis.com/projects/123/topics/news-feed.
  • Die URI enthält oft Protokoll- und Versionsinformationen, sodass sie direkt von Anwendungen verwendet werden kann. Beispiel: https://pubsub.googleapis.com/v1/projects/123/topics/news-feed.

Weitere Informationen finden Sie unter https://cloud.google.com/apis/design/resource_names.

type

string

Der Typ der Ressource Die Syntax ist plattformspezifisch, da Ressourcen auf verschiedenen Plattformen unterschiedlich definiert werden.

Bei Google APIs muss das Typformat "{service}/{kind}" sein, z. B. "pubsub.googleapis.com/Topic".

labels

map (key: string, value: string)

Die Labels oder Tags der Ressource, z. B. AWS-Ressourcen-Tags und Kubernetes-Ressourcenlabels.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

uid

string

Die eindeutige Kennzeichnung der Ressource. Die UID gilt zeitlich und räumlich im Rahmen des Dienstes nur für diese eine Ressource. Sie wird in der Regel nach dem Erstellen der Ressource vom Server generiert und darf nicht geändert werden. Die UID dient dazu, Ressourcen, deren Namen wiederverwendet werden, eindeutig zu kennzeichnen. Dies sollte eine UUID4 sein.

annotations

map (key: string, value: string)

„Annotations“ ist eine unstrukturierte Schlüssel/Wert-Zuordnung, die mit einer Ressource gespeichert wird und von externen Tools festgelegt werden kann, um beliebige Metadaten zu speichern und abzurufen. Sie können nicht abgefragt werden und sollten beim Ändern von Objekten beibehalten werden.

Weitere Informationen: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

displayName

string

Veränderlich. Der von Clients festgelegte Anzeigename. Muss <= 630Zeichen umfassen.

createTime

string (Timestamp format)

Nur Ausgabe. Der Zeitstempel, der angibt, wann die Ressource erstellt wurde. Das kann entweder der Zeitpunkt sein, zu dem die Erstellung initiiert wurde, oder der Zeitpunkt, zu dem sie abgeschlossen wurde.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

Nur Ausgabe Der Zeitstempel, der angibt, wann die Ressource zuletzt aktualisiert wurde. Wenn Nutzer Änderungen an der Ressource vornehmen, muss dieser Wert aktualisiert werden. Gleiches gilt bei Änderungen an der Ressource durch den Dienst.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30"

deleteTime

string (Timestamp format)

Nur Ausgabe. Der Zeitstempel, der angibt, wann die Ressource erstellt wurde. Wenn die Ressource nicht gelöscht wird, muss dieses Feld leer sein.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30"

etag

string

Nur Ausgabe. Ein opaker Wert, der eine Version oder Generation einer Ressource eindeutig kennzeichnet. Damit kann bestätigt werden, dass Client und Server der Reihenfolge einer Ressource, die gerade geschrieben wird, zustimmen.

location

string

Nicht veränderbar. Der Standort der Ressource. Die Standortcodierung hängt vom jeweiligen Dienstanbieter ab und neue Codierungen können eingeführt werden, wenn der Dienst weiterentwickelt wird.

Bei Google Cloud-Produkten wird die Codierung verwendet, die von Google Cloud APIs wie us-east1, aws-us-east-1 und azure-eastus2 verwendet wird. Die Semantik von location entspricht dem Label cloud.googleapis.com/location, das von einigen Google Cloud APIs verwendet wird.

FederatedResourceHierarchy

JSON-Darstellung
{
  "version": integer,
  "federatedHierarchy": [
    {
      object (FederatedResource)
    }
  ],
  "nonFederatedParent": {
    object (PolicyName)
  }
}
Felder
version

integer

Gibt das Format dieser föderierten Hierarchie an. Gültige Werte sind 0 und 1. Anfragen mit einem ungültigen Wert werden abgelehnt.

Dieses Feld gibt an, welche föderierten Attribute dem Client bekannt sind. Für alle Attribute, die dem Client bekannt sind, muss ein anderer Wert als der Standardwert festgelegt sein. Alle Attribute, die dem Client nicht bekannt sind, werden als NOT_FEDERATED betrachtet. Für eine bestimmte Version muss der Client alle Attribute dieser Version und darunter kennen.

             +----------+----------------------+
             | Version  | Supported Attributes |
             +----------+----------------------+
             | 0        | grant policies, tags |
             +----------+----------------------+
             | 1        | grant policies, tags |
             +----------+----------------------+

Hinweis: Zwischen Version 0 und Version 1 gibt es keinen Unterschied. Bevorzuge die Verwendung von 1.

federatedHierarchy[]

object (FederatedResource)

In der richtigen Reihenfolge, beginnend mit dem Blattknoten, Attribute von Ressourcen in dieser Anfrage, die föderierte Informationen enthalten. Der Richtlinienname des Blattknotennamens muss mit dem Basis-PolicyName für die Ressource in der Anfrage übereinstimmen, z. B. CheckPolicyRequest.name, BulkCheckPolicyRequest.requests.name. Diese Liste darf maximal 15 Einträge enthalten.

nonFederatedParent

object (PolicyName)

Der Richtlinienname der nächstgelegenen übergeordneten Ressource mit zentral gespeicherten Richtlinien und Attributen.

FederatedResource

JSON-Darstellung
{
  "policyName": {
    object (PolicyName)
  },
  "resourceName": string,

  // Union field grant_policy can be only one of the following:
  "grantPolicyStatus": enum (FederatedAttributeStatus),
  "federatedGrantPolicy": {
    object (FederatedGrantPolicy)
  }
  // End of list of possible types for union field grant_policy.

  // Union field tags can be only one of the following:
  "tagsStatus": enum (FederatedAttributeStatus),
  "federatedTags": {
    object (FederatedTags)
  }
  // End of list of possible types for union field tags.
}
Felder
policyName

object (PolicyName)

resourceName

string

Der relative Ressourcenname ohne das Präfix „/“ (z.B. „projects/project-id“). Weitere Informationen finden Sie unter https://cloud.google.com/apis/design/resource_names#relative_resource_name.

Dieses Feld wird für Zugriffsgrenzen für Anmeldedaten (Credential Access Boundaries, CAB) verwendet, um die „availableResource“ der CAB-Regel abzugleichen. Weitere Informationen finden Sie unter https://cloud.google.com/iam/docs/downscoping-short-lived-credentials.

Union-Feld grant_policy.

Für grant_policy ist nur einer der folgenden Werte zulässig:

grantPolicyStatus

enum (FederatedAttributeStatus)

federatedGrantPolicy

object (FederatedGrantPolicy)

Union-Feld tags.

Für tags ist nur einer der folgenden Werte zulässig:

tagsStatus

enum (FederatedAttributeStatus)

federatedTags

object (FederatedTags)

PolicyName

Ein interner Name für eine IAM-Richtlinie, basierend auf der Ressource, für die die Richtlinie gilt. Nicht zu verwechseln mit dem externen vollständigen Ressourcennamen einer Ressource. Weitere Informationen zu dieser Unterscheidung.

JSON-Darstellung
{
  "type": string,
  "id": string,
  "region": string
}
Felder
type

string

Ressourcentyp. Typen werden in den .service-Dateien von IAM definiert. Gültige Werte für „type“ sind z. B. „storage_buckets“, „compute_instances“, „resourcemanager_customers“ und „billing_accounts“.

id

string

Kennzeichnet eine Instanz des Typs. Das ID-Format variiert je nach Typ. Das ID-Format wird in der IAM-Datei „.service“ definiert, die den Typ entweder in „path_mapping“ oder in einem Kommentar definiert.

region

string

Für Cloud IAM: Der Speicherort der Richtlinie. Muss für Richtlinien, die zu global IAM gehören, leer oder „global“ sein. Für regionale IAM-Richtlinien muss eine Region aus prodspec/cloud-iam-cloudspec angegeben werden.

Für lokales IAM: Dieses Feld sollte auf „local“ festgelegt sein.

FederatedGrantPolicy

Vom Aufrufer bereitgestellte Richtlinie für föderierte Gewährung. Diese Werte werden bei der CheckPolicy-Auswertung anstelle der gespeicherten Richtlinien verwendet. Die Größe beträgt garantiert höchstens 257 KiB. Eine Erhöhung dieses Limits erfordert eine Überprüfung durch Dienste, die in die IAM-Föderation eingebunden sind.

JSON-Darstellung
{
  "version": integer,
  "policyData": {
    "@type": string,
    field1: ...,
    ...
  },
  "visibleReferences": {
    object (VisibleReferences)
  },
  "sha256": string
}
Felder
version

integer

Schemaversion dieses Richtlinienobjekts. Bei allen wichtigen Änderungen am Schema für föderierte Richtlinien wird die Versionsnummer erhöht. Gültige Versionsnummern sind: 1: erste Version. Jeder andere Wert führt zu einem Fehler wegen eines ungültigen Arguments.

policyData

object

IAM-spezifische Daten, in denen der Richtlinieninhalt gespeichert ist. Föderierte Teams sollten ohne Genehmigung von IAM keine Annahmen über den Inhalt oder die Größe der Richtliniendaten treffen. Die Richtliniendaten dürfen nicht außerhalb von IAM-Code gelesen oder geändert werden.

Ein Objekt, das Felder eines beliebigen Typs enthält. Ein zusätzliches Feld "@type" enthält einen URI zur Identifizierung des Typs. Beispiel: { "id": 1234, "@type": "types.example.com/standard/id" }.

visibleReferences

object (VisibleReferences)

sha256

string (bytes format)

Hash der policyData für das Caching. Dieselbe Richtlinie für verschiedene Ressourcen sollte denselben Hash haben.

Ein base64-codierter String.

VisibleReferences

Hauptkonten oder andere Entitäten, auf die in der Richtlinie verwiesen wird. Wenn eine dieser Entitäten gelöscht wird, sollte die Richtlinie zur Bereinigung an IAM gesendet werden. Einträge für jedes Feld werden nicht wiederholt, sind aber möglicherweise nicht sortiert.

JSON-Darstellung
{
  "gaiaIds": [
    string
  ],
  "customRoles": [
    string
  ],
  "cpis": [
    string
  ],
  "projectNumbers": [
    string
  ]
}
Felder
gaiaIds[]

string (int64 format)

customRoles[]

string

Name der benutzerdefinierten Rolle, wie in der Richtlinie verwendet. Beispiel: organizations/1234/roles/myRole.

cpis[]

string

projectNumbers[]

string (int64 format)

Projektnummer von projectOwner, projectEditor und projectViewer

FederatedTags

Ein Wrapper für eine Zuordnung von Tag-Schlüssel/Wert-Paaren, da Zuordnungen kein Feld in einem „oneof“ sein können. Wird noch nicht für die Nutzung von Google Cloud-Diensten unterstützt.

JSON-Darstellung
{
  "tags": {
    string: string,
    ...
  }
}
Felder
tags

map (key: string, value: string)

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.