JP7228751B2 - 権限管理のための方法および装置、コンピュータ機器ならびに記憶媒体 - Google Patents

権限管理のための方法および装置、コンピュータ機器ならびに記憶媒体 Download PDF

Info

Publication number
JP7228751B2
JP7228751B2 JP2022542366A JP2022542366A JP7228751B2 JP 7228751 B2 JP7228751 B2 JP 7228751B2 JP 2022542366 A JP2022542366 A JP 2022542366A JP 2022542366 A JP2022542366 A JP 2022542366A JP 7228751 B2 JP7228751 B2 JP 7228751B2
Authority
JP
Japan
Prior art keywords
statement
command
container
content
configuration file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022542366A
Other languages
English (en)
Other versions
JP2023500166A (ja
Inventor
シェ,ユン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Envision Digital Co Ltd
Envision Digital International Pte Ltd
Original Assignee
Shanghai Envision Digital Co Ltd
Envision Digital International Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Envision Digital Co Ltd, Envision Digital International Pte Ltd filed Critical Shanghai Envision Digital Co Ltd
Publication of JP2023500166A publication Critical patent/JP2023500166A/ja
Application granted granted Critical
Publication of JP7228751B2 publication Critical patent/JP7228751B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Description

本発明はインターネット技術の分野に関し、特に、権限管理のための方法および装置、コンピュータ機器ならびに記憶媒体に関する。
ソフトウェア開発段階では、開発者は、プロジェクトの継続的インテグレーション(CI)を行う必要がある。コンパイル環境の清浄性および独立性を保証するために、コンテナ技術が生まれた。しかしながら、コンテナを構築する過程で、ユーザは通常ルート権限を与えられ、コンテナのルートとして実行することはホストマシンに何らかのセキュリティリスクをもたらすことになる。
関連技術では、上記の問題を解決するために、ユーザはchmodを介してコンテナ内の特定のファイルの読み出しおよび書き込みの実行権限を与えられるか、もしくは例えばrbash、bash、lshellなどの権限ツールを用いることによりブラックリストまたはホワイトリストの権限管理をユーザに行うことによって、コンテナ内のユーザの権限を制限し、ホストマシンのセキュリティを保証する。
しかしながら、上記の関連する技術的解決手段で用いられる権限管理のための方法では、権限管理ツールによって生じた権限制限は、ユーザがホワイトリストのユーザだと確認されると、ユーザによるスクリプト入力を実行するために、解消されることになり、権限管理の不正確さおよび安全性の低下につながる。
本発明の実施形態は、照合処理における照合リソースの無駄を削減することができ、照合の効率を改善することができる、権限管理のための方法および装置、コンピュータ機器、ならびに記憶媒体を提供する。技術的解決手段は以下の通りである。
一態様では、権限管理のための方法が提供されており、前記方法はコンピュータ機器によって実行され、前記コンピュータ機器はコンテナをロードして実行するように構成され、前記方法は、
前記コンテナが初期化された時、ビジネスシナリオに従って構成ファイルを取得するステップであって、前記構成ファイルは前記コンテナの外側で管理され、前記構成ファイルは前記コンテナ内の前記ビジネスシナリオに対応する権限管理ルールを用いて構成される、ステップと;
前記コンテナ内の前記構成ファイルを認証するステップと;
ユーザ命令を受信するステップと;
前記ユーザ命令が実行可能命令である場合、前記ユーザ命令の種類を識別するステップと;
前記ユーザ命令の前記種類が前記ユーザ命令はスクリプトファイルであることを示す場合、前記スクリプトファイルのスクリプト内容を取得するステップであって、前記スクリプト内容は少なくとも1つのコマンドステートメントを含む、ステップと;
前記構成ファイルに基づいて前記少なくとも1つのコマンドステートメントの有効性検査を実行するステップとを含む。
一態様では、権限管理のための装置が提供される。前記装置はコンピュータ機器に適用され、前記コンピュータ機器はコンテナをロードして実行するように構成され、前記装置は、
前記コンテナが初期化された時、ビジネスシナリオに従って構成ファイルを取得するように構成された第1の取得モジュールであって、前記構成ファイルは前記コンテナの外側で管理され、前記構成ファイルは前記コンテナ内の前記ビジネスシナリオに対応する権限管理ルールを用いて構成される、前記第1の取得モジュールと;
前記コンテナ内の前記構成ファイルを認証するように構成された認証モジュールと;
ユーザ命令を受信するように構成された受信モジュールと;
前記ユーザ命令が実行可能命令である場合、前記ユーザ命令の種類を識別するように構成された識別モジュールと;
前記ユーザ命令の前記種類が前記ユーザ命令はスクリプトファイルであることを示す場合、前記スクリプトファイルのスクリプト内容を取得するように構成された第2の取得モジュールであって、前記スクリプト内容は少なくとも1つのコマンドステートメントを含む、前記第2の取得モジュールと;
前記構成ファイルに基づいて前記少なくとも1つのコマンドステートメントの有効性検査を実行するように構成された第1の検査モジュールとを含む。
任意で、前記装置は、
前記構成ファイルに基づいて前記少なくとも1つのコマンドステートメントの前記有効性検査を実行する前に、前記スクリプト内容の前記少なくとも1つのコマンドステートメントのステートメント内容を取得するために前記スクリプト内容のステートメント構文解析を実行するように構成された第1の構文解析モジュールと;
前記対応する構成ファイルに基づいた少なくとも1つのコマンドステートメントの順序で前記少なくとも1つのコマンドステートメントの前記ステートメント内容の前記有効性検査を順次実行するように構成された前記第1の検査モジュールとをさらに含む。
任意で、前記装置は、
前記ステートメント内容の1番目のステートメント内容が有効である場合、前記1番目のステートメント内容に対応する1番目のコマンドステートメントを実行するように構成された第1の実行モジュールと;
前記ステートメント内容の2番目のステートメント内容が無効である場合、前記コマンドステートメントの実行を停止し、前記対応する構成ファイルに基づいた前記少なくとも1つのコマンドステートメントの順序で前記少なくとも1つのコマンドステートメントの前記ステートメント内容の前記有効性検査を順次実行する前記ステップを終了するように構成された実行停止モジュールとをさらに含む。
任意で、前記装置は、
前記少なくとも1つのコマンドステートメントの前記ステートメント内容がすべて有効である場合、前記スクリプト内容を実行するように構成された第2の実行モジュールをさらに含む。
任意で、前記装置は、
前記ユーザ命令が前記コマンドステートメントである場合、前記コマンドステートメントのステートメント内容を取得するために、前記コマンドステートメントを構文解析するように構成された第2の構文解析モジュールと;
前記ステートメント内容に対応する前記構成ファイルの内容に基づいて前記コマンドステートメントの前記ステートメント内容の前記有効性検査を実行するように構成された第2の検査モジュールと;
前記ステートメント内容が有効である場合、前記コマンドステートメントを実行するように構成された第3の実行モジュールとをさらに含む。
任意で、前記構成ファイルに対応する前記権限管理ルールは、前記ビジネスシナリオに従ってIshellツールによって構成される。
一態様では、コンピュータ機器が提供される。前記コンピュータ機器は、プロセッサと、少なくとも1つの命令、少なくとも1つのプログラム、コードセットまたは命令セットを保存するメモリとを含んでおり、前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセットまたは前記命令セットは、前記プロセッサによってロードされて実行されると、前記プロセッサに権限管理のための前記方法を実行させる。
一態様では、コンピュータ可読記憶媒体が提供される。前記コンピュータ可読記憶媒体は、少なくとも1つの命令、少なくとも1つのプログラム、コードセットまたは命令セットを保存し、前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセットまたは前記命令セットは、プロセッサによってロードされて実行されると、前記プロセッサに権限管理のための前記方法を実行させる。
本発明によって提供される技術的解決手段は、以下の有益な効果を含み得る。
コンテナが初期化された時、ビジネスシナリオに従ってコンテナの外側から構成ファイルが取得され、構成ファイルはコンテナ内で認証される。ユーザ命令が受信され、ユーザ命令が実行可能命令である場合、ユーザ命令の種類が識別される。ユーザ命令の種類がスクリプトファイルである場合、スクリプトファイルに含まれる少なくとも1つのコマンドステートメントが取得され、構成ファイルに基づいてスクリプトファイルの少なくとも1つのコマンドステートメントに有効性検査が実行される。したがって、コンテナの使用中、コンテナのユーザ権限がビジネスシナリオに従って管理され、ユーザ権限がより小さな粒度の観点から管理されることによって、コンテナの利用安全性を改善する一方で、権限の適応性を実現する。
前述の概要および以下の詳細な説明は例示的かつ説明的なものであるに過ぎず、本発明を限定することを目的としないことを理解されたい。
本明細書に組み込まれ本明細書の一部を構成する添付図面は、本発明と一貫した実施形態を示し、本明細書と共に、本発明の原理を説明する働きをする。
本発明の例示的実施形態によって提供される権限管理のための方法の流れ図を示す。 本発明の実施形態に関連するミラーリングに基づいて構築されたコンテナの概略図を示す。 本発明の例示的実施形態によって提供される権限管理のための方法の流れ図を示す。 本発明の例示的実施形態によって提供される権限管理のための方法の流れ図を示す。 本発明の実施形態に関連するユーザ命令の有効性検査プロセスの概略図を示す。 本発明の例示的実施形態によって提供される権限管理のための装置のブロック図を示す。 例示的実施形態によるコンピュータ機器の構造ブロック図である。
例示的実施形態は本明細書において詳述され、その実施例は添付図面において図示される。以下の説明は添付図面を参照しており、特に明記しない限り、異なる図面中の同じ番号は同一または類似の要素を表す。以下の例示的実施形態に記載される実施態様は、本発明と一貫したすべての実施態様を表すわけではない。むしろ、実施態様は、添付の特許請求の範囲において詳述される本発明のいくつかの態様と一貫した装置および方法の単なる例である。
本明細書における用語「複数」は2つ以上を指すことを理解されたい。本明細書における「および/または」は関連する対象物の関連する関係を説明しており、3種類の関係を示す。例えば、Aおよび/またはBは、A単独の存在、AとB同時の存在、B単独の存在を指すことができる。文字「/」は、一般的に前後関係の対象物が「または」の関係にあることを示す。
ソフトウェア開発段階におけるプロジェクトの継続的インテグレーション(CI)プロセスでは、コンパイル環境の清浄性および独立性を保証するためにコンテナが構成される。本発明において提供されるコンテナの権限管理のための方法は、コンテナを使用する時に異なるビジネスシナリオに対するユーザ権限に異なる制限を行うことができ、それによってコンテナの利用安全性を改善する一方で、権限管理の適応性を実現する。理解しやすくするために、本発明に関連するいくつかの用語を以下に説明する。
1)コンテナ技術
コンテナ仮想化技術の別名でも知られるコンテナ技術は、単一のオペレーティングシステムのリソースを分離したグループに効果的に分割して、分離したグループ間での矛盾するリソースの使用要件のバランスをうまく取ることができるようにする技術である。
コンテナはミラーリングから生まれた運用例であり、導入、始動、停止および削除することができる。各コンテナは、互いに孤立し、セキュリティを保証するプラットホームである。コンテナは、オブジェクトのライフサイクル、およびオブジェクト間の依存性を管理することができる。構成ファイル、通常、拡張マークアップ言語(XML)を使用することができる。例えば、オブジェクトの名称、オブジェクトの作成方法(プロトタイプパターンまたはシングルトンパターン)、および作成後のどのオブジェクトを特定のオブジェクトのプロパティに設定すべきか等をそこで定義することができる。コンテナの導入後、オブジェクトを作成するか、またはオブジェクト間の依存性を確立するために、一連のプログラムコードを書き込まずに直接すべてのオブジェクトにアクセスすることができる。
2)継続的インテグレーション(CI)
CIは、コード品質を管理するために開発段階のプロジェクトを継続的かつ自動的にコンパイルおよびテストする手法を指す。CIは、ソフトウェア開発プラクティスである。チーム開発メンバーは作業を統合することがよくあり、通常は各メンバーが少なくとも1日に1回作業を統合するが、これは毎日複数のインテグレーションが発生し得ることを意味する。各インテグレーションは、自動設定(コンパイル、リリース、自動テストを含む)によって確認される。したがって、インテグレーションエラーができるだけ早く発見され、製品品質が保証される一方で製品をすばやく反復することができる。
3)ミラーリング
ミラーリングはファイルストレージの形式であり、冗長化の一種である。1つのディスクのデータの別のディスクへの同一のコピーがミラーリングである。多くのファイルをミラーリングファイルにすることができる。共通のミラーリングファイル形式には、ISO(国際標準ディスクファイルシステム形式)、BIN、IMG、TAO、DAO、CIFおよびFCDがある。ユーザによるダウンロードと利用の利便性のために、システムが破壊された場合、ミラーリングを介して短時間でシステムを復元することができ、ミラーリングファイルをディスクに直接記録することができる。
4)ルート
ルートは、UNIX(登録商標)システム、Linux(登録商標)システム、およびAndroid(登録商標)に存在するスーパーユーザを指し、ルートはオペレーティングシステムの最高の権限用に構成され、例えばプロセス管理、ユーザ管理、ハードウェア管理等のシステムにおけるあらゆるオペレーションを行うことができる。最高の権限が故に、ルートを使用した誤操作はオペレーティングシステムに損傷を与える可能性がある。したがって、ユーザはルートの下で操作する時は慎重でなければならない。
関連技術では、従来のCIツール、例えばJenkinsは、コンパイル環境の清浄性および独立性を保証することができず、清浄でない環境が故に清浄でない設定パッケージまたはミラーリングの問題を引き起こすことがよくあり、このことは製品の開発および検査やリリース進捗に深刻な影響を与える。
このため、コンテナを構築するための方法が提供される。コンテナは互いに孤立したプラットホームを保証することができるため、コンパイル環境が互いに影響し合うことがない。しかしながら、コンテナの構築にはより高い権限を必要とし、コンテナを構築するユーザには通常ルート権限が与えられるので、高過ぎる権限が故に以下の問題が容易に引き起こされる。
(1)ユーザ名およびパスワードを含む構成ファイルに関連するオペレーションに影響を及ぼす。
例えば、ユーザ名およびパスワードは企業のnexusおよびnpm等の内部ツールのユーザ名およびパスワードを指し、それらの権限は非常に高い。コンテナがルートとして動作する場合、ユーザはこれらのツールのユーザ名およびパスワードを知ることができることになり、このことが企業のセキュリティに影響を及ぼすことになる。
(2)マウントディレクトリに関連するオペレーションに影響を及ぼす。
マウントディレクトリは、全ユーザに共有される共有ディレクトリである。コンテナがルートとして動作する場合、ユーザは共有ファイルを操作することができるため、他のユーザのファイルセキュリティを保証することができない。
(3)コンテナのルートとしての動作はホストマシンを操作することになる。
コンテナはホストマシン上で動作する。1つのホストマシン上には複数のコンテナが存在することができ、これらはホストマシン上の複数のサービスとして理解することもできる。コンテナがルートとして動作する場合、ユーザはホストマシンを操作すること、例えば、他のコンテナを停止させることなどができることになり、それによって深刻な結果をもたらす。
関連技術では、コンテナのレベルで、コンテナ内のユーザ権限は、一般的にログインユーザ権限を制限し、ルートユーザを隠すことによって管理される。
様々なシステムユーザのために、chomdツールが1つ以上のファイルのストレージアクセスモードを変更させるために採用される。ユーザ権限は、ユーザに特定のファイルの実行権限を与えることによって、またはrbash(制限付きのbash)、bdsh(boa diminish shell)、およびlshell(制限シェル)等の権限管理ツールを介してホワイトリストおよびブラックリストを設定することによって管理される。しかしながら、上記のツールが実行可能なスクリプト(shell/python)のコマンドとして実行されていることがわかると、上記の技術のすべてはシェルで生成されたあらゆる制限を解消してスクリプトを実行することになる。
例えば、スクリプトAは実行可能なスクリプトであり、4つのコマンドを含む。コマンドの1つは、シェルで生成された制限内で実行することが本来認められていない。しかしながら、スクリプトAに問い合わせることによって実行可能なスクリプトであると判断されたスクリプトが存在すると、スクリプトに含まれるコマンドは検査されないことになり、シェルで生成された制限を解消してスクリプトを実行する。したがって、実行することが本来認められていないコマンドも実行されて、権限管理の不正確さおよび安全性の低下につながる。
ユーザ権限を制限することまたはルートユーザを隠すことは、より高い権限を必要とするいくつかのビジネスシナリオを満たすことができないことにもなる。
本発明において提供される権限管理のための方法は、コンテナを使用する時に異なるビジネスシナリオに対するユーザ権限に異なる制限を行うことができ、それによってコンテナの利用安全性を改善する一方で、権限管理の適応性を実現する。図1を参照すると、図1は、本発明の例示的実施形態によって提供される権限管理のための方法の流れ図を示す。権限管理のための方法は、コンピュータ機器によって実行される。コンピュータ機器は、コンテナをロードして実行するように構成される。図1に示すように、権限管理のための方法は以下のステップを含み得る。
ステップ110では、コンテナが初期化された時、ビジネスシナリオに従って構成ファイルが取得されるが、構成ファイルはコンテナの外側で管理され、構成ファイルはコンテナ内のビジネスシナリオに対応する権限管理ルールを用いて構成される。
任意で、構成ファイルは分散バージョン管理システム(Git)上で管理してもよい。
任意で、コンテナはミラーリングに基づいて構築されたコンテナであってもよい。図2を参照すると、図2は、本発明の実施形態に関連するミラーリングに基づいて構築されたコンテナの概略図を示す。図2に示すように、複数のミラーリングをミラーリング管理に保存することができ、ミラーリング内容はビジネスシナリオ要件の変化に従って更新することもできる。特定のビジネスシナリオに必要とされるコンテナを構築する必要がある場合、コンピュータ機器はミラーリング管理からビジネスシナリオに対応するミラーリングを取得してから、ミラーリングに基づいてビジネスシナリオに対応するコンテナを構築する。複数のコンテナは、同じミラーリングに基づいて構築してもよい。複数のコンテナは独立しており、互いに影響し合うことがない。開発者は、コンテナが制限シェル層環境で実行されるように、コンテナ内の様々なユーザ権限を構成することができ、それによってビジネスシナリオに従ってコンテナ内のユーザ権限を柔軟に設定する目的を達成する。
ユーザ権限の設定は、コンテナの外側で管理される構成ファイルを呼び出すことによって実現することができる。構成ファイルは、それぞれのビジネスシナリオに対応する権限管理ルールを用いて構成される。ビジネスシナリオに対応する権限管理ルールを変更する必要がある場合、開発者は構成ファイル内の権限管理ルールを変更する必要があるだけで、コンテナを再構築する必要はない。
任意で、構成ファイルは、パス、コマンド、および環境変数を含むがこれに限らない権限管理ルールを用いて構成してもよい。
ステップ120では、構成ファイルがコンテナ内で認証される。
コンテナは、ビジネスシナリオに従って取得された対応する構成ファイルの権限管理ルールをコンテナに書き込んで、制限されたユーザ権限を有するシェル環境を構築するため、コンテナはコンテナを使用するユーザの権限管理を行うことができる。
ステップ130では、ユーザ命令が受信される。
任意で、ユーザ命令の種類は、スクリプトファイルまたはコマンドステートメントであってよい。
ステップ140では、ユーザ命令が実行可能命令である場合、ユーザ命令の種類が識別される。
まず、コンテナは、構成ファイルに基づいてユーザ命令の実行可能性を判断する。構成ファイルは、実行可能命令と実行禁止命令に関連する制限によって構成することができる。構成ファイルの関連コンテンツに従って、ユーザ命令が実行可能であるかどうかが判断され、ユーザ命令が実行可能命令である場合、ユーザ命令の種類が識別される。
考えられる例では、構成ファイルは、実行可能命令の接尾辞名と実行禁止命令の接尾辞名によって構成される。ユーザ命令の接尾辞名が構成ファイル内の実行可能命令の接尾辞名である場合、ユーザ命令は実行可能命令であると決定され、ユーザ命令の種類が識別される。
ステップ150では、ユーザ命令の種類がユーザ命令はスクリプトファイルであることを示す場合、スクリプトファイルのスクリプト内容が取得され、スクリプト内容は少なくとも1つのコマンドステートメントを含む。
スクリプトはプレーンテキストで保存されたプログラムであり、バインド(bind)およびエイリアス(alias)等の命令セットを含む。ユーザは、そのようなセットを個別ファイルとして保存してから、それらを実行することができる。実行中、スクリプトのファイルコマンドは、システムのインタプリタによって機械識別可能な命令に変換され、プログラムに基づいて実行される。
1つの考えられる例では、コンテナは、ユーザ命令の接尾辞名を識別することによってユーザ命令がスクリプトファイルであるかどうかを決定することができる。ユーザ命令がスクリプトファイルであると決定された場合、コンテナはスクリプトファイルに含まれる少なくとも1つのコマンドステートメントを読み込んで、スクリプトファイルのスクリプト内容を取得する。
ステップ160では、構成ファイルに基づいて少なくとも1つのコマンドステートメントに有効性検査が実行される。
構成ファイルは、スクリプトファイルに含まれる少なくとも1つのコマンドステートメントに対応する権限管理ルールを用いて構成され、スクリプトのコマンドステートメントに対応する権限管理ルールに基づいてコマンドステートメントに有効性検査が実行される。例えば、パスを示すコマンドステートメントに対しては、コンテナは、パスを示すコマンドステートメントのパラメータが権限管理ルールによって指定されたパラメータの中にあるかどうかを判断する。パスを示すコマンドステートメントのパラメータが権限管理ルールよって指定されたパラメータの中にある場合、パスを示すコマンドステートメントが有効であると決定される。パスを示すコマンドステートメントのパラメータが権限管理ルールによって指定されたパラメータの中にない場合、パスを示すコマンドステートメントは無効であると決定される。
要約すると、本発明の実施形態によって提供される権限管理のための方法によれば、コンテナが初期化された時、ビジネスシナリオに従ってコンテナの外側から構成ファイルが取得され、構成ファイルはコンテナ内で認証される。ユーザ命令が受信され、ユーザ命令が実行可能命令である場合、ユーザ命令の種類が識別される。ユーザ命令の種類がスクリプトファイルである場合、スクリプトファイルに含まれる少なくとも1つのコマンドステートメントが取得され、構成ファイルに基づいてスクリプトファイルの少なくとも1つのコマンドステートメントに有効性検査が実行される。したがって、コンテナの使用中、コンテナのユーザ権限がビジネスシナリオに従って管理され、ユーザ権限がより小さな粒度の観点から管理されることによって、コンテナの利用安全性を改善する一方で、権限の適応性を実現する。
図3を参照すると、図3は、本発明の例示的実施形態によって提供される権限管理のための方法の流れ図を示す。権限管理のための方法は、コンピュータ機器によって実行される。コンピュータ機器は、コンテナをロードして実行するように構成される。図3に示すように、権限管理のための方法は以下のステップを含み得る。
ステップ310では、コンテナが初期化された時、ビジネスシナリオに従って構成ファイルが取得されるが、構成ファイルはコンテナの外側で管理され、構成ファイルはコンテナ内のビジネスシナリオに対応する権限管理ルールを用いて構成される。
任意で、構成ファイルに対応する権限管理ルールは、ビジネスシナリオに従ってIshellツールによって構成される。異なるビジネスシナリオに対応する構成ファイルの構成は、異なる。それぞれのビジネスシナリオのために適切に構成された構成ファイルはコンテナの外側に保存されるため、ユーザが構成ファイルに対応する権限管理を調整する必要がある場合、構成ファイルがコンテナの外側で直接変更することができることによって、権限管理の柔軟性を向上させる。
ステップ320では、構成ファイルはコンテナ内で認証される。
ステップ330では、ユーザ命令が受信される。
ステップ340では、ユーザ命令が実行可能命令である場合、ユーザ命令の種類が識別される。
ステップ350では、ユーザ命令の種類がユーザ命令はスクリプトファイルであることを示す場合、スクリプトファイルのスクリプト内容が取得され、スクリプト内容は少なくとも1つのコマンドステートメントを含む。
ステップ310~350の実行方法は、図1に示す実施形態の関連した内容の説明を参照することができ、詳細は本明細書において再び繰り返すことはない。
ステップ360では、スクリプト内容の少なくとも1つのコマンドステートメントのステートメント内容を取得するためにスクリプト内容のステートメント構文解析が実行される。
ステップ370では、対応する構成ファイルに基づいた少なくとも1つのコマンドステートメントの順序で少なくとも1つのコマンドステートメントのステートメント内容の有効性検査が順次実行される。
任意で、ステートメント内容の1番目のステートメント内容が有効である場合、1番目のステートメント内容に対応する1番目のコマンドステートメントが実行される。
ステートメント内容の2番目のステートメント内容が無効である場合、コマンドステートメントの実行が停止され、対応する構成ファイルに基づいた少なくとも1つのコマンドステートメントの順序で少なくとも1つのコマンドステートメントのステートメント内容の有効性検査を順次実行するステップが終了される。
考えられる例では、コンテナは、スクリプトファイルの少なくとも1つのコマンドステートメントの配列順序でスクリプトファイルの少なくとも1つのコマンドステートメントの検査を順次実行する。コマンドステートメントの検査結果がコマンドステートメントが有効であることを示す場合、コマンドステートメントで示される操作内容が実行され、次のコマンドステートメントに有効性検査が実行される。例えば、コマンドステートメントAがカレントディレクトリを見ることを示す場合、コマンドステートメントAをそれに対応する権限管理ルールによって検査した後、コマンドステートメントAが有効であると判断されると、コンテナは現在のコマンドを見る操作を実行する。コマンドステートメントの検査結果がコマンドステートメントが無効であることを示す場合、コマンドステートメントの検査が停止され、かかるコマンドステートメントが属するスクリプトファイルに含まれる他の検査されていないコマンドステートメントの検査が終了される。つまり、少なくとも1つのコマンドステートメントの配列順序でスクリプトファイルに含まれるコマンドステートメントに有効性検査を実行する過程で、有効なコマンドステートメントが存在する場合、コマンドステートメントが実行される。コマンドステートメントの1つが無効である場合、他の検査されていないコマンドステートメントの有効性は検査されないことになり、スクリプトファイルの検査が直接終了され、スクリプトファイルが無効なコマンドステートメントを含むことが決定される。
任意で、コンテナの検査結果がスクリプトファイルが無効なコマンドステートメントを含むことを示す場合、検査結果はユーザにフィードバックされる。
あるいは、任意で、少なくとも1つのコマンドステートメントのステートメント内容がすべて有効である場合、スクリプト内容が実行される。
考えられる例では、コンテナは、スクリプトファイルの少なくとも1つのコマンドステートメントの配列順序でスクリプトファイルの少なくとも1つのコマンドステートメントの検査を順次実行する。スクリプトファイルに含まれるコマンドステートメントがすべて有効である場合のみ、スクリプトファイルのコマンドステートメントの実行の操作が行われる。すなわち、少なくとも1つのコマンドステートメントの有効性検査が順序正しく実行される。コマンドステートメントが有効であると決定された場合、スクリプトファイルのすべてのコマンドステートメントが有効になるまで次のコマンドステートメントの有効性検査が実行される。上記の過程では、一度1つのコマンドステートメントが無効になると、スクリプトファイルの少なくとも1つのコマンドステートメントの有効性検査が終了される。
ユーザ命令の種類がユーザ命令がコマンドステートメントであることを示す場合、任意で、コマンドステートメントのステートメント内容を取得するためにコマンドステートメントが構文解析される。
換言すれば、ユーザ命令がコマンドステートメントの形式でコンテナに送信されるが、この場合1つ以上のコマンドステートメントが存在してもよく、コマンドステートメントは図示のコンテナで操作を行う指示情報を所持する。
コマンドステートメントのステートメント内容に対応する構成ファイルの内容に基づいて、コマンドステートメントのステートメント内容の有効性検査が実行される。すなわち、コンテナ内のコマンドステートメントに対応する権限管理ルールに基づいて、コマンドのステートメント内容の有効性検査が実行される。
検査結果がステートメント内容が有効であることを示す場合、コマンドステートメントが実行される。
要約すると、本発明の実施形態によって提供される権限管理のための方法によれば、コンテナが初期化された時、ビジネスシナリオに従ってコンテナの外側から構成ファイルが取得され、構成ファイルはコンテナ内で認証される。ユーザ命令が受信され、ユーザ命令が実行可能命令である場合、ユーザ命令の種類が識別される。ユーザ命令の種類がスクリプトファイルである場合、スクリプトファイルに含まれる少なくとも1つのコマンドステートメントが取得され、構成ファイルに基づいてスクリプトファイルの少なくとも1つのコマンドステートメントに有効性検査が実行される。したがって、コンテナの使用中、コンテナのユーザ権限がビジネスシナリオに従って管理され、ユーザ権限がより小さな粒度の観点から管理されることによって、コンテナの利用安全性を改善する一方で、権限の適応性を実現する。
以下では、ユーザ命令が実行可能なスクリプトファイルであるという事実と併せて本発明を説明する。図4を参照すると、図4は、本発明の例示的実施形態によって提供される権限管理のための方法の流れ図を示す。権限管理のための方法は、コンピュータ機器によって実行される。コンピュータは、コンテナをロードして実行するように構成される。図4に示すように、権限管理のための方法は以下のステップを含み得る。
ステップ410では、コンテナが初期化され、現在のビジネスシナリオに従って構成管理から構成ファイルが取得される。
ステップ420では、ユーザがコンテナ環境の権限制限を受けさせられるように、構成ファイルがコンテナ内で認証される。
ステップ430では、ユーザ命令が有効であるかどうかが検査され、有効である場合、ステップ440が実行される。それ以外の場合は、ステップ450が実行される。
ステップ440では、ユーザ命令が実行される。
ステップ450では、ユーザ命令の実行が停止され、有効性検査が終了される。
ステップ430~ステップ450のプロセスは、本発明の実施形態に関連するユーザ命令の有効性検査プロセスの概略図を示す図5を参照することができる。図5に示すように、上記のプロセスは以下のステップを含み得る。
S501では、コンテナはユーザ命令を受信する。
S502では、ユーザ命令が実行可能であるかどうかが判断され、実行可能である場合、S503が実行される。それ以外の場合は、S504が実行される。
S503では、ユーザ命令がスクリプトファイルであるかどうかが判断され、スクリプトファイルである場合、S505が実行される。それ以外の場合は、S506が実行される。
本実施形態では、ユーザ命令がスクリプトではない場合、ユーザ命令はコマンドステートメントであるとみなされる。
S504では、ユーザ命令の実行が停止され、有効性検査が終了される。
S505では、スクリプトファイルのスクリプト内容が取得されるが、スクリプト内容は少なくとも1つのコマンドステートメントを含む。
S506では、コマンドステートメントのステートメント構文解析が実行される。
構文解析結果が図5に示される。3つのコマンドステートメントを含むスクリプトファイルを例にとると、3つのコマンドステートメントは、それぞれパス、コマンド、および環境変数を示す。
S507では、コマンドステートメントの検査が実行される。コマンドステートメントが検査で合格になると、コマンドステートメントが実行される。コマンドステートメントが検査で不合格になると、S504が実行される。
様々なコマンドステートメントの命令情報に対応する様々な検査方法がそれぞれ存在する。
パスを示すコマンドステートメントに対しては、パスを示すコマンドステートメントのパラメータが権限管理ルールによって指定されたパラメータの中にあるかどうかを判断することができる。パスを示すコマンドステートメントのパラメータが権限管理ルールによって指定されたパラメータの中にある場合、パスを示すコマンドステートメントは検査で合格であると決定され、コマンドステートメントが実行される。パスを示すコマンドステートメントのパラメータが権限管理ルールによって指定されたパラメータの中にない場合、パスを示すコマンドステートメントは無効であると決定され、ユーザ命令の実行が停止され、有効性検査が終了される。
コマンドを示すコマンドステートメントに対しては、コマンドステートメントがエイリアスであるかどうかをまず判断することができる。例えば、ユーザによって入力されたコマンドステートメントにおいて「open(オープン)」で表されるコマンドcdでは、「open」はコマンドcdのエイリアスである。コマンドステートメント内にエイリアスが存在すると判断された場合、コマンドを取得するためにコマンドが構文解析される。次に、コマンドが権限制限の中で実行を禁止されているコマンドの中にあるかどうかが判断される。コマンドが実行を禁止されているコマンドである場合、コマンドステートメントの検査が停止されて終了される。コマンドが実行を禁止されているコマンドでない場合、コマンドが権限制限の中で実行を許可されているコマンドの中にあるかどうかが判断される。実行が許可されているコマンドは、権限制限範囲内のコマンドの実行を許可するものとして表現してもよく、権限制限外のコマンドの実行を禁止するものとして表現してもよい。例えば、権限制限は、コンテナ内のコマンドABCを実行してもよいことを示すとすると、実行が許可されているコマンドはコマンドABCの実行を許可するものとしてもよく、または実行が許可されているコマンドはコマンドABC以外のコマンドの実行を禁止するものとしてもよい。コマンドが実行を許可されているコマンドの中にある場合、コマンドが実行されることになり、それ以外の場合は、ユーザ命令の実行が停止され、有効性検査が終了される。
環境変数を示すコマンドステートメントに対しては、コマンドステートメントによって示される環境変数がコンテナ権限によって制限された環境変数の中にあるかどうかが判断される。コマンドステートメントによって示される環境変数がコンテナ権限によって制限された環境変数の中にある場合、コマンドステートメントが実行され、それ以外の場合は、ユーザ命令の実行が停止され、有効性検査が終了される。
考えられる例では、図5に示すユーザ命令の有効性を検査するプロセスは、ユーザ命令がコマンドステートメントである場合にも適用可能である。ユーザ命令がコマンドステートメントである場合、S505はぜひとも実行する必要がある。コマンドステートメントに直接ステートメント構文解析を実行してコマンドステートメントによって示される内容を特定し、それによってコマンドステートメントによって示される内容に対応する権限を用いてコマンドステートメントの有効性を検査することができる。コマンドステートメントが有効である場合、コマンドステートメントが実行され、それ以外の場合は、ユーザ命令の実行が停止され、有効性検査が終了される。
要約すると、本発明の実施形態によって提供される権限管理のための方法によれば、コンテナが初期化された時、ビジネスシナリオに従ってコンテナの外側から構成ファイルが取得され、構成ファイルはコンテナ内で認証される。ユーザ命令が受信され、ユーザ命令が実行可能命令である場合、ユーザ命令の種類が識別される。ユーザ命令の種類がスクリプトファイルである場合、スクリプトファイルに含まれる少なくとも1つのコマンドステートメントが取得され、構成ファイルに基づいてスクリプトファイルの少なくとも1つのコマンドステートメントに有効性検査が実行される。したがって、コンテナの使用中、コンテナのユーザ権限がビジネスシナリオに従って管理され、ユーザ権限がより小さな粒度の観点から管理されることによって、コンテナの利用安全性を改善する一方で、権限の適応性を実現する。
図6を参照すると、図6は、本発明の例示的実施形態によって提供される権限管理のための装置のブロック図を示す。前記装置は、ソフトウェアの形でコンピュータ機器の全部または一部として実装して、図1、図3、図4、または図5の対応する実施形態に示す方法のステップの全部または一部を実行することができる。図6に示すように、権限管理のための装置は、
コンテナが初期化された時、ビジネスシナリオに従って構成ファイルを取得するように構成された第1の取得モジュール610であって、前記構成ファイルは前記コンテナの外側で管理され、前記構成ファイルは前記コンテナ内の前記ビジネスシナリオに対応する権限管理ルールを用いて構成される、前記第1の取得モジュール610と;
前記コンテナ内の前記構成ファイルを認証するように構成された認証モジュール620と;
ユーザ命令を受信するように構成された受信モジュール630と;
前記ユーザ命令が実行可能命令である場合、前記ユーザ命令の種類を識別するように構成された識別モジュール640と;
前記ユーザ命令の前記種類が前記ユーザ命令はスクリプトファイルであることを示す場合、前記スクリプトファイルのスクリプト内容を取得するように構成された第2の取得モジュール650であって、前記スクリプト内容は少なくとも1つのコマンドステートメントを含む、前記第2の取得モジュール650と;
前記構成ファイルに基づいて前記少なくとも1つのコマンドステートメントの有効性検査を実行するように構成された第1の検査モジュール660とを含む。
任意で、前記装置は、
前記構成ファイルに基づいて前記少なくとも1つのコマンドステートメントの前記有効性検査を実行する前に、前記スクリプト内容の前記少なくとも1つのコマンドステートメントのステートメント内容を取得するために前記スクリプト内容のステートメント構文解析を実行するように構成された第1の構文解析モジュールと;
前記対応する構成ファイルに基づいた少なくとも1つのコマンドステートメントの順序で前記少なくとも1つのコマンドステートメントの前記ステートメント内容の前記有効性検査を順次実行するように構成された前記第1の検査モジュールとをさらに含む。
任意で、前記装置は、
前記ステートメント内容の1番目のステートメント内容が有効である場合、前記1番目のステートメント内容に対応する1番目のコマンドステートメントを実行するように構成された第1の実行モジュールと;
前記ステートメント内容の2番目のステートメント内容が無効である場合、前記コマンドステートメントの実行を停止し、前記対応する構成ファイルに基づいた前記少なくとも1つのコマンドステートメントの順序で前記少なくとも1つのコマンドステートメントの前記ステートメント内容の前記有効性検査を順次実行する前記ステップを終了するように構成された実行停止モジュールとをさらに含む。
任意で、前記装置は、
前記少なくとも1つのコマンドステートメントの前記ステートメント内容がすべて有効である場合、前記スクリプト内容を実行するように構成された第2の実行モジュールをさらに含む。
任意で、前記装置は、
前記ユーザ命令が前記コマンドステートメントである場合、前記コマンドステートメントのステートメント内容を取得するために、前記コマンドステートメントを構文解析するように構成された第2の構文解析モジュールと;
前記ステートメント内容に対応する前記構成ファイルの内容に基づいて前記コマンドステートメントの前記ステートメント内容の前記有効性検査を実行するように構成された第2の検査モジュールと;
前記ステートメント内容が有効である場合、前記コマンドステートメントを実行するように構成された第3の実行モジュールとをさらに含む。
任意で、前記構成ファイルに対応する前記権限管理ルールは、前記ビジネスシナリオに従ってIshellツールによって構成される。
要約すると、本発明の実施形態によって提供される権限管理のための装置がコンピュータ機器に適用された場合、コンテナが初期化された時、ビジネスシナリオに従ってコンテナの外側から構成ファイルが取得され、構成ファイルはコンテナ内で認証される。ユーザ命令が受信され、ユーザ命令が実行可能命令である場合、ユーザ命令の種類が識別される。ユーザ命令の種類がスクリプトファイルである場合、スクリプトファイルに含まれる少なくとも1つのコマンドステートメントが取得され、構成ファイルに基づいてスクリプトファイルの少なくとも1つのコマンドステートメントに有効性検査が実行される。したがって、コンテナの使用中、コンテナのユーザ権限がビジネスシナリオに従って管理され、ユーザ権限がより小さな粒度の観点から管理されることによって、コンテナの利用安全性を改善する一方で、権限の適応性を実現する。
図7は、例示的実施形態によるコンピュータ機器を示す構造ブロック図である。コンピュータ機器は、コンテナをロードして実行するように構成される。コンピュータ機器700は、中央処理装置(CPU)701と、ランダムアクセスメモリ(RAM)702およびリードオンリメモリ(ROM)703を含むシステムメモリ704と、システムメモリ704とCPU701を接続するシステムバス705とを含む。コンピュータ機器700は、コンピュータ内の各種構成要素間の情報伝達を支援する基本入出力システム(I/Oシステム)706と、オペレーティングシステム713、アプリケーション714、およびその他のプログラムモジュール715を記憶するための大容量記憶装置707とをさらに含む。
基本I/Oシステム706は、情報を表示するためのディスプレイ708と、ユーザによって情報を入力するための例えばマウス、キーボード等の入力装置709とを含む。ディスプレイ708および入力装置709は両方とも、システムバス705に接続された入出力制御装置710によってCPU701に接続される。基本I/Oシステム706は、キーボード、マウス、または電子ペン等の複数のその他の機器からの入力を受信して処理するための入出力制御装置710を含んでもよい。同様に、入出力制御装置710はさらに、ディスプレイ画面、プリンタ、または他の種類の出力装置に出力を行う。
大容量記憶装置707は、システムバス705に接続された大容量記憶制御装置(図示せず)によってCPU701に接続される。大容量記憶装置707とそれに関連するコンピュータ可読媒体とは、コンピュータ機器700に不揮発性記憶装置を提供する。すなわち、大容量記憶装置707は、ハードディスクまたはコンパクトディスクリードオンリメモリ(CD-ROM)ドライブ等のコンピュータ可読媒体(図示せず)を含んでもよい。
一般性を失うことなく、コンピュータ可読媒体はコンピュータ記憶媒体および通信媒体を含んでもよい。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータ等の情報の記憶のための任意の方法または技術において実装される揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含む。コンピュータ記憶媒体は、RAM、ROM、消去可能なプログラマブルリードオンリメモリ(EPROM)、電気的消去可能なプログラマブルリードオンリメモリ(EEPROM)、フラッシュメモリまたはその他の固体記憶装置技術:CD-ROM、デジタル多用途ディスク(DVD)またはその他の光学式記憶装置;およびカセットテープ、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶装置を含む。当然、当業者であれば、コンピュータ記憶媒体が上記の種類に限定されないことがわかるであろう。上記のシステムメモリ704および大容量記憶装置707は、まとめてメモリと呼んでもよい。
本発明の各種実施形態によれば、コンピュータ機器700は、インターネット等のネットワークを介してネットワーク上のリモートコンピュータに接続されることによって操作することもできる。すなわち、コンピュータ機器700は、システムバス705に接続されたネットワークインターフェースユニット711によってネットワーク712に接続することができる。あるいは、すなわち、コンピュータ機器700は、ネットワークインターフェースユニット711を用いてその他の形式のネットワークまたはリモートコンピュータシステム(図示せず)に接続することができる。
メモリは、メモリに保存された1つ以上のプログラムをさらに含む。CPU701は、1つ以上のプログラムを実行することによって、図1、図3、図4または図5に示す方法のステップの全部または一部を実行する。
当業者であれば、上述した1つ以上の実施例では、本発明の実施形態において説明した機能はハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせで実装することができることを理解するであろう。ソフトウェアで実装された場合、機能はコンピュータ可読媒体に保存してもよく、あるいはコンピュータ可読媒体上に1つ以上の命令またはコードとして送信してもよい。コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含む。通信媒体は、コンピュータプログラムのある場所から別の場所への転送を容易にするあらゆる媒体を含む。記憶媒体は、汎用または専用コンピュータによって保存およびアクセスすることができるあらゆる利用可能な媒体であってよい。
持続性コンピュータ可読記憶媒体が本発明の実施形態によってさらに提供される。持続性コンピュータ可読記憶媒体は、少なくとも1つの命令、少なくとも1つのプログラム、コードセットまたは命令セットを保存するように構成され、少なくとも1つの命令、少なくとも1つのプログラム、コードセットまたは命令セットは、プロセッサによってロードされて実行されると、プロセッサに権限管理のための上記の方法のステップの全部または一部を実行させる。例えば、持続性コンピュータ可読記憶媒体は、ROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、光データ記憶装置等であってよい。
本発明のその他の実施態様は、本発明の仕様および実践を考慮することから当業者には明らかであろう。本願は、その一般原則に従い、本明細書において開示されていない周知の事実または一般的に用いられる技術的手段を含む、本発明のあらゆる変形、使用、または適応を網羅することを意図している。本発明の真の範囲および精神は以下の特許請求の範囲によって示され、明細書および実施形態は単なる例示として見なされるものとする。
本発明は、上記で説明され、添付図面で例示された厳密な構成に限定されるものではなく、その範囲から逸脱することなく様々な修正および変更を行うことができることを理解されたい。本発明の範囲は、添付の特許請求の範囲によってのみ限定されることが意図されている。

Claims (10)

  1. 権限管理のための方法であって、前記方法はコンピュータ機器によって実行され、前記コンピュータ機器はコンテナをロードして実行するように構成され、前記方法は、
    前記コンテナが初期化された時、ビジネスシナリオに従って構成ファイルを取得するステップであって、前記構成ファイルは前記コンテナの外側で管理され、前記構成ファイルは前記コンテナ内の前記ビジネスシナリオに対応する権限管理ルールを用いて構成される、ステップと;
    ユーザがコンテナ環境の権限制限を受けさせられるように、前記コンテナ内の前記構成ファイルを認証するステップと;
    前記コンテナ環境のユーザ命令を受信するステップと;
    前記ユーザ命令が実行可能命令である場合、前記ユーザ命令の種類を識別するステップと;
    前記ユーザ命令の前記種類が前記ユーザ命令はスクリプトファイルであることを示す場合、前記スクリプトファイルのスクリプト内容を取得するステップであって、前記スクリプト内容は少なくとも1つのコマンドステートメントを含む、ステップと;
    前記構成ファイルに基づいて前記少なくとも1つのコマンドステートメントの有効性検査を実行するステップとを含む、方法。
  2. 前記構成ファイルに基づいて前記少なくとも1つのコマンドステートメントの前記有効性検査を実行する前記ステップの前に、前記方法は、
    前記スクリプト内容の前記少なくとも1つのコマンドステートメントのステートメント内容を取得するために前記スクリプト内容のステートメント構文解析を実行するステップをさらに含み、
    前記構成ファイルに基づいて前記少なくとも1つのコマンドステートメントの前記有効性検査を実行する前記ステップは、
    前記対応する構成ファイルに基づいた少なくとも1つのコマンドステートメントの順序で前記少なくとも1つのコマンドステートメントの前記ステートメント内容の前記有効性検査を順次実行するステップを含む、請求項1に記載の方法。
  3. 前記ステートメント内容の1番目のステートメント内容が有効である場合、前記1番目のステートメント内容に対応する1番目のコマンドステートメントを実行するステップと;
    前記ステートメント内容の2番目のステートメント内容が無効である場合、前記コマンドステートメントの実行を停止し、前記対応する構成ファイルに基づいた前記少なくとも1つのコマンドステートメントの順序で前記少なくとも1つのコマンドステートメントの前記ステートメント内容の前記有効性検査を順次実行する前記ステップを終了するステップとをさらに含む、請求項2に記載の方法。
  4. 前記少なくとも1つのコマンドステートメントの前記ステートメント内容がすべて有効である場合、前記スクリプト内容を実行するステップをさらに含む、請求項2に記載の方法。
  5. 前記ユーザ命令が前記コマンドステートメントである場合、前記コマンドステートメントのステートメント内容を取得するために、前記コマンドステートメントを構文解析するステップと;
    前記ステートメント内容に対応する前記構成ファイルの内容に基づいて前記コマンドステートメントの前記ステートメント内容の前記有効性検査を実行するステップと;
    前記ステートメント内容が有効である場合、前記コマンドステートメントを実行するステップとをさらに含む、請求項1に記載の方法。
  6. 前記構成ファイルに対応する前記権限管理ルールは、前記ビジネスシナリオに従ってIshellツールによって構成される、請求項1に記載の方法。
  7. 権限管理のための装置であって、前記装置はコンピュータ機器に適用され、前記コンピュータ機器はコンテナをロードして実行するように構成され、前記装置は、
    前記コンテナが初期化された時、ビジネスシナリオに従って構成ファイルを取得するように構成された第1の取得モジュールであって、前記構成ファイルは前記コンテナの外側で管理され、前記構成ファイルは前記コンテナ内の前記ビジネスシナリオに対応する権限管理ルールを用いて構成される、前記第1の取得モジュールと;
    ユーザがコンテナ環境の権限制限を受けさせられるように、前記コンテナ内の前記構成ファイルを認証するように構成された認証モジュールと;
    前記コンテナ環境のユーザ命令を受信するように構成された受信モジュールと;
    前記ユーザ命令が実行可能命令である場合、前記ユーザ命令の種類を識別するように構成された識別モジュールと;
    前記ユーザ命令の前記種類が前記ユーザ命令はスクリプトファイルであることを示す場合、前記スクリプトファイルのスクリプト内容を取得するように構成された第2の取得モジュールであって、前記スクリプト内容は少なくとも1つのコマンドステートメントを含む、前記第2の取得モジュールと;
    前記構成ファイルに基づいて前記少なくとも1つのコマンドステートメントの有効性検査を実行するように構成された第1の検査モジュールとを含む、装置。
  8. 前記構成ファイルに基づいて前記少なくとも1つのコマンドステートメントの前記有効性検査を実行する前に、前記スクリプト内容の前記少なくとも1つのコマンドステートメントのステートメント内容を取得するために前記スクリプト内容のステートメント構文解析を実行するように構成された第1の構文解析モジュールと;
    前記対応する構成ファイルに基づいた前記少なくとも1つのコマンドステートメントの順序で前記少なくとも1つのコマンドステートメントの前記ステートメント内容の前記有効性検査を順次実行するように構成された前記第1の検査モジュールとをさらに含む、請求項7に記載の装置。
  9. プロセッサと、少なくとも1つの命令、少なくとも1つのプログラム、コードセットまたは命令セットを保存するメモリとを含むコンピュータ機器であって、前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセットまたは前記命令セットは、前記プロセッサによってロードされて実行されると、前記プロセッサに請求項1~6のいずれか一項に記載の権限管理のための前記方法を実行させる、コンピュータ機器。
  10. 少なくとも1つの命令、少なくとも1つのプログラム、コードセットまたは命令セットを保存するコンピュータ可読記憶媒体であって、前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセットまたは前記命令セットは、プロセッサによってロードされて実行されると、前記プロセッサに請求項1~6のいずれか一項に記載の権限管理のための前記方法を実行させる、コンピュータ可読記憶媒体。
JP2022542366A 2020-01-09 2021-01-08 権限管理のための方法および装置、コンピュータ機器ならびに記憶媒体 Active JP7228751B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010022017.2A CN111259412B (zh) 2020-01-09 2020-01-09 权限控制方法、装置、计算机设备及存储介质
CN202010022017.2 2020-01-09
PCT/SG2021/050016 WO2021141543A1 (en) 2020-01-09 2021-01-08 Method and apparatus for authority control, computer device and storage medium

Publications (2)

Publication Number Publication Date
JP2023500166A JP2023500166A (ja) 2023-01-04
JP7228751B2 true JP7228751B2 (ja) 2023-02-24

Family

ID=70948631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022542366A Active JP7228751B2 (ja) 2020-01-09 2021-01-08 権限管理のための方法および装置、コンピュータ機器ならびに記憶媒体

Country Status (12)

Country Link
US (1) US11599654B2 (ja)
EP (1) EP4088212A4 (ja)
JP (1) JP7228751B2 (ja)
KR (1) KR102502181B1 (ja)
CN (1) CN111259412B (ja)
AU (1) AU2021206497B2 (ja)
BR (1) BR112022013674A2 (ja)
CA (1) CA3167549A1 (ja)
CL (1) CL2022001864A1 (ja)
MX (1) MX2022008427A (ja)
WO (1) WO2021141543A1 (ja)
ZA (1) ZA202208348B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112445576B (zh) * 2020-11-30 2024-04-16 中国人寿保险股份有限公司 一种屏蔽业务差异的设备调用方法及相关设备
CN112989324A (zh) * 2021-03-10 2021-06-18 中国民航信息网络股份有限公司 数据交互的方法、装置、电子设备及存储介质
CN113849819B (zh) * 2021-09-24 2023-07-14 苏州浪潮智能科技有限公司 命令行指令的处理方法、装置、计算机设备和存储介质
CN114756454A (zh) * 2022-03-29 2022-07-15 润芯微科技(江苏)有限公司 一种嵌入式软件开发的代码管理、持续集成和交付的工作方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129345A1 (en) 2000-09-27 2002-09-12 Tilden Mark D. Scripting business logic in a distributed object oriented environment
US20150007142A1 (en) 2012-12-12 2015-01-01 Google Inc. Branch destination tables
US20160134596A1 (en) 2014-11-10 2016-05-12 Coastal Federal Credit Union Methods, Systems and Computer Program Products for an Application Execution Container for Managing Secondary Application Protocols
US20180247064A1 (en) 2017-02-24 2018-08-30 International Business Machines Corporation Applying host access control rules for data used in application containers

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4643204B2 (ja) * 2004-08-25 2011-03-02 株式会社エヌ・ティ・ティ・ドコモ サーバ装置
US7475235B1 (en) * 2005-06-15 2009-01-06 Unisys Corporation Real-time management of a configuration of a computer system
US7673028B2 (en) * 2005-09-28 2010-03-02 Sap Ag Method and system for container-managed configuration and administration
CN101640787B (zh) * 2009-08-24 2011-10-26 中兴通讯股份有限公司 一种层次化控制访问组播组的方法和装置
KR20120055371A (ko) * 2010-11-23 2012-05-31 한국전자통신연구원 디지털 공간정보의 보호 방법 및 장치
US9047442B2 (en) * 2012-06-18 2015-06-02 Microsoft Technology Licensing, Llc Provisioning managed devices with states of arbitrary type
US8898769B2 (en) * 2012-11-16 2014-11-25 At&T Intellectual Property I, Lp Methods for provisioning universal integrated circuit cards
US20150363437A1 (en) * 2014-06-17 2015-12-17 Ims Health Incorporated Data collection and cleaning at source
US10404708B2 (en) * 2015-06-03 2019-09-03 Secure Circle, Llc System for secure file access
US10353726B2 (en) * 2015-09-29 2019-07-16 NeuVector, Inc. Transparent network security for application containers
US10223534B2 (en) * 2015-10-15 2019-03-05 Twistlock, Ltd. Static detection of vulnerabilities in base images of software containers
KR20170072552A (ko) * 2015-12-17 2017-06-27 에스케이텔레콤 주식회사 클라우드 개발 환경을 위한 컨테이너 서비스 방법 및 그 장치
CN108090345B (zh) * 2016-11-21 2021-08-17 腾讯科技(深圳)有限公司 linux系统外部命令执行方法及装置
CN108268324A (zh) * 2016-12-30 2018-07-10 航天信息股份有限公司 一种远程多业务管理方法和系统
KR101796205B1 (ko) * 2017-04-17 2017-11-13 주식회사 넷앤드 보안 강화를 위해 입력된 명령어 학습 기반 이상 사용자를 탐지하는 서버 접근 통제 시스템
US10467424B2 (en) * 2017-10-12 2019-11-05 International Business Machines Corporation File system content based security
CN109343934A (zh) * 2018-09-17 2019-02-15 北京北信源信息安全技术有限公司 一种基于容器的私服架构及其搭建和可视化方法
US10515005B1 (en) * 2018-12-20 2019-12-24 Atlassian Pty Ltd Systems and methods for testing source code
US11514340B2 (en) * 2019-11-08 2022-11-29 International Business Machines Corporation Machine learning for technical tool selection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129345A1 (en) 2000-09-27 2002-09-12 Tilden Mark D. Scripting business logic in a distributed object oriented environment
US20150007142A1 (en) 2012-12-12 2015-01-01 Google Inc. Branch destination tables
US20160134596A1 (en) 2014-11-10 2016-05-12 Coastal Federal Credit Union Methods, Systems and Computer Program Products for an Application Execution Container for Managing Secondary Application Protocols
US20180247064A1 (en) 2017-02-24 2018-08-30 International Business Machines Corporation Applying host access control rules for data used in application containers

Also Published As

Publication number Publication date
US11599654B2 (en) 2023-03-07
AU2021206497A1 (en) 2022-08-04
MX2022008427A (es) 2022-10-20
ZA202208348B (en) 2022-10-26
CN111259412B (zh) 2023-12-05
AU2021206497B2 (en) 2023-05-04
WO2021141543A1 (en) 2021-07-15
US20230036357A1 (en) 2023-02-02
KR102502181B1 (ko) 2023-02-21
KR20220116341A (ko) 2022-08-22
EP4088212A4 (en) 2023-06-28
CA3167549A1 (en) 2021-07-15
CN111259412A (zh) 2020-06-09
EP4088212A1 (en) 2022-11-16
JP2023500166A (ja) 2023-01-04
CL2022001864A1 (es) 2022-11-25
BR112022013674A2 (pt) 2022-09-13

Similar Documents

Publication Publication Date Title
JP7228751B2 (ja) 権限管理のための方法および装置、コンピュータ機器ならびに記憶媒体
US8024564B2 (en) Automating configuration of software applications
US8006233B2 (en) System and method for the automatic verification of privilege-asserting and subject-executed code
US8001596B2 (en) Software protection injection at load time
Swamy et al. Enforcing stateful authorization and information flow policies in Fine
US20080127142A1 (en) Compiling executable code into a less-trusted address space
Wan et al. RusTEE: developing memory-safe ARM TrustZone applications
US9871800B2 (en) System and method for providing application security in a cloud computing environment
CN100492300C (zh) 在微处理器实现的设备上执行进程的系统和方法
US20170185344A1 (en) Memory access control
US9374377B2 (en) Mandatory protection control in virtual machines
KR20090097174A (ko) 소프트웨어 라이센스에서의 조건부 정책
US8959485B2 (en) Security protection domain-based testing framework
US8438295B2 (en) Declarative programming model for modeling and execution of triggers for resource oriented system
Pupo et al. GUARDIA: specification and enforcement of javascript security policies without VM modifications
RU2775157C1 (ru) Система и способы проверки целостности установочного образа программного обеспечения
US20220382855A1 (en) System and method for building a security monitor
US20230362198A1 (en) Dynamic security policy enforcement method for container system, recording medium and system for performing the same
Makki et al. Transparent IO access control for application-level tenant isolation
Ghorbani Validation and Verification of Modular Software Applications
CN117688551A (zh) 启动路径白名单更新方法、装置、电子设备及存储介质
Rauf et al. Securing Open Source Clouds Using Models
US20190310879A1 (en) Systems and methods for automatically managing scripts for execution in distributed computing environments
WO2022250844A1 (en) Task based access rights control
Singh et al. Security on the IBM Mainframe

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20220907

A529 Written submission of copy of amendment under article 34 pct

Free format text: JAPANESE INTERMEDIATE CODE: A529

Effective date: 20220906

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220906

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220906

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20220906

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230131

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230213

R150 Certificate of patent or registration of utility model

Ref document number: 7228751

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150