After this setup, you can start using all the AWS Connector actions in your workflow.
Permission to configure an Identity Provider and a role in AWS IAM.
The user needs the Dynatrace default policy AppEngine - Admin
to install AWS Connector, add a connection, add a New host pattern in External requests, and authenticate with AWS. In detail, the following permissions are needed:
ALLOW app-engine:apps:install;ALLOW settings:objects:read, settings:objects:write, settings:schemas:read WHERE settings:schemaId = "builtin:hyperscaler-authentication.aws.connection";ALLOW settings:objects:read, settings:objects:write, settings:schemas:read WHERE settings:schemaId = "builtin:dt-javascript-runtime.allowed-outbound-connections";ALLOW hyperscaler-authentication:aws:authenticate;
To use the AWS Connector actions, you need to install AWS Connector from Dynatrace Hub.
The AWS Connector actions use OpenID Connect (OIDC) to authenticate with AWS, allowing them to access AWS resources. To configure AWS IAM
Add a new Identity Provider to AWS IAM using Dynatrace OIDC as a federated identity. Therefore, use the following parameters:
https://token.dynatrace.com
<tenant-domain>/app-id/dynatrace.aws.connector
For example, the correct audience for the tenant abc12345
would be abc12345.apps.dynatrace.com/app-id/dynatrace.aws.connector
.
Add a new IAM role to AWS IAM that is assumed when using the AWS connection in the Dynatrace workflow.
Example code for the trust policy:
{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": {"Federated": "arn:aws:iam::000000000000:oidc-provider/token.dynatrace.com"},"Action": "sts:AssumeRoleWithWebIdentity","Condition": {"StringEquals": {"token.dynatrace.com:aud": "<your-tenant>/app-id/dynatrace.aws.connector","token.dynatrace.com:sub": "dtid:connection/<your-connection-name>"}}}]}
We highly recommend adding the condition key "token.dynatrace.com:sub": "dtid:connection/<your-connection-name>"
in your trust policy for limiting which Dynatrace connection is allowed to assume the role. Replace <your-connection-name>
with the name of the connection that you'll create in the following step.
We recommend applying the principle of least privilege when defining the Role
and adding only the necessary permissions.
The AWS Connector actions list AWS regions where the workflow action can operate. The IAM role needs the action account:ListRegions
in its policy to list the available regions.
Here is an example of an inline policy:
{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Action": "account:ListRegions","Resource": "*"}]}
Set up an AWS Connection to authenticate with AWS
token.dynatrace.com:sub
.Result: You have an AWS connection that is used to authenticate against your AWS account. The retrieved temporary AWS credentials are used to execute the AWS Connector workflow actions.
External requests enable outbound network connections from your Dynatrace environment to external services. They allow you to control access to public endpoints from the AppEngine with app functions and functions in Dashboards, Notebooks, and Automations.
Go to Settings and select General > Environment management, External Requests.
Select New host pattern.
Add the domain names.
Select Add.
This way you can granularly control the web services your functions can connect to.
You need to add the *.amazonaws.com
domain name.
For more information, see Add a host to the allowlist.
Some permissions are required by Workflows to run actions on your behalf.
To fine-tune permissions granted to Workflows
hyperscaler-authentication:aws:authenticate
settings:objects:read
For more on general Workflows user permissions, see User permissions for workflows.