Skip to content

Commit

Permalink
Add Account Assignment IDs to IC App Permission Set List
Browse files Browse the repository at this point in the history
Account Assignment resources represent potential Identity Center
account assignments that will be created when a Teleport user is
granted access to them via an Access Request.

The UI needs to know which resources represent a given (Account,
Permission Set) pair when building an access request, so this change
allows Teleport to express this relationship in the enclosing
Idenitity Center and App resources, rather than have the UI try
and deduce it.
  • Loading branch information
tcsc committed Dec 4, 2024
1 parent 01fc9f0 commit 3cc204d
Show file tree
Hide file tree
Showing 8 changed files with 2,175 additions and 2,059 deletions.
341 changes: 177 additions & 164 deletions api/gen/proto/go/teleport/identitycenter/v1/identitycenter.pb.go

Large diffs are not rendered by default.

6 changes: 5 additions & 1 deletion api/proto/teleport/identitycenter/v1/identitycenter.proto
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,17 @@ message PermissionSetInfo {
// Role is an optional ARN indicating role provisioned to this account. May be
// empty if the permission set is not provisioned or is not relevant in the
string role = 3;

// AssignmentID is the name of a Teleport Account Assignment resource
// representing this permission set assigned to the enclosing Account.
string assignment_id = 4;
}

// AccountStatus represents any commonly-changing data about an Identity
// Center account.
message AccountStatus {}

// Account is an Identity-Ceneter-managed AWS account
// Account is an Identity-Center-managed AWS account
message Account {
string kind = 1;
string sub_kind = 2;
Expand Down
4 changes: 4 additions & 0 deletions api/proto/teleport/legacy/types/types.proto
Original file line number Diff line number Diff line change
Expand Up @@ -1009,6 +1009,10 @@ message IdentityCenterPermissionSet {

// Name is the human-readable name of the Permission Set.
string Name = 2 [(gogoproto.jsontag) = "name,omitempty"];

// AssignmentName is the name of the account assignment that represents this
// permission set on the account enclosing this permission set
string AssignmentName = 3 [(gogoproto.jsontag) = "assignment_name,omitempty"];
}

// AppIdentityCenter encapsulates information about an AWS Identity Center
Expand Down
3 changes: 2 additions & 1 deletion api/types/derived.gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3,834 changes: 1,941 additions & 1,893 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 @@ -95,6 +95,7 @@ Optional:
Optional:

- `arn` (String) ARN is the fully-formed ARN of the Permission Set.
- `assignment_name` (String) AssignmentName is the name of the account assignment that represents this permission set on the account enclosing this permission set
- `name` (String) Name is the human-readable name of the Permission Set.


Expand Down
1 change: 1 addition & 0 deletions docs/pages/reference/terraform-provider/resources/app.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ Optional:
Optional:

- `arn` (String) ARN is the fully-formed ARN of the Permission Set.
- `assignment_name` (String) AssignmentName is the name of the account assignment that represents this permission set on the account enclosing this permission set
- `name` (String) Name is the human-readable name of the Permission Set.


Expand Down
44 changes: 44 additions & 0 deletions integrations/terraform/tfschema/types_terraform.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 3cc204d

Please sign in to comment.