ビュー:
ヒント
ヒント
この記事では、APIキーを作成する方法について説明します。従来のアカウント。新しいTrend Micro Cloud Oneアカウントを使用している場合は、 APIキーの管理代わりに。
SDKを使用してAPIキーを作成するには、まずAPIキーに関連付けるロールのIDを取得する必要があります。また、既存のAPIキーを使用して呼び出しを認証する必要もあります。 APIキーが作成されていない場合は、ユーザ名とパスワードを使用して最初のAPIキーを作成できます。

ロールIDの取得 親トピック

ロールIDを取得して、APIキーにロールを割り当てます。役割のIDがわからない場合は、役割を検索して、役割IDを取得できます。
たとえば、コンピュータのセキュリティステータスに関するレポートを生成するプログラムには、すべてのコンピュータに対する読み取りアクセス権が必要です。 Server & Workload Protection がデフォルトで提供する監査者の役割は、コンピュータおよびポリシーへの読み取り専用アクセスを提供します。この役割は、このタスクに適しています。
役割を作成する場合は、「役割を使用したアクセスの制御
ロールを検索してIDを取得するには、次の一般的な手順を実行します。検索の詳細については、を参照してください。リソースの検索

手順

  1. 作成するSearchCriteria検索条件を定義するオブジェクト。
  2. を追加します。SearchCriteriaSearchFilter
  3. 作成するAdministratorRolesApiオブジェクトを検索し、それを使用して検索を実行します。
  4. 返されたRoleオブジェクト。

次に進む前に

次の例では、役割を名前で検索します。
# Store the role ID - default is None role_id = None # Search criteria name_criteria = api.SearchCriteria() name_criteria.field_name = "name" name_criteria.string_value = role_name name_criteria.string_test = "equal" # Search filter role_filter = api.SearchFilter() role_filter.search_criteria = [name_criteria] # Perform the search and obtain the ID of the returned role admin_roles_api = api.AdministratorRolesApi(api.ApiClient(configuration)) roles = admin_roles_api.search_administrator_roles(api_version, search_filter=role_filter) if len(roles.roles) > 0: role_id = roles.roles[0].id return roles.roles[0].id
また、管理者の役割の検索操作については、 APIレファレンス/参照情報を参照してください。

SDKを使用してAPIキーを作成する 親トピック

SDKを使用してAPIキーを作成するには、ApiKeyオブジェクトを作成し、APIキーに関連付けるロールの名前とIDを設定します。次のオプションのプロパティも指定できます。
  • 説明
  • タイムゾーン
  • ロケール
  • 有効期限
を使用します。APIKeysApiオブジェクトを使用して、 Server & Workload ProtectionにAPIキーを作成します。はApiKey返されるオブジェクトには秘密鍵が含まれています。
APIを使用してAPIキーを作成するには、 APIキーの作成の操作/api/apikeysエンドポイント。
次の例では、監査用のAPIキーを作成します。キーの有効期限は、作成後2週間です。
# Set key properties time_to_expiry_in_ms = 14 * 24 * 60 * 60 * 1000 current_time_in_ms = int(round(time.time() * 1000)) key = api.ApiKey() key.key_name = key_name key.description = "Read-only access" key.role_id = "2" key.locale = "en-US" key.time_zone = "Asia/Tokyo" key.expiry_date = current_time_in_ms + time_to_expiry_in_ms # expires in 2 weeks # Create the key on Server & Workload Protection api_keys_api = api.APIKeysApi(api.ApiClient(configuration)) return api_keys_api.create_api_key(key, api_version)Server & Workload Protection
api_keys_api = api.APIKeysApi(api.ApiClient(configuration))
return api_keys_api.create_api_key(key, api_version)
API呼び出しの認証の詳細については、を参照してください。 Server & Workload Protectionによる認証

ユーザ名とパスワードを使用してAPIキーを作成する 親トピック

APIキーがまだ作成されていない場合にタスクを自動化するには、APIとユーザ名とパスワードを使用して最初のAPIキーを作成します。

手順

  1. を使用します。/api/sessionsリソースを使用して、有効なセッションCookieとリクエストIDを取得します。
  2. への要求でセッションCookieと要求IDを使用します。/api/apikeysリソースを使用してAPIキーを作成します。

次に進む前に

作成したら、APIキーを使用して、以降の Server & Workload Protectionの呼び出しを行います。

セッションCookieとリクエストIDを取得する 親トピック

Postman、Paw、cURLなどのHTTPクライアントを使用して、POST要求を/api/sessionsリソース。対応にはセッションIDを含むCookieが含まれ、対応本文には要求IDが含まれます。
注意
注意
/api/sessionsリソースは現在SDKで使用できません。
次の情報を使用して要求を作成します。
  • 要求の種類: POST
  • URL: https://<Server & Workload Protection Hostname>:<port>/api/sessions、 例えばhttps://localhost:4119/api/sessions
  • 最初のヘッダ:
    • 名前: api-version
    • 値: v1
  • 2番目のヘッダ:
    • 名前: Content-type
    • 値: application/json
  • 本文 (tenantNameそしてmfaCode必要に応じて):
    { "userName": "myUserName", "password": "myPassword" }
cURLコマンドの例を次に示します。対応Cookieはcookie.txtファイルに保存されます。
curl -i -X POST \ https://&nbsp;localhost:4119/api/sessions \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -H 'api-version: v1' \ -c cookie.txt \ -d '{ "userName": "myUserName", "password": "myPassword" }'
Set-Cookie対応ヘッダには、sIDクッキー。対応の本文には、値として対応IDが含まれます。RID。対応は次の例のようになります。
X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1;mode=block Cache-Control: no-cache,no-store Pragma: no-cache Set-Cookie: sID=D5EE2AC155601C895B33B701080D40A6; Path=/; Secure; HttpOnly Content-Type: application/json Content-Length: 141 Date: Wed, 24 Oct 2018 15:29:53 GMT { "administratorID": 1, "created": 1540309893123, "lastActivity": 1540309893123, "accessType": "webService", "RID": "77DFF81036170DBF92CB71E4559512B9" }

セッションCookieとリクエストIDを使用してAPIキーを作成する 親トピック

Postman、Paw、cURLなどのHTTPクライアントを使用して、POST要求を/api/apikeysリソース。から取得したセッションCookieと対応IDを使用します。/api/sessionsリソースを使用して呼び出しを認証します。
注意
注意
現時点では、SDKでは認証でのセッションIDとリソースIDの使用はサポートされていません。
次の情報を使用して要求を作成します。
  • 要求の種類: POST
  • URL: https://<Server & Workload Protection Hostname>:<port>/api/apikeys、 例えばhttps://localhost:4119/api/sessions
  • 最初のヘッダ:
    • 名前: api-version
    • 値: v1
  • 2番目のヘッダ:
    • 名前 Content-type
    • 値: application/json
  • 3番目のヘッダ:
    • 名前: rID
    • 値: sessionsリソース (例)77DFF81036170DBF92CB71E4559512B9
  • Cookie: sIDから受信した対応から/api/sessionsリソース。
  • 本文:
    { "keyName": "First Key", "description": "Created using a request ID", "roleID: 1 }
    ロールIDの取得については、を参照してください。ロールIDの取得
cURLコマンドの例を次に示します。セッションCookieは、cookie.txtファイルを介して組み込まれます。
curl -X POST \ https://&nbsp;192.168.60.128:4119/api/apikeys \ -H 'Content-Type: application/json' \ -H 'Postman-Token: 6f81da09-e5e2-421b-a38a-d5679f50608d' \ -H 'api-version: v1' \ -H 'rID: 77DFF81036170DBF92CB71E4559512B9' \ -b cookie.txt \ -d '{ "keyName": "First Key", "description": "Created using a request ID", "roleID": 1 }'
対応の本文には、値として秘密鍵が含まれます。secretKey。次の例のようになります。
{ "keyName": "First Key", "description": "Created using a request ID", "locale": "en-US", "roleID": 1, "timeZone": "America/New_York", "active": true, "created": 1540310105209, "unsuccessfulSignInAttempts": 0, "secretKey": "8:4rFctPvno+dxntueMcso4F61SUZMFVt3I6SczG7ysOA=", "serviceAccount": false, "ID": 8 }
保存secretKey後で使用できるようにしますapi-secret-key API呼び出しのヘッダー。