Skip to content

Commit a0efd4f

Browse files
authored
[aws][chore] Documentation for AWS Iam and SSO (#2181)
1 parent 16df325 commit a0efd4f

File tree

2 files changed

+98
-0
lines changed

2 files changed

+98
-0
lines changed

plugins/aws/docs/iam.puml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
@startuml
2+
3+
class IAMEntity {
4+
- id: string
5+
- inlinePolicy: PolicyStatement[]
6+
}
7+
8+
class User
9+
class Group
10+
class Role
11+
note bottom of Role
12+
Role has a trust policy that defines what users,
13+
groups or services can assume this role.
14+
Can have a cross account trust.
15+
end note
16+
IAMEntity <|-- Group
17+
IAMEntity <|-- Role
18+
IAMEntity <|-- User
19+
Group *-- User
20+
21+
class Policy {
22+
- managedBy: AWS|Customer
23+
}
24+
class PolicyStatement {
25+
- effect: Allow|Deny
26+
- actions: string[]
27+
- notActions: string[]
28+
- resources: string[]
29+
- conditions: string[]
30+
- more...
31+
}
32+
class Resource {
33+
- inlinePolicy: PolicyStatement[]
34+
}
35+
Policy -> PolicyStatement
36+
IAMEntity -> Policy
37+
PolicyStatement ..> Resource
38+
39+
40+
@enduml

plugins/aws/docs/sso.puml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
@startuml
2+
3+
hide empty members
4+
5+
6+
class User
7+
class Group
8+
class PermissionSet {
9+
- inlinePolicy: PolicyStatement[]
10+
}
11+
12+
Group o--> User
13+
User o--> PermissionSet
14+
Group o--> PermissionSet
15+
16+
(Group, PermissionSet) .. Account
17+
Account .. (User, PermissionSet)
18+
19+
package AwsAccount {
20+
class Role
21+
PermissionSet .> Role
22+
}
23+
24+
note bottom of AwsAccount.Role
25+
The Permissions of the PermissionSet is
26+
replicated as Role into every Account.
27+
end note
28+
29+
class PolicyStatement {
30+
- effect: Allow|Deny
31+
- actions: string[]
32+
- notActions: string[]
33+
- resources: string[]
34+
- conditions: string[]
35+
}
36+
PermissionSet o--> PolicyStatement
37+
38+
note bottom of PermissionSet
39+
The same PermissionSet can be assigned to multiple
40+
Users and Groups in multiple accounts.
41+
end note
42+
note right of User
43+
Has nothing to do with Iam User.
44+
end note
45+
note right of Group
46+
Has nothing to do with Iam Group.
47+
end note
48+
49+
50+
51+
note top of Group
52+
AWS SSO User AWS IAM Identity Center (SSO)
53+
is usually available in one account in the organization
54+
and one region.
55+
56+
It is allowed to have more than one SSO instance in individual accounts.
57+
end note
58+
@enduml

0 commit comments

Comments
 (0)