You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/NooBaaNonContainerized/Configuration.md
+36-13Lines changed: 36 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -49,7 +49,7 @@ For Developers - Use `--config_root` flag for specifying a custom configuration
49
49
50
50
### Configuration files permissions
51
51
Mode
52
-
* Configuration files generated under the `accounts/` or `buckets/` directories will have 600 permissions, granting read and write access exclusively to the owner of each configuration file.
52
+
* Configuration files generated under the `identities/` or `buckets/` directories will have 600 permissions, granting read and write access exclusively to the owner of each configuration file.
53
53
54
54
Ownership
55
55
* Configuration file created by the NooBaa CLI tool will be owned by the user who ran the NooBaa CLI command.
@@ -62,8 +62,9 @@ The default config directory structure contains the following files/directories
62
62
> sudo ls /etc/noobaa.conf.d/
63
63
system.json // Required
64
64
access_keys/ // Required
65
-
accounts/ // Required
65
+
accounts_by_name/ // Required
66
66
buckets/ // Required
67
+
identities/ // Required
67
68
config.json // Optional
68
69
master_keys.json // Optional
69
70
certificates/ // Optional
@@ -81,8 +82,9 @@ config_dir_redirect // Required
81
82
> sudo ls /path/to/custom/config/dir/
82
83
system.json // Required
83
84
access_keys/ // Required
84
-
accounts/ // Required
85
+
accounts_by_name/ // Required
85
86
buckets/ // Required
87
+
identities/ // Required
86
88
config.json // Optional
87
89
master_keys.json // Optional
88
90
certificates/ // Optional
@@ -113,29 +115,33 @@ certificates/ // Optional
113
115
}
114
116
}
115
117
```
116
-
`accounts/` -
118
+
119
+
`accounts_by_name/`
117
120
*<u>Type</u>: Directory.
118
121
*<u>Required</u>: Yes.
119
-
*<u>Description</u>: A directory that contains configuration files for individual accounts, each account configuration file is named {account_name}.json and adheres to the [account schema](../../src/server/system_services/schemas/nsfs_account_schema.js).
122
+
*<u>Description</u>: A directory that contains symlinks to accounts configurations, each symlink named
123
+
{account_name}.symlink, linking to the account config within `identities/<account-id>` directory,
124
+
configuration file is named identity.json and adheres to the [account schema](../../src/server/system_services/schemas/nsfs_account_schema.js). The account name symlink points to a relative path of the account rather than an absolute path, for example: `../identities/1111/identity.json`.
*<u>Description</u>: A directory that contains symlinks to accounts configurations, each symlink named {access_key}.symlink, linking to an account within `accounts/` directory. The access key symlink points to a relative path of the account rather than an absolute path, for example: `../accounts/alice.json`.
136
+
*<u>Description</u>: A directory that contains symlinks to accounts configurations, each symlink named {access_key}.symlink, linking to an account within `identities/<account-id>/` directory. The access key symlink points to a relative path of the account rather than an absolute path, for example: `../identities/3333/identity.json`.
*<u>Description</u>: A directory that contains configuration files for individual identities, each identity configuration file is named {identity}.json. In case the identity is an account it adheres to the [account schema](../../src/server/system_services/schemas/nsfs_account_schema.js).
Copy file name to clipboardExpand all lines: docs/design/iam.md
+70Lines changed: 70 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -127,6 +127,76 @@ Here attached a diagram with all the accounts that we have in our system:
127
127
- IAM DeleteAccessKey: AccessKeyId, UserName
128
128
- IAM ListAccessKeys: UserName (not supported: Marker, MaxItems)
129
129
130
+
### Configuration Directory Components With users
131
+
If account creates a user its config file will be created under identities/<user-id>.identity.json and under the account will be created `users/` directory and inside it it will link to the config.
132
+
Example:
133
+
Note: In this example, we didn't use `system.json`, `config.json`, and `certificates/`.
134
+
1. Configuration directory with 1 account (name: alice, ID: 1111):
- Account names are unique between the accounts, for example, if we have account with name John, you cannot create a new account with the name John (and also cannot update the name of an existing account to John).
171
+
- Usernames are unique only inside the account, for example: username Robert can be under account-1, and another user with username Robert can be under account-2.
172
+
Note: The username cannot be the same as the account, for example: under account John we cannot create a username John (and also cannot update the name of an existing username to John). The reason for limiting it is that in the IAM API of Access Key (for example ListAccessKeys) it can be done by account on himself or on another user, and it passes the `--user-name` flag.
173
+
174
+
Example: 2 accounts (alice and bob) both of them have user with username Robert (notice the different ID number).
0 commit comments