Skip to content

Рұқсаттар

Тіркелгілерге блокчейндегі әртүрлі іс-әрекеттер үшін рұқсат белгілері қажет, мысалы, активтерді монеталау немесе жағу.

Қоғамдық және жеке блокчейн арасында пайдаланушыларға берілген рұқсаттар бойынша айырмашылық бар. Қоғамдық блокчейнде аккаунттардың көпшілігі бірдей рұқсаттарға ие. Жеке блокчейнде, аккаунттардың көпшілігі оларға берілген биліктен тыс ештеңе істей алмайтынын болжайды, егер тиісінше рұқсат берілген.

Бірдеңе жасауға рұқсат алу - бұл шотта тиісті Permission бар дегенді білдіреді. Рұқсаттар тікелей немесе Role арқылы берілуі мүмкін, ол рұқсаттардың жиынтығын топтастырады. Рұқсаттар Grant нұсқаулығымен беріледі. Рұқсаттар мен рөлдер мерзімі өтіп кетпейді; оларды Revoke нұсқауларымен алып тастаңыз.

Рұқсат белгілері

Рұқсат белгілері - белсенді орындаушы анықтаған типтік нысандар. Кейбір таңбалар жалпы, мысалы CanManagePeers, ал басқалары белгілі бір кітапша объектісіне, мысалы, шотқа, активке, активтің анықтамасына, доменге, NFT роліне немесе триггерге арналған.

Мұнда әртүрлі рұқсат белгілері үшін қолданылатын параметрлердің кейбір мысалдары келтірілген:

  • Белгілі бір шотқа арналған метамәдени деректерді өзгертуге рұқсат беретін белгіде account өрісі болады:

    json
    {
      "account": "<AccountId>"
    }
  • Белгілі бір активтің анықтамасы бойынша активтерді ауыстыруға рұқсат беретін белгіде asset_definition өрісі болады:

    json
    {
      "asset_definition": "<AssetDefinitionId>"
    }
  • CanManagePeers сияқты әлемдік белгіде өрістер жоқ:

    json
    {}

Алдын ала конфигурацияланған рұқсат белгілері

Сіз Reference тарауында алдын ала конфигурацияланған рұқсат белгілерінің тізбесін таба аласыз.

Рұқсат беру топтары (рольдері)

Рұқсаттар жиынтығы рөл деп аталады. Рұқсат белгілеріне ұқсас, Grant нұсқаулығын қолдана отырып, рөлдер берілуі және Revoke нұсқауын қолдана отырып кері қайтарып алынуы мүмкін.

Есепшотқа рөл беруден бұрын, ең алдымен рөлді тіркеу қажет.

Ролдар бірнеше шоттар бірдей рұқсаттар жинағын алған кезде пайдалы. рөлді бір рет тіркеңіз, рөлге рұқсат беріңіз, содан кейін жеке шоттарға рөлді беру немесе қайтарып алу.

Жаңа рөлді тіркеу

Біз жаңа рөлді тіркейік, ол берілген кезде басқа бір шотқа Meta-деректерге кіруіне мүмкіндік береді:

rust
let role_id = RoleId::from_str("ACCESS_TO_MOUSE_METADATA")?;
let role = iroha_data_model::role::Role::new(role_id.clone(), mouse_id.clone())
    .add_permission(CanModifyAccountMetadata {
        account: mouse_id.clone(),
    });
let register_role = Register::role(role);

Рольді беру

Роль тіркелгеннен кейін, Мыш оны Алиске бере алады:

rust
let grant_role = Grant::account_role(role_id, alice_id);
let grant_role_tx = TransactionBuilder::new(chain_id, mouse_id)
    .with_instructions([grant_role])
    .sign(mouse_private_key);

Рұқсатты растаушылар

Рұқсаттар бар, сондықтан тек қажетті рұқсат белгісі бар тіркелгілер қорғалған іс-әрекетті орындай алады. Әдеттегі орындаушы нұсқаулар, сұраулар және экспрессияларды орындау кезінде рұқсаттарды тексерді.

Әдеттегі растаушының беті бухгалтерлік кітапша аумағы бойынша топтастырылады:

  • теңгерімпаздарды басқару
  • домендер мен шоттар
  • активтер, NFTs, және кепілдіктер
  • қозғалтқыштар
  • рөлдер мен рұқсаттар
  • орындаушы/жұмыс уақыты, дәлелдемелер, көпірлер және SORA/Nexus модульдер

Белгілі белгілер тізімі Permission Tokens анықтамасында дереккөзге негізделген.

Жүргізу уақытын растаушылар

Рұқсаттарды тексеруді белсенді орындаушы орындайды. Әдеттегі орындаушы кіріктірілген рұқсатты растаушыларды және белгілерді анықтайды, ал желі қолданатын орындаушыны жаңартып, саясатты өзгерте алады.

Куәландырушылар куәландыру үкімін қайтарады. Куәландырушы операцияға рұқсат бере алады, дәлелді себеппен бас тарта алады немесе егер операция осы куәландырушының ауқымынан тыс болса, оны өткізіп тастауы мүмкін. Таңдалған судья нұсқаудың, сұраудың немесе көріністің жалғасуына шешім қабылдау үшін сол үкімдерді біріктіреді.

Қолданылатын сұрақтар

Рұқсат белгілері мен рөлдер сұралуы мүмкін.

Рөлдерге арналған сұрау салулар:

Рұқсат белгілері сұрақтары: