Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds Identity Center account assignments to role conditions #47793

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions api/proto/teleport/legacy/types/types.proto
Original file line number Diff line number Diff line change
Expand Up @@ -3248,6 +3248,20 @@ message RoleConditions {
reserved "SAMLIdPServiceProviderLabels";
reserved 41; // removed saml_idp_service_provider_labels_expression in favor of using app_labels_expression.
reserved "SAMLIdPServiceProviderLabelsExpression";

// AccountAssignments holds the list of account assignments affected by this
// condition.
repeated IdentityCenterAccountAssignment AccountAssignments = 42 [
(gogoproto.nullable) = false,
(gogoproto.jsontag) = "account_assignments,omitempty"
];
}

// IdentityCenterAccountAssignment captures an AWS Identity Center account
// assignment (acccount + permission set) pair.
message IdentityCenterAccountAssignment {
string PermissionSet = 1 [(gogoproto.jsontag) = "permission_set,omitempty"];
string Account = 2 [(gogoproto.jsontag) = "account,omitempty"];
}

// SPIFFERoleCondition sets out which SPIFFE identities this role is allowed or
Expand Down
4,371 changes: 2,328 additions & 2,043 deletions api/types/types.pb.go

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ resource, which you can apply after installing the Teleport Kubernetes operator.

|Field|Type|Description|
|---|---|---|
|account_assignments|[][object](#specallowaccount_assignments-items)|AccountAssignments holds the list of account assignments affected by this condition.|
|app_labels|object|AppLabels is a map of labels used as part of the RBAC system.|
|app_labels_expression|string|AppLabelsExpression is a predicate expression used to allow/deny access to Apps.|
|aws_role_arns|[]string|AWSRoleARNs is a list of AWS role ARNs this role is allowed to assume.|
Expand Down Expand Up @@ -73,6 +74,13 @@ resource, which you can apply after installing the Teleport Kubernetes operator.
|windows_desktop_labels_expression|string|WindowsDesktopLabelsExpression is a predicate expression used to allow/deny access to Windows desktops.|
|windows_desktop_logins|[]string|WindowsDesktopLogins is a list of desktop login names allowed/denied for Windows desktops.|

### spec.allow.account_assignments items

|Field|Type|Description|
|---|---|---|
|account|string||
|permission_set|string||

### spec.allow.db_permissions items

|Field|Type|Description|
Expand Down Expand Up @@ -184,6 +192,7 @@ resource, which you can apply after installing the Teleport Kubernetes operator.

|Field|Type|Description|
|---|---|---|
|account_assignments|[][object](#specdenyaccount_assignments-items)|AccountAssignments holds the list of account assignments affected by this condition.|
|app_labels|object|AppLabels is a map of labels used as part of the RBAC system.|
|app_labels_expression|string|AppLabelsExpression is a predicate expression used to allow/deny access to Apps.|
|aws_role_arns|[]string|AWSRoleARNs is a list of AWS role ARNs this role is allowed to assume.|
Expand Down Expand Up @@ -223,6 +232,13 @@ resource, which you can apply after installing the Teleport Kubernetes operator.
|windows_desktop_labels_expression|string|WindowsDesktopLabelsExpression is a predicate expression used to allow/deny access to Windows desktops.|
|windows_desktop_logins|[]string|WindowsDesktopLogins is a list of desktop login names allowed/denied for Windows desktops.|

### spec.deny.account_assignments items

|Field|Type|Description|
|---|---|---|
|account|string||
|permission_set|string||

### spec.deny.db_permissions items

|Field|Type|Description|
Expand Down Expand Up @@ -417,6 +433,7 @@ resource, which you can apply after installing the Teleport Kubernetes operator.

|Field|Type|Description|
|---|---|---|
|account_assignments|[][object](#specallowaccount_assignments-items)|AccountAssignments holds the list of account assignments affected by this condition.|
|app_labels|object|AppLabels is a map of labels used as part of the RBAC system.|
|app_labels_expression|string|AppLabelsExpression is a predicate expression used to allow/deny access to Apps.|
|aws_role_arns|[]string|AWSRoleARNs is a list of AWS role ARNs this role is allowed to assume.|
Expand Down Expand Up @@ -456,6 +473,13 @@ resource, which you can apply after installing the Teleport Kubernetes operator.
|windows_desktop_labels_expression|string|WindowsDesktopLabelsExpression is a predicate expression used to allow/deny access to Windows desktops.|
|windows_desktop_logins|[]string|WindowsDesktopLogins is a list of desktop login names allowed/denied for Windows desktops.|

### spec.allow.account_assignments items

|Field|Type|Description|
|---|---|---|
|account|string||
|permission_set|string||

### spec.allow.db_permissions items

|Field|Type|Description|
Expand Down Expand Up @@ -567,6 +591,7 @@ resource, which you can apply after installing the Teleport Kubernetes operator.

|Field|Type|Description|
|---|---|---|
|account_assignments|[][object](#specdenyaccount_assignments-items)|AccountAssignments holds the list of account assignments affected by this condition.|
|app_labels|object|AppLabels is a map of labels used as part of the RBAC system.|
|app_labels_expression|string|AppLabelsExpression is a predicate expression used to allow/deny access to Apps.|
|aws_role_arns|[]string|AWSRoleARNs is a list of AWS role ARNs this role is allowed to assume.|
Expand Down Expand Up @@ -606,6 +631,13 @@ resource, which you can apply after installing the Teleport Kubernetes operator.
|windows_desktop_labels_expression|string|WindowsDesktopLabelsExpression is a predicate expression used to allow/deny access to Windows desktops.|
|windows_desktop_logins|[]string|WindowsDesktopLogins is a list of desktop login names allowed/denied for Windows desktops.|

### spec.deny.account_assignments items

|Field|Type|Description|
|---|---|---|
|account|string||
|permission_set|string||

### spec.deny.db_permissions items

|Field|Type|Description|
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ resource, which you can apply after installing the Teleport Kubernetes operator.

|Field|Type|Description|
|---|---|---|
|account_assignments|[][object](#specallowaccount_assignments-items)|AccountAssignments holds the list of account assignments affected by this condition.|
|app_labels|object|AppLabels is a map of labels used as part of the RBAC system.|
|app_labels_expression|string|AppLabelsExpression is a predicate expression used to allow/deny access to Apps.|
|aws_role_arns|[]string|AWSRoleARNs is a list of AWS role ARNs this role is allowed to assume.|
Expand Down Expand Up @@ -73,6 +74,13 @@ resource, which you can apply after installing the Teleport Kubernetes operator.
|windows_desktop_labels_expression|string|WindowsDesktopLabelsExpression is a predicate expression used to allow/deny access to Windows desktops.|
|windows_desktop_logins|[]string|WindowsDesktopLogins is a list of desktop login names allowed/denied for Windows desktops.|

### spec.allow.account_assignments items

|Field|Type|Description|
|---|---|---|
|account|string||
|permission_set|string||

### spec.allow.db_permissions items

|Field|Type|Description|
Expand Down Expand Up @@ -184,6 +192,7 @@ resource, which you can apply after installing the Teleport Kubernetes operator.

|Field|Type|Description|
|---|---|---|
|account_assignments|[][object](#specdenyaccount_assignments-items)|AccountAssignments holds the list of account assignments affected by this condition.|
|app_labels|object|AppLabels is a map of labels used as part of the RBAC system.|
|app_labels_expression|string|AppLabelsExpression is a predicate expression used to allow/deny access to Apps.|
|aws_role_arns|[]string|AWSRoleARNs is a list of AWS role ARNs this role is allowed to assume.|
Expand Down Expand Up @@ -223,6 +232,13 @@ resource, which you can apply after installing the Teleport Kubernetes operator.
|windows_desktop_labels_expression|string|WindowsDesktopLabelsExpression is a predicate expression used to allow/deny access to Windows desktops.|
|windows_desktop_logins|[]string|WindowsDesktopLogins is a list of desktop login names allowed/denied for Windows desktops.|

### spec.deny.account_assignments items

|Field|Type|Description|
|---|---|---|
|account|string||
|permission_set|string||

### spec.deny.db_permissions items

|Field|Type|Description|
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ resource, which you can apply after installing the Teleport Kubernetes operator.

|Field|Type|Description|
|---|---|---|
|account_assignments|[][object](#specallowaccount_assignments-items)|AccountAssignments holds the list of account assignments affected by this condition.|
|app_labels|object|AppLabels is a map of labels used as part of the RBAC system.|
|app_labels_expression|string|AppLabelsExpression is a predicate expression used to allow/deny access to Apps.|
|aws_role_arns|[]string|AWSRoleARNs is a list of AWS role ARNs this role is allowed to assume.|
Expand Down Expand Up @@ -73,6 +74,13 @@ resource, which you can apply after installing the Teleport Kubernetes operator.
|windows_desktop_labels_expression|string|WindowsDesktopLabelsExpression is a predicate expression used to allow/deny access to Windows desktops.|
|windows_desktop_logins|[]string|WindowsDesktopLogins is a list of desktop login names allowed/denied for Windows desktops.|

### spec.allow.account_assignments items

|Field|Type|Description|
|---|---|---|
|account|string||
|permission_set|string||

### spec.allow.db_permissions items

|Field|Type|Description|
Expand Down Expand Up @@ -184,6 +192,7 @@ resource, which you can apply after installing the Teleport Kubernetes operator.

|Field|Type|Description|
|---|---|---|
|account_assignments|[][object](#specdenyaccount_assignments-items)|AccountAssignments holds the list of account assignments affected by this condition.|
|app_labels|object|AppLabels is a map of labels used as part of the RBAC system.|
|app_labels_expression|string|AppLabelsExpression is a predicate expression used to allow/deny access to Apps.|
|aws_role_arns|[]string|AWSRoleARNs is a list of AWS role ARNs this role is allowed to assume.|
Expand Down Expand Up @@ -223,6 +232,13 @@ resource, which you can apply after installing the Teleport Kubernetes operator.
|windows_desktop_labels_expression|string|WindowsDesktopLabelsExpression is a predicate expression used to allow/deny access to Windows desktops.|
|windows_desktop_logins|[]string|WindowsDesktopLogins is a list of desktop login names allowed/denied for Windows desktops.|

### spec.deny.account_assignments items

|Field|Type|Description|
|---|---|---|
|account|string||
|permission_set|string||

### spec.deny.db_permissions items

|Field|Type|Description|
Expand Down
18 changes: 18 additions & 0 deletions docs/pages/reference/terraform-provider/data-sources/role.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ Optional:

Optional:

- `account_assignments` (Attributes List) AccountAssignments holds the list of account assignments affected by this condition. (see [below for nested schema](#nested-schema-for-specallowaccount_assignments))
- `app_labels` (Map of List of String) AppLabels is a map of labels used as part of the RBAC system.
- `app_labels_expression` (String) AppLabelsExpression is a predicate expression used to allow/deny access to Apps.
- `aws_role_arns` (List of String) AWSRoleARNs is a list of AWS role ARNs this role is allowed to assume.
Expand Down Expand Up @@ -87,6 +88,14 @@ Optional:
- `windows_desktop_labels_expression` (String) WindowsDesktopLabelsExpression is a predicate expression used to allow/deny access to Windows desktops.
- `windows_desktop_logins` (List of String) WindowsDesktopLogins is a list of desktop login names allowed/denied for Windows desktops.

### Nested Schema for `spec.allow.account_assignments`

Optional:

- `account` (String)
- `permission_set` (String)


### Nested Schema for `spec.allow.db_permissions`

Optional:
Expand Down Expand Up @@ -211,6 +220,7 @@ Optional:

Optional:

- `account_assignments` (Attributes List) AccountAssignments holds the list of account assignments affected by this condition. (see [below for nested schema](#nested-schema-for-specdenyaccount_assignments))
- `app_labels` (Map of List of String) AppLabels is a map of labels used as part of the RBAC system.
- `app_labels_expression` (String) AppLabelsExpression is a predicate expression used to allow/deny access to Apps.
- `aws_role_arns` (List of String) AWSRoleARNs is a list of AWS role ARNs this role is allowed to assume.
Expand Down Expand Up @@ -250,6 +260,14 @@ Optional:
- `windows_desktop_labels_expression` (String) WindowsDesktopLabelsExpression is a predicate expression used to allow/deny access to Windows desktops.
- `windows_desktop_logins` (List of String) WindowsDesktopLogins is a list of desktop login names allowed/denied for Windows desktops.

### Nested Schema for `spec.deny.account_assignments`

Optional:

- `account` (String)
- `permission_set` (String)


### Nested Schema for `spec.deny.db_permissions`

Optional:
Expand Down
18 changes: 18 additions & 0 deletions docs/pages/reference/terraform-provider/resources/role.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ Optional:

Optional:

- `account_assignments` (Attributes List) AccountAssignments holds the list of account assignments affected by this condition. (see [below for nested schema](#nested-schema-for-specallowaccount_assignments))
- `app_labels` (Map of List of String) AppLabels is a map of labels used as part of the RBAC system.
- `app_labels_expression` (String) AppLabelsExpression is a predicate expression used to allow/deny access to Apps.
- `aws_role_arns` (List of String) AWSRoleARNs is a list of AWS role ARNs this role is allowed to assume.
Expand Down Expand Up @@ -141,6 +142,14 @@ Optional:
- `windows_desktop_labels_expression` (String) WindowsDesktopLabelsExpression is a predicate expression used to allow/deny access to Windows desktops.
- `windows_desktop_logins` (List of String) WindowsDesktopLogins is a list of desktop login names allowed/denied for Windows desktops.

### Nested Schema for `spec.allow.account_assignments`

Optional:

- `account` (String)
- `permission_set` (String)


### Nested Schema for `spec.allow.db_permissions`

Optional:
Expand Down Expand Up @@ -265,6 +274,7 @@ Optional:

Optional:

- `account_assignments` (Attributes List) AccountAssignments holds the list of account assignments affected by this condition. (see [below for nested schema](#nested-schema-for-specdenyaccount_assignments))
- `app_labels` (Map of List of String) AppLabels is a map of labels used as part of the RBAC system.
- `app_labels_expression` (String) AppLabelsExpression is a predicate expression used to allow/deny access to Apps.
- `aws_role_arns` (List of String) AWSRoleARNs is a list of AWS role ARNs this role is allowed to assume.
Expand Down Expand Up @@ -304,6 +314,14 @@ Optional:
- `windows_desktop_labels_expression` (String) WindowsDesktopLabelsExpression is a predicate expression used to allow/deny access to Windows desktops.
- `windows_desktop_logins` (List of String) WindowsDesktopLogins is a list of desktop login names allowed/denied for Windows desktops.

### Nested Schema for `spec.deny.account_assignments`

Optional:

- `account` (String)
- `permission_set` (String)


### Nested Schema for `spec.deny.db_permissions`

Optional:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,17 @@ spec:
allow:
description: Allow is the set of conditions evaluated to grant access.
properties:
account_assignments:
description: AccountAssignments holds the list of account assignments
affected by this condition.
items:
properties:
account:
type: string
permission_set:
type: string
type: object
type: array
app_labels:
additionalProperties:
x-kubernetes-preserve-unknown-fields: true
Expand Down Expand Up @@ -561,6 +572,17 @@ spec:
description: Deny is the set of conditions evaluated to deny access.
Deny takes priority over allow.
properties:
account_assignments:
description: AccountAssignments holds the list of account assignments
affected by this condition.
items:
properties:
account:
type: string
permission_set:
type: string
type: object
type: array
app_labels:
additionalProperties:
x-kubernetes-preserve-unknown-fields: true
Expand Down Expand Up @@ -1366,6 +1388,17 @@ spec:
allow:
description: Allow is the set of conditions evaluated to grant access.
properties:
account_assignments:
description: AccountAssignments holds the list of account assignments
affected by this condition.
items:
properties:
account:
type: string
permission_set:
type: string
type: object
type: array
app_labels:
additionalProperties:
x-kubernetes-preserve-unknown-fields: true
Expand Down Expand Up @@ -1892,6 +1925,17 @@ spec:
description: Deny is the set of conditions evaluated to deny access.
Deny takes priority over allow.
properties:
account_assignments:
description: AccountAssignments holds the list of account assignments
affected by this condition.
items:
properties:
account:
type: string
permission_set:
type: string
type: object
type: array
app_labels:
additionalProperties:
x-kubernetes-preserve-unknown-fields: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,17 @@ spec:
allow:
description: Allow is the set of conditions evaluated to grant access.
properties:
account_assignments:
description: AccountAssignments holds the list of account assignments
affected by this condition.
items:
properties:
account:
type: string
permission_set:
type: string
type: object
type: array
app_labels:
additionalProperties:
x-kubernetes-preserve-unknown-fields: true
Expand Down Expand Up @@ -564,6 +575,17 @@ spec:
description: Deny is the set of conditions evaluated to deny access.
Deny takes priority over allow.
properties:
account_assignments:
description: AccountAssignments holds the list of account assignments
affected by this condition.
items:
properties:
account:
type: string
permission_set:
type: string
type: object
type: array
app_labels:
additionalProperties:
x-kubernetes-preserve-unknown-fields: true
Expand Down
Loading
Loading