Identity Federation for AWS is a foundational Amazon Web Services (AWS) integration add-on that provides Temporary AWS Security Credentials to Atlassian groups and enables access control to AWS Resources via Identity and Access Management (IAM) Policies – from a technical perspective it implements an Identity Broker/Token Vendor that uses the Atlassian Authentication System (Crowd) to Grant Access to AWS Resources.
Temporary AWS Security Credentials Variations
At the moment the add-on supports the following two Principal Types:
- Temporary Security Credentials to Enable Access for Federated Users
- Temporary Security Credentials to Enable Access for IAM Users
Support for Temporary Security Credentials for Delegating API Access will be added later on.
On this page:
AWS Connector Management
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 Connector 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 two choices currently:
Principal Type Explanation Credential lifetime (min/max/default) Learn more at AWS Federated User Yields temporary AWS security credentials for a federated user with the Atlassian user name and an optional, yet typically required IAM Policy (check Omit IAM Policy when resource-based policies are used instead)
In order to use the Federated User principal type, you need to Grant an IAM Group Permission to Create Temporary Credentials! This example policy grants permission to access the AWS STS
GetFederationToken
API once added to the long-term AWS security credentials you are about to use for federation (i.e. not here in this AWS Connector dialog):Federated User does not allow to access IAM or STS APIs, for example when creating IAM resources via CloudFormation - use Assume Role for these scenarios instead.IAM user: 15m/36hr/12hr
Root account: 15m/1hr/1hr
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! This example policy grants permission to access the AWS STS
AssumeRole
API once added to the long-term AWS security credentials you are about to use for federation (i.e. not here in this AWS Connector dialog):15m/1hr/1hr IAM User (session token) Yields temporary AWS security credentials for the selected IAM user (recommended) or AWS account (disadvised) itself
IAM User (session token) does not allow to specify IAM policies or distinguish users - use Federated User or Assume Role for these scenarios instead.IAM user: 15m/36hr/12hr
Root account: 15m/1hr/1hr
- (Optional) Add an IAM Policy (only available for Principal Type Federated User
- (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 JRIA groups
Administrators always have the permission to use all Connectors
Add Account
In order to create AWS Connectors, you need to add the at least one account resp. IAM User, which provides the required long-term AWS credentials the add-on uses to derive temporary AWS security credentials for your Atlassian users, see Create individual 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.
Configuring an AWS Connector with (optional) IAM Policy and JIRA group selection
Once you have added at least one account (see above) you can configure an arbitrary number of AWS Connectors using these. A Connector requires an arbitrary name according to your needs, the account to use and an (optional) IAM Policy, see Overview of Policies. 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.
While not required, you might want to grant one or more of your Atlassian user groups the permission to use the AWS Connector (if no group is selected, only administrators will be able to use it).
IAM Policy Examples
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) - a link to the AWS Policy Generator is also provided:
Maximum number of seconds that temporary credentials based on this connector can be valid - leave empty to use AWS default values