SDKを使用して、ユーザとAPIキーの権限を制御する役割を作成および設定します。たとえば、Workload Securityの自動配信プロセスの一環として、ユーザが実行するタスクやAPIを使用して実行するタスクに適したさまざまな役割をコードで作成できます。
役割では、ユーザまたは自分のコードでタスクを実行するために必要な最小限の権限を付与する必要があります。
ロールの詳細については、ユーザのロールを定義するを参照してください。
次のクラスを使用すると、役割と対話できます。
AdministratorRolesApi: ロールの作成、変更、削除、検索、説明、および一覧表示。Role: 役割を表し、役割のプロパティへのアクセスを提供します。Rightsクラス: Workload Securityリソースへのアクセス権を表すいくつかのクラス。例えば、ComputerRightsはコンピュータとの対話の権限を定義し、ScheduledTaskRightsはスケジュールされたタスクとの対話の権限を定義します。
ロールIDを取得するも参照してください。
一般的な手順
次の一般的な手順を使用して、役割を作成または変更します。
Roleオブジェクトを作成し、プロパティを構成します:- 役割を識別するための名前を入力し、必要に応じて説明を入力します。
- 必要に応じて、役割がアクセスできるコンピュータとポリシーを指定します。
- 必要に応じて、コンピュータ上で役割が実行できるタスクと、アクセスできるポリシーを指定する権限オブジェクトを追加します。
AdministratorsRoleApiオブジェクトを作成し、それを使用してWorkload Securityでロールを作成または変更します。
役割を作成すると、初期設定ではすべてのコンピュータとポリシーに対する読み取りアクセス権が付与され、ユーザは自分のパスワードを変更できるようになり、 Workload
Security コンソールへのアクセスが許可されます。
次のJSONは
Roleオブジェクトの例のデータ構造を表しています。このデータ構造は、ロールのアクセス権を構成する方法を理解するのに役立ちます。allComputersおよびallPolicies項目は、すべてのコンピューターとポリシーへのアクセスを制御します。いずれかがfalseの場合、computerIDsおよびpolicyIDs項目にはアクセス可能なコンピューターとポリシーのIDが含まれますrights項目とその子孫は、Workload Securityリソースへのアクセス権を定義するさまざまな権利クラスに対応しています。この例を簡潔にするために、権利項目の深いレベルは表示されていません。
{
"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オブジェクトは、前のJSONコードのplatformRightsデータ項目に対応しています。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
最後に、Workload Securityで役割を作成します。
admin_roles_api = api.AdministratorRolesApi(api.ApiClient(configuration)) new_role = admin_roles_api.create_administrator_role(run_reports_role, api_version)
例:役割の作成
次の例では、コンピュータを検索したり、各コンピュータにポリシーが割り当てられ、必要に応じてポリシーが割り当てられます。Auditorの役割は、コンピュータの変更権限がないため、これらの要件を満たしていません。
# 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 Workload Security 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レファレンスの管理者ロールの作成操作も参照してください。
