Administration
AWS Security Credentials Variations
The add-on currently supports the following Principal Types:
Capabilities and Restrictions
Each Principal Type has different capabilities and restrictions regarding Single Sign-On (SSO) to the AWS Management Console, Multi-Factor Authentication (MFA) and calling the IAM and STS APIs in turn, see Comparing Features of AWS STS APIs for details.
Principal Type | AWS Documentation | API action | Credential lifetime (min/max/default) | Notes | |
---|---|---|---|---|---|
Federated User | Temporary Security Credentials to Enable Access for Federated Users | GetFederationToken | IAM user: 15m/36hr/12hr Root account: 15m/1hr/1hr | ||
IAM User | Temporary Security Credentials to Enable Access for IAM Users | GetSessionToken | IAM user: 15m/36hr/12hr Root account: 15m/1hr/1hr | ||
IAM Role | Temporary Security Credentials for Delegating API Access | AssumeRole | 15m/1hr/1hr | ||
SAML Federation | Temporary Security Credentials for SAML Federation | AssumeRoleWithSAML | 15m/1hr/1hr | Support for SAML is not on our roadmap, see the resp. FAQ for details |
Configuring an AWS Connector
Create Connector
In order to enable the desired access to your AWS resources, you need to create at least one AWS Connector. You can access this functionality via the AWS Connectors management screen:
Create/Edit Connector
Clicking Create Connector (or Edit later on) opens the Edit AWS Connector dialog:
Here are the required steps:
- Select the account to use (you might need to add accounts first)
- Choose this Connector's name
Choose the Principal Type - there are the following choices currently:
Principal Type Explanation Learn more at AWS Federated User Yields temporary AWS security credentials for a federated user with the Atlassian user name and an optional IAM Policy (if absent, AWS applies a default)
In order to use the Federated User principal type, you need to Grant an IAM Group Permission to Create Temporary Credentials! The following example shows a policy that grants permission to access the AWS STS
GetFederationToken
API - you need to add it to the long-term AWS security credentials you are about to use for federation (i.e. not here in this AWS Connector dialog):{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sts:GetFederationToken", "Resource": "*" }] }
Federated User does not allow to access IAM or STS APIs, for example when creating IAM resources via CloudFormation - use or Assume Role for these scenarios instead.Permissions for GetFederationToken
Grant an IAM Group Permission to Create Temporary Credentials
Assume Role Yields temporary AWS security credentials for an assumed role with the Atlassian user name and an optional External ID and an optional IAM Policy (if absent, AWS applies a default)
In order to use the Assume Role principal type, you need to Grant an IAM Group Permission to Create Temporary Credentials! The following example shows a policy that grants permission to access the AWS STS
AssumeRole
API - you need to add it to the long-term AWS security credentials you are about to use for federation (i.e. not here in this AWS Connector dialog):{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::123123123123:role/UpdateAPP" }] }
Grant an IAM Group Permission to Create Temporary Credentials
Account (IAM User) Yields temporary AWS security credentials for the selected IAM user (recommended) or AWS account (disadvised) itself
Account (IAM User) does not allow to specify IAM policies or distinguish users - use Federated User or Assume Role for these scenarios instead.- (Optional) Add an IAM Policy (only available for principal types Federated User and Assume Role)
- You can reuse existing policies already in use in your organization or create new policies tailored to your use case via the AWS Policy Generator and test them with the IAM Policy Simulator.
- Clicking on 'IAM Policy Examples' allows you to select from a few example policies to ease getting started (just click one to copy it to the policy field) - links to the AWS Policy Generator and the IAM Policy Simulator are also provided.
- You can reuse existing policies already in use in your organization or create new policies tailored to your use case via the AWS Policy Generator and test them with the IAM Policy Simulator.
- (Optional) Set the maximum number of seconds temporary credentials based on this connector can be valid - leave empty to use AWS default values
(Optional) Grant the permission to use this Connector to one or more of your JIRA or Bamboo groups
Administrators always have permission to use all Connectors.
- click into the selection box to search for groups
- if there are up to 100 groups, they show up immediately
- if there are more than 100 groups, you need to type at least one character to make all matching groups appear
- depending on the number of groups and naming scheme, frequently used characters like 'e' might still yield slightly sluggish behavior (depends on browser and system performance etc.), see below in case
- you can type more characters to filter down the search result - typing quickly should circumvent sluggishness with a very large number of groups, if any
- select each desired group
all changes persist on save of the connector only
- (Optional) Select System Scope to allow usage of this AWS Connector from elevated code without an active user session (e.g. by another add-on like Tasks for AWS).
Add/Edit Account
In order to create AWS Connectors, you need to add at least one account resp. IAM User, which provides the required long-term AWS security credentials used to derive temporary AWS security credentials for your Atlassian users, see Create individual IAM users for getting started with this approach.
Required IAM Permissions
Accounts are added/edited/deleted inline while creating/editing an AWS Connector. All fields are required, you can select an arbitrary name according to your needs.
Clicking Create Account (or Edit later on) opens the Edit Account (IAM User) dialog:
The following topics are applicable to advanced scenarios only:
Filter by label
There are no items with the selected labels at this time.
How-to Articles