servercore_iam_serviceuser_v1
Creates and manages a service user using public API v1. Servercore products support Identity and Access Management (IAM). For more information about service users, see the official Servercore documentation.
Only users with the User administrator role can manage other users.
The password of the service user is stored as raw data in a plain-text file. Learn more about sensitive data in state.
Example Usage
resource "servercore_iam_serviceuser_v1" "serviceuser_1" {
name = "username"
password = "password"
role {
role_name = "member"
scope = "account"
}
role {
role_name = "iam_admin"
scope = "account"
}
}
Argument Reference
-
name— (Required) Name of the service user. -
password— (Required, Sensitive) Password of the service user. -
role— (Optional) Manages service user roles. You can add multiple roles — each role in a separate block. For more information about roles, see the Roles section.-
role_name— (Required) Role name. Available role names areiam_admin,member,reader,billing,object_storage:admin, andobject_storage_user. -
scope— (Required) Scope of the role. Available scopes areaccountandproject. Ifscopeisprojecttheproject_idargument is required. -
project_id— (Optional) Unique identifier of the associated project. Changing this creates a new service user. Ifscopeisproject, theproject_idargument is required. Retrieved from the servercore_vpc_project_v2 resource. Learn more about Projects.
-
-
enabled— (Optional) Specifies if you can create an IAM token for the service user. Boolean flag, the default value istrue. Learn more about IAM tokens.
Roles
To assign roles, use the following values for scope and role_name:
-
Account administrator —
scopeisaccount,role_nameismember. -
Billing administrator —
scopeisaccount,role_nameisbilling. -
User administrator —
scopeisaccount,role_nameisiam_admin. -
Project administrator —
scopeisproject,role_nameismember. -
Account viewer —
scopeisaccount,role_nameisreader. -
Project viewer —
scopeisproject,role_nameisreader. -
Object storage admin —
scopeisproject,role_nameisobject_storage:admin. -
Object storage user —
scopeisproject,role_nameisobject_storage_user.
Import
You can import a service user:
export OS_DOMAIN_NAME=<account_id>
export OS_USERNAME=<username>
export OS_PASSWORD=<password>
terraform import servercore_iam_serviceuser_v1.serviceuser_1 <user_id>
where:
-
<account_id>— Servercore account ID. The account ID is in the top right corner of the Control panel. Learn more about Registration. -
<username>— Name of the service user. To get the name, in the Control panel, go to Identity & Access Management ⟶ User management ⟶ the Service users tab ⟶ copy the name of the required user. Learn more about Service Users. -
<password>— Password of the service user. -
<user_id>— Unique identifier of the service user to import, for example,abc1bb378ac84e1234b869b77aadd2ab. To get the ID, in the Control panel, go to Identity & Access Management ⟶ User management ⟶ the Service users tab ⟶ copy the ID under the user name.