Zugriffskontrolle
Die Tokenisierungsunterstützung umfasst eine Zugriffskontrollfunktion, die sowohl rollenbasierte als auch eigentumsbasierte Kontrollmechanismen unterstützt.
Token Admin
oder Token Minter
. Mit der eigentumsbasierten Kontrolle können Sie den Zugriff von Benutzern auf Assets einschränken, deren Eigentümer sie nicht sind. Bei der eigentumsbasierten Zugriffskontrolle können bestimmte Methoden von den Benutzern aufgerufen werden, die Eigentümer der Assets sind, z.B. Token Owner
oder Account Owner
. Spezifische Informationen zur Zugriffskontrolle für Methoden finden Sie in den einzelnen Einträgen für die Methoden, die in den folgenden Themen dokumentiert sind:
- Tokenadministrator
Token Admin
-Benutzer können zugewiesen werden, wenn ein Token Chaincode bereitgestellt wird. Die BenutzerinformationenToken Admin
werden in der Statusdatenbank gespeichert. EinToken Admin
-Benutzer kannToken Admin
-Berechtigungen für andere Benutzer erteilen und entfernen. EinToken Admin
-Benutzer kann seine eigenenToken Admin
-Berechtigungen nicht entfernen. EinToken Admin
-Benutzer kann jedem Benutzer die RolleOrg Admin
, Minter, Brenner oder Notar zuweisen.- Organisationsadministrator
- Die erweiterten Token Taxonomy Framework-Methoden unterstützen die Rolle
Org Admin
. EinToken Admin
-Benutzer kann jedem Benutzer die RolleOrg Admin
zuweisen.Org Admin
-Benutzer haben administrative Berechtigungen, jedoch nur innerhalb ihrer Organisation. Sie können Konten erstellen oder Kontensalden anzeigen, jedoch nur für Benutzer in ihrer Organisation.Org Admin
-Benutzer mit einer Minter-, Brenner- oder Notarrolle können diese Rolle anderen Benutzern in ihrer Organisation zuweisen. - Token-Minter
- Ein Benutzer, dem die Minter-Rolle zugewiesen ist, ist
Token Minter
und kann Token mint. - Tokenbrenner
- Ein Benutzer, dem die Brennerrolle zugewiesen ist, ist ein
Token Burner
und kann Token brennen. - Tokennotar
- Ein Benutzer, dem die Notarrolle zugewiesen ist, ist ein
Token Notary
. EineToken Notary
fungiert bei Transaktionen zwischen Zahlern und Zahlungsempfängern als Dritter. EineToken Notary
kann entweder den Abschluss einer Tokenübertragung von einem Zahler zu einem Zahlungsempfänger auslösen oder die Token stattdessen auf das Konto des Zahlers zurückgeben. - Vault Manager
- Ein Benutzer, dem die Vault-Rolle zugewiesen ist, ist
Vault Manager
. DieVault Manager
kann eine gesperrte NFT entsperren. Die Tresorrolle gilt nur für die erweiterten ERC-721- und ERC-1155-Standards. Die Zuweisung der Vault-Rolle zu einem Benutzer ist eine Voraussetzung für das Sperren von NFTs. Der Vault-Rolle kann nur ein Benutzer pro Chaincode zugewiesen werden.
Die rollenbasierte Zugriffskontrolle und die eigentumsbasierte Zugriffskontrolle werden in einigen Methoden ebenfalls kombiniert. Beispiel: Mit der rollenbasierten Zugriffskontrolle kann ein Benutzer mit der Minter-Rolle Token erstellen. Mit der eigentumsbasierten Zugriffskontrolle kann ein Eigentümer eines nicht fungiblen Tokens die benutzerdefinierten Eigenschaften eines Tokens ändern, aber die Tokenmetadaten nicht ändern. Wenn ein Benutzer mit der Minter-Rolle ein Non-Fungible Token (NFT) erstellt, wird er Eigentümer der NFT. Als Eigentümer dieser NFT können sie die benutzerdefinierten Eigenschaften ändern (bei einem Kunstsammlungstoken ist der Tokenpreis eine benutzerdefinierte Eigenschaft). Nachdem der Token-Ersteller die NFT an einen anderen Benutzer überträgt, wird der zweite Benutzer zum Eigentümer, und der Benutzer, der das Token erstellt hat, ist nicht mehr der Eigentümer des Tokens. Aufgrund der eigentumsbasierten Zugriffskontrolle kann der neue Eigentümer jetzt einen benutzerdefinierten Eigenschaftswert aktualisieren, der vorherige Eigentümer jedoch nicht mehr. Aufgrund der rollenbasierten Zugriffskontrolle kann der vorherige Eigentümer immer noch eine NFT prägen, der neue Benutzer jedoch nicht.
Sie können auch eigene Zugriffskontrollfunktionen schreiben oder die Zugriffskontrolle deaktivieren. Der automatisch generierte Code, der den Zugriff steuert, wird in den folgenden Beispielen gezeigt.
await this.Ctx.<Token Standard>Auth.checkAuthorization(...)
auth, err := t.Ctx.<Token Standard>Auth.CheckAuthorization(...)
Hinweis:
Um die automatisch generierte Zugriffskontrollfunktion zu entfernen, entfernen Sie die vorherige Codezeile aus dem Projekt TypeScript oder Go.