FAQ : ONTAP 管理のカスタムロール
すべてのとおり
に適用されます
ここにテキストを追加します。
回答
この資料では、 clustered Data ONTAP for Cluster and Vserver Administrators でカスタムロールを作成する際に必要なさまざまな側面について説明します。これらの役割は、カスタマイズされたロールの作成に役立ちます。
前提条件
- ONTAP のコマンドラインインターフェイス( CLI )に精通していること。
- クラスタ管理者の管理者権限。
用語
コマンドディレクトリ
CLI のディレクトリを参照します。
例:
volume
コマンドサブディレクトリ
ディレクトリ内のディレクトリを参照します。
例:
volume snapshot
コマンド
特定の実行可能コマンドを参照します。
volume show
例: - または - volume offline.
組み込みコマンド
すべてのディレクトリについて、次のコマンドが組み込みコマンドとして定義されています。
- create
- modify
- 削除
- show
Non-Intrinsicコマンド
管理者ロール
この記事に記載されているすべての例で、カスタムロールを参照します。
ロール
ロールとは、機能または権限の集合です。ロールには複数のルールが含まれます。各ルールには 1 つ以上の機能が指定されます。この機能は、「コマンドディレクトリ」または「コマンド」で「アクセス制御」として指定されます。
ロール定義の構文
ルールは次のパラメータで構成されます。
- vserver name :管理者ロールが属するデータ / 管理者 Vserver の名前。
- ロール名:新しいカスタムロールの名前。次に例を示します。
storage_admin_role
- コマンドディレクトリ(または)コマンド:コマンドディレクトリ(または)コマンド。
- アクセス制御:
all
、、の 3 つのオプションがありreadonly
none
ます。
次のロール定義の例を考えてみましょう。
(vs1.example.com, custrole, "volume", all)
(vs1.example.com, custrole, "volume snapshot", readonly)
(vs1.example.com, custrole, "volume clone", none)
上記の例では、ロール「 CUSTROLEvs1.example.com
」は Vserver に属し、 3 つのルールが含まれています。
ロール定義の意味:
ディレクトリ / コマンドとアクセス制御には、 6 つの組み合わせがあります。次の表に、各組み合わせの意味をまとめます。
仕様 |
アクセス |
説明 |
ディレクトリ |
|
指定したディレクトリ、そのサブディレクトリ、およびコマンドへのアクセスを許可します |
ディレクトリ |
|
|
ディレクトリ |
|
指定したディレクトリ、そのサブディレクトリ、およびコマンドへのアクセスを拒否します。 |
コマンド |
|
指定したコマンドの実行を許可します。 |
コマンド |
|
無効です。この組み合わせは使用しないことをお勧めします。 |
コマンド |
|
指定したコマンドの実行を拒否します |
アクセス制御の仕組み
- アクセス制御の動作は階層的です。
- ルールでディレクトリを使用する場合、すべてのサブディレクトリに適用されます。たとえば、この tuple()
vs1, custrole, "volume", all
volume
は、ディレクトリとそのすべてのサブディレクトリへのアクセスを許可します。 - サブディレクトリアクセスは親ディレクトリアクセスを上書きします。
- 親ディレクトリに特定のアクセス制御があり、そのサブディレクトリに別のアクセス制御が指定されている場合、サブディレクトリのアクセス制御は親ディレクトリのアクセス制御よりも優先されます。
例:次の 2 つのルールについて考えてみます。
(vs1, custrole, "volume", all)
(vs1, custrole, "volume snapshot", readonly)
最初volume
のルールでは、ディレクトリとそのすべてのサブディレクトリへのフルアクセスが有効になります。ただし、 2 番目volume snapshot
readonly
のルールでは、ディレクトリへのアクセスが制限されます。この場合volume snapshot
readonly
、フルvolume
アクセス制御では、アクセスによってが上書きされます。そのためvolume snapshot
、ディレクトリとそのサブディレクトリにreadonly
はアクセス権がall
あり、アクセス権はありません。
例:次の 2 つのルールについて考えてみます。
(vs1, custrole, "vserver", readonly)
(vs1, custrole, "vserver nfs", all)
最初vserver
readonly
のルールでは、ディレクトリとそのすべてのサブディレクトリがに制限されます。ただし、 2 番目vserver nfs
all
のルールでは、へのアクセスが指定されています。vserver nfs
この場合、フルアクセスでは親ディレクトリreadonly
のアクセス制御が上書きされます。そのためvserver nfs
、ディレクトリとすべてall
readonly
のサブディレクトリにアクセスでき、アクセスできません。
組み込みコマンドの使用に関する制限事項
create
、modify
、delete
、show
およびコマンドは組み込みコマンドであり、これらのコマンドはアクセス制御用に個別に指定することはできません。たとえば、次vs1, custrole, "volume create", all
のルールは無効です。 () このコマンドmodify
delete
show
では警告が表示されますが、、、、なども有効になります。
このデフォルトのルールとは何ですか。また、なぜこのルールが作成されるのですか。
デフォルトのルールは、残りのルールを作成するベースを指定します。Data/Admin Vserver カスタムロールの場合none
、デフォルトのルールアクセスはに設定されます。デフォルトのルールが自動的に作成されます。
カスタム RBAC ロールで個々のコマンドを指定するにはどうすればよいですか。
create
// などの組み込みコマンドmodify
delete
は指定できmodify
ません。たとえば、ロールにオプションのみを指定することはできません。
カスタム RBAC ロールで組み込みコマンドを使用する場合は、ディレクトリで次のいずれかのオプションを指定します。
all
-create
すべての //modify
delete
show
コマンドを許可しますreadonly
-show
コマンドのみを許可しますnone
- ディレクトリ全体へのアクセスを拒否します
組み込みコマンド以外のコマンドは、ロールに対して許可または拒否できます。たとえばvolume online
、は組み込みコマンドではありません。コマンドの場合、アクセスを許可(または拒否)することができます。コマンド権限all
none
は、 access を使用してイネーブルにできます。コマンド拒否は、 access を使用してイネーブルにできます。アクセスはreadonly
個々のコマンドには適用されないため、使用することは推奨されません。
特定の ZAPI をロールに対して有効にするにはどうすればよいですか。
CUSTROLE に特定の ZAPI を指定する場合は、ロール仕様で同等の CLI コマンドを指定します。volume-offline
たとえば、 CUSTROLE に対して ZAPI を有効volume offline
にする場合は、同等の CLI ルールを役割の指定に追加します。
たとえば、次のコマンドを実行します。 “security login role create –vserver vs1.example.com –role custrole –command “volume offline”–access all”.
検証のために、許可されたすべてのコマンドを管理者ロールにリストする方法を教えてください。
security login create
コマンドを使用して、ユーザアカウント「 fred」 を作成します。- admin vserver の SSH を使用してログインするか
vserver context
、コマンドを実行してデータ vserver の特定のユーザに切り替えます。
例: vserver context –vserver vs1.example.com –username fred.
security login role show-ontapi
このコマンドを使用して、その CUSTROLE のすべての CLI と同等の ZAPI を列挙します。
注security login role show-ontapi
:このコマンドが管理者ロールに対して有効になっていることを確認してください。
特定のコマンド(または) ZAPI が CUSTROLE に対して有効になっているかどうかを確認する方法を教えてください。
show-ontapi -command <command-name>
コマンドを使用して、指定したコマンドが管理者ロールに許可されているかどうかを確認します。出力には、同等の ZAPI も表示されます。
同等の ZAPI を取得するには、 CLI コマンドを使用しますか(または)。同等の CLI を取得するにはどうすればよいですか。
show-ontapi -ontapi "<ZAPI-name>"
コマンドを使用して、指定した ZAPI が CUSTROLE に対して許可されているかどうかを確認します。出力には、同等の CLI も表示されます。
ロールのコピー / クローン作成に役立つロールコピー(または)ロールクローンコマンドはありますか。
いいえ。この機能は Data ONTAP 8.1 ではサポートされていません。
Data Vserver のカスタムロールにコマンドを割り当てることはできますか。
いいえ。すべて–vserver
のコマンドを Data Vserver カスタムロールに割り当てることはできません。 SVM カスタムロールに割り当てることができるのは、 AS オプションを持つコマンドだけです。 たとえばsystem node reboot
、このコマンド–vserver
にはオプションがないため、コマンドを Data Vserver カスタムロールに割り当てることはできません。
カスタムロールの例
例:システム内のすべてのログインアカウントを管理者が表示できるようにするカスタムロールを作成します。
たとえば、このロールにはlogin_accts_ro
という名前を付けます。
許可されるコマンドsecurity login show
はです。コマンドディレクトリはですsecurity login
。
security login
readonly
アクセスできるディレクトリが必要です。
次に、ルールのタプルを示します。
(clus1, login_accts_ro, "security login", readonly).
このタプルでreadonly
security login
は、ディレクトリだけでreadonly
なく他のサブディレクトリも許可され、権限を持つディレクトリは次のようになります。
security login domain-tunnel
security login publickey
security login role
、、、および。
これら 3 つのディレクトリにアクセスできないようにする必要があります。したがって、次のルールを追加する必要があります。
(clus1, login_accts_ro, "security login domain-tunnel", none)
(clus1, login_accts_ro, "security login publickey", none)
(clus1, login_accts_ro, "security login role", none)
login_accts_ro
は、現在のユーザのパスワードを変更するためのアクセス権を持っている必要があります。
ルールは次のとおりです。
(clus1, login_accts_ro, "security login password", all)
CLIsecurity login role show-ontapi
を使用して、現在のユーザの機能を表示できます。このコマンドを追加して、機能を確認できます。
(clus1, login_accts_ro, "security login role show-ontapi", all)
ルールの概要は次のとおりです。
(clus1, login_accts_ro, "security login", readonly)
(clus1, login_accts_ro, "security login domain-tunnel", none)
(clus1, login_accts_ro, "security login publickey", none)
(clus1, login_accts_ro, "security login role", none)
(clus1, login_accts_ro, "security login password", all)
(clus1, login_accts_ro, "security login role show-ontapi", all)
login_accts_ro
次のコマンドセットを使用して、ロールを作成できます。
role create -vserver clus1 -role login_accts_ro -cmddirname "security login" -access readonly
role create -vserver clus1 -role login_accts_ro -cmddirname "security login domain-tunnel" -access none
role create -vserver clus1 -role login_accts_ro -cmddirname "security login publickey" -access none
role create -vserver clus1 -role login_accts_ro -cmddirname "security login role" -access none
role create -vserver clus1 -role login_accts_ro -cmddirname "security login password" -access all
例:ライセンス管理のみを許可するカスタムロールを作成します
たとえば、この名前をにします role licence_role
許可されるコマンドディレクトリはですsystem license
。
system license"
all
アクセスできるディレクトリが必要です。
次のタプルがあります。
(clus1, license_role, "system license", all).
license_role
は、現在のユーザのパスワードを変更するためのアクセス権を持っている必要があります。
ルールは次のようになります。
(clus1, license_role, "security login password", all)
CLI"security login role show-ontapi"
を使用して現在のユーザの機能を表示できます。このコマンドを追加して、機能を確認できます。
(clus1, license_role, "security login role show-ontapi", all)
ルールの概要は次のとおりです。
(clus1, license_role, "system license", all)
(clus1, license_role, "security login password", all)
(clus1, license_role, "security login role show-ontapi", all)
次のコマンドセットを実行して、を作成license_role
します。
role create -vserver clus1 -role license_role -cmddirname "system license" -access all
role create -vserver clus1 -role license_role -cmddirname "security login password" -access all
role create -vserver clus1 -role license_role -cmddirname "security login role show-ontapi" -access all
例:ファイルシステム管理のみを許可する Data Vserver カスタムロールを作成します
たとえば、このロールを呼び出します filesys_admin_role
。
次のコマンドディレクトリが許可されます。
"vserver nfs"
“vserver cifs”
“vserver export-policy”
“vserver locks”
“vserver services ldap”
“vserver services nis-domain”
“vserver services unix-group”
“vserver services unix-user”
次のタプルがあります。
(vs1.example.com, filesys_admin_role, "vserver nfs", all)
(vs1.example.com, filesys_admin_role, “vserver cifs”, all)
(vs1.example.com, filesys_admin_role, “vserver export-policy”, all)
(vs1.example.com, filesys_admin_role, “vserver locks”, all)
(vs1.example.com, filesys_admin_role, “vserver services ldap”, all)
(vs1.example.com, filesys_admin_role, “vserver services nis-domain”, all)
(vs1.example.com, filesys_admin_role, “vserver services unix-group”, all)
(vs1.example.com, filesys_admin_role, “vserver services unix-user”, all)
filesys_admin_role
は、現在のユーザのパスワードを変更するためのアクセス権を持っている必要があります。
ルールは次のとおりです。
(vs1.example.com, filesys_admin_role, "security login password", all)
CLI"security login role show-ontapi"
を使用して、現在のユーザの機能を表示できます。このコマンドを追加して、機能を確認できます。
(vs1.example.com, filesys_admin_role, "security login role show-ontapi", all)
ルールの概要は次のとおりです。
(vs1.example.com, filesys_admin_role, "vserver nfs", all)
(vs1.example.com, filesys_admin_role, “vserver cifs”, all)
(vs1.example.com, filesys_admin_role, “vserver export-policy”, all)
(vs1.example.com, filesys_admin_role, “vserver locks”, all)
(vs1.example.com, filesys_admin_role, “vserver services ldap”, all)
(vs1.example.com, filesys_admin_role, “vserver services nis-domain”, all)
(vs1.example.com, filesys_admin_role, “vserver services unix-group”, all)
(vs1.example.com, filesys_admin_role, “vserver services unix-user”, all)
(vs1.example.com, filesys_admin_role, "security login password", all)
(vs1.example.com, filesys_admin_role, "security login role show-ontapi", all)
次に、を作成するためのコマンドセットを示しますfilesys_admin_role
。
role create -vserver vs1.example.com -role filesys_admin_role -cmddirname "vserver nfs" -access all
role create -vserver vs1.example.com -role filesys_admin_role -cmddirname "vserver cifs" -access all
role create -vserver vs1.example.com -role filesys_admin_role -cmddirname "vserver export-policy" -access all
role create -vserver vs1.example.com -role filesys_admin_role -cmddirname "vserver locks" -access all
role create -vserver vs1.example.com -role filesys_admin_role -cmddirname "vserver services ldap" -access all
role create -vserver vs1.example.com -role filesys_admin_role -cmddirname "vserver services nis-domain" -access all
role create -vserver vs1.example.com -role filesys_admin_role -cmddirname "vserver services unix-group" -access all
role create -vserver vs1.example.com -role filesys_admin_role -cmddirname "vserver services unix-user" -access all
role create -vserver vs1.example.com -role filesys_admin _role -cmddirname "security login password" -access all
role create -vserver vs1.example.com -role filesys_admin _role -cmddirname "security login role show-ontapi" -access all