目次
このページのトピック

役割を使用したアクセスの制御

SDKを使用して、ユーザおよびAPIキーの権限を制御する役割を作成および設定します。たとえば、Workload Securityの自動配信プロセスの一環として、コードでは、ユーザが実行するタスク、またはAPIを使用して実行するタスクに適したさまざまな役割を作成できます。

役割では、ユーザまたは自分のコードでタスクを実行するために必要な最小限の権限を付与する必要があります。

役割の背景情報については、 ユーザの役割を定義するを参照してください。

次のクラスを使用すると、役割と対話できます。

  • AdministratorRolesApi:役割の作成、変更、削除、検索、説明、およびリスト表示
  • Role:役割を表し、役割のプロパティへのアクセスを提供します。
  • Rights classes: Workload Securityリソースへのアクセス権を表すいくつかのクラスです。たとえば、 ComputerRightsはコンピュータとのやりとりのための権限を定義し、 ScheduledTaskRightsは予約タスクとの対話のための権限を定義します。

役割IDを取得も参照してください。

一般的な手順

次の一般的な手順を使用して、役割を作成または変更します。

  1. Role オブジェクトを作成し、プロパティを設定します。

    • 役割を識別するための名前と、オプションで説明を入力します。
    • (オプション)役割がアクセスできるコンピュータとポリシーを特定します。
    • (オプション)権限オブジェクトを追加して、アクセスできるコンピュータおよびポリシーで役割が実行できるタスクを指定します。
  2. 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リファレンスの Describe an Administrator Role 操作のレスポンスを参照してください。

次の例では、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リファレンスのCreate an Administrator Role 操作も参照してください。