Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • The feature will be implemented and contained in a new plugin.
  • It will provide the api for registering the attestation server with cloudstack.
  • It will implement a listener for getting host connect notifications. It'll register with the agent manager to get the processConnect callbacks when agent connects to a host. On getting the callback it'll check with the attestation server (if configured) whether the given host is trusted or not. The callback gets called in the following scenarios
    • When a new host is added to the infrastructure.
    • When management server comes up and connects to the host.
    • When the host reboots/boots up, cloudstack will issue a processDisconnect callback when it looses connection and a _processConnect callback on being able to connect again.

...

Migration and HA

Database modifications

A new table will be created in the db to hold the attestation server details. Open Issues 3.

Field name

Type

Allow nulls

Key

Default value

id

bigint(20) unsigned

No

Primary

Null

uuid

varchar(40)

Yes

None

Null

username

varchar(255)

Yes

None

Null

password

varchar(255)

Yes

None

Null

Web Services APIs

  1. registerAttestationServer : A new api to register an attestation server with cloudstack. It will take the details of the attestation server as a parameter and check if a connection can be established to it.

    Parameters

    Type

    Required/Optional

    Comments

    url

    String

    Required

    Url of the attestation server

    username

    String

    Required

    Username with which cloudstack should register and connect with the attestation server

    password

    String

    Required

    Password with which cloudstack should register and connect with the attestation server

Test Guidelines

<TBD>

Hypervisor support

...

  1. The documentation available suggests that the configureWhiteList and registerHost api calls can be used for registering a server for attestation. These apis haven't been tried as part of poc. Need to confirm this. Should we keep the white list configuration and registration of a host out of the scope? Additionally, should management server check with the attestation server if a host is trusted or not and on getting a host not registered exception, register it? Or instead, keep the information on whether a host is registered or not in the db.
  2. Proposal is to fill the host_details table with an additional attribute for an host on checking if it is trusted or not. Should this information be stored elsewhere, probably in a separate table?
  3. Should the attestation server details be kept in a new table or can they be kept in the host table itself.