Skip to main content

IAM Policy Support

An IAM (Identity and Access Management) policy is a set of rules that define permissions, specifying what actions can be performed on specific resources optionally with some conditions.

Supported IAM Policy operations

Tigris supports a subset of IAM operations that are commonly used for managing permissions. The following operations are supported:

OperationDescription
IAM:CreatePolicyCreates a new IAM policy.
IAM:ListPoliciesLists all IAM policies.
IAM:GetPolicyRetrieves information about a specific IAM policy.
IAM:DeletePolicyDeletes a specific IAM policy.
IAM:AttachUserPolicyAttaches an IAM policy to a user.
IAM:DetachUserPolicyDetaches an IAM policy from a user.
IAM:ListUserPoliciesLists all IAM policies attached to a user.

Supported IAM Policy Blocks

Tigris supports the core set of IAM policy blocks as defined by AWS IAM specification.

IAM policy is very broad and in context of Tigris we support the following blocks:

BlockSupportedDescription
VersionYesSpecifies the version of the policy language. The supported version is 2012-10-17
IdYesAn optional identifier of the policy.
StatementYesAn array of one or more statements that define the permissions.
statement.sid_blockYesAn optional identifier for the statement.
statement.effectYesSpecifies whether the action is allowed or denied.
statement.actionYesSpecifies the action that is allowed. Note that here Tigris supports format s3:MethodName, For example: s3:PutBucket. Tigris supports wildcard (*) and prefixes (eg: s3:Put*) here.
statement.resourceYesSpecifies the Amazon Resource Name (ARN) of the resource to which the policy applies. Tigris supports wildcard (*) and prefixes for object (eg: arn:aws:s3:::my-bucket/images/*).
statement.conditionPartiallyTigris supports IpAddress, NotIpAddress, DateEquals, DateNotEquals, DateGreaterThan, DateGreaterThanEquals, DateLessThan, DateLessThanEquals condition.

Note that for date-time conditions - only supported variable is aws:CurrentTime which represents the current time when server is processing the request.