Skip to main content

角色、团队和所有权

Port 的 RBAC 机制可以为特定用户和团队分配权限,还可以根据 Port 中不同角色的需要配置自定义角色。

分配权限

在 Port 中,可以通过rolesteam ownershipusers 来分配权限。

角色

共有 3 种角色,以下是其开箱即用的权限:

RoleDescription
AdminPerform any operation on the platform
Moderator of a BlueprintPerform any operation on a specific blueprint and its entities. A user can be a moderator of multiple blueprints
MemberRead-only permissions + permissions to execute actions
Moderator 角色会在创建蓝图时自动创建。 例如,创建 "Env "蓝图会生成一个名为 "Env-moderator "的角色,该角色可以对 "Env "蓝图及其实体执行任何操作。

层次结构

除了为每个角色指定权限外,还可根据以下层次结构继承权限:

管理员 > 版主 > 成员

例如,如果允许会员编辑 "集群 "实体,那么 "微服务 "管理员也可以编辑它们(管理员可以编辑所有蓝图下的所有实体)。

您可以在用户表中查看(和编辑)每个用户的角色:

Users page

有关用户页面的更多信息,请参阅Users and Teams 部分

用户和团队管理

在 Port 中,您可以在一个地方控制和管理所有用户和团队。

这样,管理员就可以

  • 邀请用户加入他们的组织,并为他们分配特定的角色和团队。
  • 管理团队及其成员。
  • 在组织内推广资产所有权(团队分配)。
  • 在门户网站上设置细粒度权限(权限管理)。

这也将使开发商受益,他们可以

  • 了解自己拥有并负责哪些软件资产。
  • 根据自己的角色和团队,查看自己的资产并对其执行操作。

每个用户都由以下属性定义:

  1. 基本信息--镜像、姓名和电子邮件。
  2. 角色 - 用户的权限级别(请参阅set catalog RBAC 部分) ;
  3. 团队--"团队 "是拥有实体的一组用户(请参阅team 部分) 。

可通过以下方式管理用户和团队

用户和团队页面

Teams and Users page

用户选项卡

在用户选项卡中,您可以

  • 查看所有用户;
  • 邀请新用户
  • 编辑用户
  • 删除用户;
  • 等等。

团队选项卡

在团队选项卡中,您可以

  • 查看所有团队;
  • 创建新团队
  • 编辑团队
  • 删除团队;
  • 等等。
为用户和团队使用 SSO

**注意: ** 下列限制不适用于在 Port 内手动创建的团队。

启用单点登录(SSO)后,用户和团队信息(包括团队成员资格)将直接来自身份 Providers (IdP)。

由于这些团队是通过 IdP 同步的,因此无法对其执行以下操作:

  • 编辑 SSO 团队成员;
  • 删除 SSO 团队。

如果您尝试执行其中一项禁用的操作,界面将显示解释:

Managed by SSO notice

Terraform Provider

您可以通过Terraform provider 执行上述操作。下面是一个main.tf文件的基本示例,该文件定义了一个有 3 个用户的团队:

resource "port_team" "example" {
name = "example"
description = "example"
users = [
"[email protected]",
"[email protected]",
"[email protected]",
]
}

您可以浏览 "团队 "模式here

Port API

应用程序接口允许您管理teamsusers

`团队'元属性

每个实体都有一个名为 "team "的meta-property ,允许您设置哪个团队拥有该实体。作为管理员,您还可以根据该字段设置蓝图权限。

包含team字段的实体 JSON 示例:

{
"identifier": "unique-ID",
"title": "Entity Title",
"team": [],
"blueprint": "testBlueprint",
"properties": {
"prop1": "value"
},
"relations": {}
}

实体创建/编辑页面中的团队下拉选择器:

Team property

FieldTypeDescriptionDefault
teamListSystem field that defines the team that owns an Entity"team": []
  • 我们支持在 Port 上手动创建团队,也支持与身份 Provider(如OktaAzureAD )集成以导入现有团队。
  • 当用户登录 Port 时,他们的群组将自动从其身份 Providers 中提取,允许的团队值也会相应更新。
  • 还可以配置team inheritance 并利用关系自动填充实体的 "团队 "键。
Okta 和 AzureAD 集成只有在从相关身份提供程序配置 SSO 后才能使用,详情请参考Single Sign-On (SSO) 部分。