SDKを使用して、ユーザとAPIキーの権限を制御する役割を作成および設定します。たとえば、 Server & Workload Protectionの自動配信プロセスの一部として、ユーザが実行するタスクやAPIを使用して実行するタスクに適したさまざまなロールをコードで作成できます。
役割は、ユーザまたはコードがタスクを実行するために必要な最小限の権限を提供する必要があります。
注意役割の背景情報については、User Rolesを参照してください。
|
次のクラスを使用すると、役割を操作できます。
AdministratorRolesApi
: ロールの作成、変更、削除、検索、説明、および一覧表示Role
: 役割を表し、役割のプロパティへのアクセスを提供します。Rights
classes: Server & Workload Protection リソースに対するアクセス権を表すいくつかのクラス。たとえば、ComputerRights
コンピュータと対話するための権限を定義します。ScheduledTaskRights
予約タスクを操作する権限を定義します。
こちらもご覧くださいロールIDの取得。
一般な手順
役割を作成または変更するには、次の一般的な手順を実行します。
手順
- 作成する
Role
オブジェクトを作成し、プロパティを設定します。- 役割を識別するための名前を入力し、必要に応じて説明を入力します。
- (オプション) 役割がアクセスできるコンピュータとポリシーを指定します
- (オプション) 役割がコンピュータで実行できるタスクと、アクセスできるポリシーを指定する権限オブジェクトを追加します。
- 作成する
AdministratorsRoleApi
オブジェクトを作成し、それを使用して Server & Workload Protectionでの役割を作成または変更します。
次に進む前に
作成した役割には、初期設定ですべてのコンピュータとポリシーに対する読み取りアクセス権があり、ユーザは自分のパスワードを変更でき、 Server & Workload Protection コンソールへのアクセスが許可されます。
次のJSONは、
Role
オブジェクト。このデータ構造は、役割のアクセス権を設定する方法を理解するのに役立ちます。- は
allComputers
そしてallPolicies
アイテムは、すべてのコンピュータとポリシーへのアクセスを制御します。次のいずれかの場合false
,computerIDs
そしてpolicyID
項目には、アクセス可能なコンピュータのIDとポリシーが保持されます。 - は
rights
itemとその子孫は、 Server & Workload Protection リソースへのアクセス権を定義するさまざまな権限クラスに対応します。この例を簡潔にするために、より深いレベルの権限項目は示していません。
{ "name": "Auditor", "description": "", "urn": "urn:tmds:identity:us-east-ds-1:41342:role/Auditor", "immutable": false, "canOnlyManipulateUsersWithEqualOrLesserRights": false, "allComputers": true, "allPolicies": true, "allowUserInterface": true, "allowWebService": true, "rights": { "platformRights": {...}, "antiMalwareRights": {...}, "webReputationRights": {...}, "firewallRights": {...}, "intrusionPreventionRights": {...}, "integrityMonitoringRights": {...}, "logInspectionRights": {...}, "applicationControlRights": {...}, "hostedServiceRights": {...} }, "ID": 2 }
の完全なデータ構造を表示するには
Role
オブジェクトの対応を参照してください。管理者の役割の説明操作については、 APIレファレンス/参照情報を参照してください。次の例では、Roleオブジェクトを作成し、名前を設定します。
run_reports_role = api.Role() run_reports_role.name = "Computer Status and Properties"
使用する
ComputerRights
オブジェクトを使用してコンピュータへのアクセス権を指定し、そのオブジェクトを使用してコンピュータへのアクセス権を設定します。PlatformRights
オブジェクト。はPlatformRights
オブジェクトはplatformRights
前のJSONコードのデータ項目:computer_rights = api.ComputerRights() computer_rights.can_edit_computer_properties = True platform_rights = api.PlatformRights() platform_rights.computer_rights = computer_rights
プラットフォーム権限を
Rights
オブジェクトを追加します。Rights
ロールに反対します。rights = api.Rights() rights.platform_rights = platform_rights run_reports_role.rights = rights
最後に、 Server & Workload Protectionにロールを作成します。
admin_roles_api = api.AdministratorRolesApi(api.ApiClient(configuration)) new_role = admin_roles_api.create_administrator_role(run_reports_role, api_version)
例: 役割の作成
次の例では、コンピュータを検索し、各コンピュータにポリシーが割り当てられているかどうかを判断し、必要に応じてポリシーを割り当てる役割を作成します。監査者の役割は、コンピュータを変更する権限を提供しないため、これらの要件を満たしていません。
# Create the Role object run_reports_role = api.Role() run_reports_role.name = "Computer Status and Properties" # No need for access to policies run_reports_role.all_policies = False # Add rights to edit computer properties computer_rights = api.ComputerRights() computer_rights.can_edit_computer_properties = True platform_rights = api.PlatformRights() platform_rights.computer_rights = computer_rights rights = api.Rights() rights.platform_rights = platform_rights # Add the rights to the role run_reports_role.rights = rights # Create the role on Server & Workload Protection admin_roles_api = api.AdministratorRolesApi(api.ApiClient(configuration)) new_role = admin_roles_api.create_administrator_role(run_reports_role, api_version) return new_role.idServer & Workload Protection admin_roles_api = api.AdministratorRolesApi(api.ApiClient(configuration)) new_role = admin_roles_api.create_administrator_role(run_reports_role, api_version) return new_role.id
また、管理者役割の作成操作については、 APIレファレンス/参照情報を参照してください。