Skip to content

Commit ae591e9

Browse files
committed
Edited the installation while implementing it
1 parent 2eef34e commit ae591e9

File tree

5 files changed

+101
-194
lines changed

5 files changed

+101
-194
lines changed

docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws-v3/Overview.md

Lines changed: 69 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -67,123 +67,76 @@ This is the default mapping configuration you get after installing AWS Hosted by
6767
<summary><b>Default mapping configuration (click to expand)</b></summary>
6868

6969
```yaml showLineNumbers
70+
deleteDependentEntities: true
71+
createMissingRelatedEntities: true
72+
enableMergeEntity: true
7073
resources:
71-
- kind: AWS::Organizations::Account
72-
selector:
73-
query: 'true'
74-
port:
75-
entity:
76-
mappings:
77-
identifier: .Id
78-
title: .Name
79-
blueprint: '"awsAccount"'
80-
properties:
81-
arn: .Arn
82-
email: .Email
83-
status: .Status
84-
joined_method: .JoinedMethod
85-
joined_timestamp: .JoinedTimestamp | sub(" "; "T")
86-
- kind: AWS::S3::Bucket
87-
selector:
88-
query: 'true'
89-
useGetResourceAPI: 'true'
90-
port:
91-
entity:
92-
mappings:
93-
identifier: .Identifier
94-
title: .Identifier
95-
blueprint: '"cloudResource"'
96-
properties:
97-
kind: .__Kind
98-
region: .Properties.RegionalDomainName | capture(".*\\.(?<region>[^\\.]+)\\.amazonaws\\.com")
99-
| .region
100-
tags: .Properties.Tags
101-
arn: .Properties.Arn
102-
link: .Properties | select(.Arn != null) | "https://console.aws.amazon.com/go/view?arn="
103-
+ .Arn
104-
relations:
105-
account: .__AccountId
106-
- kind: AWS::EC2::Instance
107-
selector:
108-
query: 'true'
109-
port:
110-
entity:
111-
mappings:
112-
identifier: .Identifier
113-
title: .Identifier
114-
blueprint: '"cloudResource"'
115-
properties:
116-
kind: .__Kind
117-
region: .__Region
118-
tags: .Properties.Tags
119-
arn: .Properties.Arn
120-
link: .Properties | select(.Arn != null) | "https://console.aws.amazon.com/go/view?arn="
121-
+ .Arn
122-
relations:
123-
account: .__AccountId
124-
- kind: AWS::ECS::Cluster
125-
selector:
126-
query: 'true'
127-
useGetResourceAPI: 'true'
128-
port:
129-
entity:
130-
mappings:
131-
identifier: .Properties.Arn
132-
title: .Identifier
133-
blueprint: '"cloudResource"'
134-
properties:
135-
kind: .__Kind
136-
region: .__Region
137-
tags: .Properties.Tags
138-
arn: .Properties.Arn
139-
link: .Properties | select(.Arn != null) | "https://console.aws.amazon.com/go/view?arn="
140-
+ .Arn
141-
relations:
142-
account: .__AccountId
143-
- kind: AWS::Lambda::Function
144-
selector:
145-
query: 'true'
146-
useGetResourceAPI: 'true'
147-
port:
148-
entity:
149-
mappings:
150-
identifier: .Properties.FunctionName
151-
title: .Properties.FunctionName
152-
blueprint: '"cloudResource"'
153-
properties:
154-
kind: .__Kind
155-
region: .__Region
156-
runtime: .Properties.Runtime
157-
memory_size: .Properties.MemorySize
158-
timeout: .Properties.Timeout
159-
tags: .Properties.Tags
160-
arn: .Properties.Arn
161-
link: .Properties | select(.Arn != null) | "https://console.aws.amazon.com/go/view?arn="
162-
+ .Arn
163-
relations:
164-
account: .__AccountId
165-
- kind: AWS::RDS::DBInstance
166-
selector:
167-
query: 'true'
168-
useGetResourceAPI: 'true'
169-
port:
170-
entity:
171-
mappings:
172-
identifier: .Properties.DBInstanceIdentifier
173-
title: .Properties.DBInstanceIdentifier
174-
blueprint: '"cloudResource"'
175-
properties:
176-
kind: .__Kind
177-
region: .__Region
178-
engine: .Properties.Engine
179-
engine_version: .Properties.EngineVersion
180-
instance_class: .Properties.DBInstanceClass
181-
tags: .Properties.Tags
182-
arn: .Properties.Arn
183-
link: .Properties | select(.Arn != null) | "https://console.aws.amazon.com/go/view?arn="
184-
+ .Arn
185-
relations:
186-
account: .__AccountId
74+
- kind: AWS::Account::Info
75+
selector:
76+
query: 'true'
77+
port:
78+
entity:
79+
mappings:
80+
identifier: .Properties.Id
81+
title: .Properties.Name
82+
blueprint: '"awsAccount"'
83+
- kind: AWS::S3::Bucket
84+
selector:
85+
query: 'true'
86+
port:
87+
entity:
88+
mappings:
89+
identifier: .Properties.Arn
90+
title: .Properties.BucketName
91+
blueprint: '"s3Bucket"'
92+
properties:
93+
arn: .Properties.Arn
94+
region: .Properties.LocationConstraint
95+
creationDate: .Properties.CreationDate
96+
tags: .Properties.Tags
97+
relations:
98+
account: .__ExtraContext.AccountId
99+
- kind: AWS::EC2::Instance
100+
selector:
101+
query: 'true'
102+
port:
103+
entity:
104+
mappings:
105+
identifier: .Properties.InstanceId
106+
title: .Properties.InstanceId
107+
blueprint: '"ec2Instance"'
108+
properties:
109+
instanceType: .Properties.InstanceType
110+
state: .Properties.State.Name
111+
publicIpAddress: .Properties.PublicIpAddress
112+
privateIpAddress: .Properties.PrivateIpAddress
113+
tags: .Properties.Tags
114+
arn: >-
115+
"arn:aws:ec2:" + .__Region + ":" + .__AccountId + ":instance/" +
116+
.Properties.InstanceId
117+
relations:
118+
account: .__ExtraContext.AccountId
119+
- kind: AWS::ECS::Cluster
120+
selector:
121+
query: 'true'
122+
port:
123+
entity:
124+
mappings:
125+
identifier: .Properties.ClusterArn
126+
title: .Properties.ClusterName
127+
blueprint: '"ecsCluster"'
128+
properties:
129+
status: .Properties.Status
130+
runningTasksCount: .Properties.RunningTasksCount
131+
activeServicesCount: .Properties.ActiveServicesCount
132+
pendingTasksCount: .Properties.PendingTasksCount
133+
registeredContainerInstancesCount: .Properties.RegisteredContainerInstancesCount
134+
capacityProviders: .Properties.CapacityProviders
135+
clusterArn: .Properties.ClusterArn
136+
tags: .Properties.Tags
137+
relations:
138+
account: .__ExtraContext.AccountId
139+
187140
```
188141

189142
</details>

docs/build-your-software-catalog/sync-data-to-catalog/cloud-providers/aws-v3/iam-role-architecture.md

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ The integration is designed to work with the full `ReadOnlyAccess` policy, which
1515
- **Reliable operation** without permission-related issues.
1616
:::
1717

18+
If you prefer to create the IAM role manually rather than using the CloudFormation template, the following sections describe the setup we implement. This will help you understand the reasoning behind our design choices and adapt them if you decide to configure the role differently.
19+
1820
## Role structure
1921

2022
For multi-account setups, the role structure is replicated across all target accounts.
@@ -74,7 +76,7 @@ The IAM role uses an **OIDC (OpenID Connect) trust policy** with **IRSA (IAM Rol
7476

7577
The role uses the **AWS managed `ReadOnlyAccess` policy**, which provides comprehensive read-only access to all AWS services:
7678

77-
```yaml
79+
```yaml showLineNumbers
7880
ManagedPolicyArns:
7981
- arn:aws:iam::aws:policy/ReadOnlyAccess
8082
```
@@ -86,17 +88,6 @@ ManagedPolicyArns:
8688
- **AWS Maintained**: AWS manages and updates the policy as needed.
8789
- **Read-Only Security**: Only read permissions, no write/delete/create access.
8890

89-
## Permission categories
90-
91-
Since the role uses the AWS managed `ReadOnlyAccess` policy, it has comprehensive read-only access to **all AWS services**.
92-
Here are the key categories relevant to AWS Hosted by Port:
93-
94-
- **Comprehensive Discovery**: Access to all AWS resource types.
95-
- **Future-Proof**: New services are automatically supported without redeployment.
96-
- **Operational Efficiency**: No CloudFormation updates needed when adding new services.
97-
- **Consistent Access**: Same permission model across all services.
98-
- **No Maintenance**: AWS manages policy updates.
99-
10091
## Security considerations
10192

102-
From a security view point the integration uses a **read-only** role. It can list/describe and read metadata/tags, but cannot create, modify, delete, or change policies. No cross-account access is available unless it is explicitly configured.
93+
From a security view point the integration uses a **read-only** role. It can list/describe and read metadata/tags, but cannot create, modify, delete, or change any resource.

0 commit comments

Comments
 (0)