IAM



Provides user management and policy control for AWS resources.


Example yaml file:


apiVersion: aws.boundless.software/v1alpha1
kind: Iam
metadata:
  name: my-iam-config
spec:
  provider:
    region: us-west-2
  instanceProfile:
    name: my-instance-profile
    role: my-instance-role
    tags:
      Name: my-instance-profile
      Environment: Dev
  oidcProvider:
    clientIdList:
      – “example-client-id”
    thumbprintList:
      – “example-thumbprint”
    url: “https://example-oidc-provider.com”
  policy:
    name: my-policy
    description: “This is my custom IAM policy.”
    path: “/custom/”
    statement:
      – Effect: “Allow”
        Action:
          – “s3:GetObject”
        Resource: “*”
    tags:
      Environment: Dev
  role:
    name: my-role
    description: “This is my custom IAM role.”
    path: “/custom/”
    policy:
      name: inline-policy-for-role
      statement:
        – Effect: “Allow”
          Action:
            – “s3:ListBucket”
          Resource: “*”
    policyArns:
      – “arn:aws:iam::aws:policy/AdministratorAccess”
    trustPolicy:
      statement:
        – Effect: “Allow”
          Principal:
            Service:
              – “eks.amazonaws.com”
          Action:
            – “sts:AssumeRole”
    tags:
      Environment: Dev
  user:
    name: my-user
    createAccessKey: true
    path: “/custom/”
    permissionsBoundary: “arn:aws:iam::aws:policy/ReadOnlyAccess”
    policy:
      name: inline-policy-for-user
      statement:
        – Effect: “Allow”
          Action:
            – “s3:PutObject”
          Resource: “*”
    tags:
      Environment: Dev
  userGroup:
    name: my-user-group
    path: “/custom/”
    policy:
      name: inline-policy-for-user-group
      statement:
        – Effect: “Allow”
          Action:
            – “ec2:DescribeInstances”
          Resource: “*”
    users:
      – “my-user”

Inputs


NameTypeDescription
provider*AwsProviderSpecProvider specifies the AWS provider settings for IAM.
instanceProfileInstanceProfileSpecInstanceProfile specifies the AWS instance profile.
oidcProviderOidcProviderSpecOidcProvider specifies the OpenID Connect provider settings.
policyIamPolicySpecPolicy specifies the IAM policy settings.
roleRoleSpecRole specifies the IAM role settings.
userUserSpecUser specifies the IAM user settings.
userGroupUserGroupSpecUserGroup specifies the IAM user group settings.

InstanceProfileSpec


NameTypeDescription
name*stringName is the name of the instance profile.
role*stringRole is the IAM role associated with this instance profile.
tagsmap[string]stringTags are metadata to assign to the Instance Profile.

OidcProviderSpec


NameTypeDescription
clientIdList*[]stringClientIdList specifies the list of client IDs for the OIDC identity provider.
thumbprintList*[]stringThumbprintList specifies the list of thumbprints of the OIDC identity provider's server certificate(s).
url*stringUrl is the URL of the OIDC identity provider.

IamPolicySpec


NameTypeDescription
namestringName is the name of the policy.
descriptionstringDescription is the description of the policy.
pathstringPath is the optional path of the policy.
Statement*[]apiext.JSONStatement is the list of policy statements.
tagsmap[string]stringTags are metadata to assign to the policy.

RoleSpec


NameTypeDescription
name*stringName is the name of the role.
descriptionstringDescription is the description of the role.
pathstringPath is the optional path of the role.
policyIamPolicySpecPolicy is the inline policy for the role.
policyArns[]stringPolicyArns is the list of policy ARNs attached to the role.
sessionDurationint32SessionDuration is the maximum session duration for the role.
trustPolicy*IamPolicySpecTrustPolicy is the trust relationship policy for the role.
tagsmap[string]stringTags are metadata to assign to the role.

UserSpec


NameTypeDescription
name*stringName is the name of the user.
createAccessKeyboolCreateAccessKey indicates whether to create an access key for the user.
pathstringPath is the optional path of the user.
permissionsBoundarystringPermissionsBoundary is the permissions boundary for the user.
policyIamPolicySpecPolicy is the inline policy for the user.
policyArns[]stringPolicyArns is the list of policy ARNs attached to the user.
tagsmap[string]stringTags are metadata to assign to the user.

UserGroupSpec


NameTypeDescription
name*stringName is the name of the user group.
pathstringPath is the optional path of the user group.
policyIamPolicySpecPolicy is the inline policy for the user group.
policyArns[]stringPolicyArns is the list of policy ARNs attached to the user group.
users[]stringUsers are the IAM users that are members of this user group.

Outputs


NameTypeDescription
conditionmetav1.ConditionCondition provides the current status condition of the IAM resources.
instanceProfileInstanceProfileStatusInstanceProfile reports the status of the AWS instance profile.
oidcProviderOidcProviderStatusOidcProvider reports the status of the OpenID Connect provider.
policyPolicyStatusPolicy reports the status of the IAM policy.
roleRoleStatusRole reports the status of the IAM role.
userUserStatusUser reports the status of the IAM user.
userGroupUserGroupStatusUserGroup reports the status of the IAM user group.

InstanceProfileStatus


NameTypeDescription
conditionmetav1.ConditionCondition provides the current condition of this Instance Profile.
arnstringArn is the Amazon Resource Name (ARN) for this Instance Profile.
namestringName is the name of the Instance Profile.
rolestringRole is the IAM role associated with this Instance Profile.

OidcProviderStatus


NameTypeDescription
conditionmetav1.ConditionCondition provides the current condition of this OIDC Provider.
arnstringArn is the Amazon Resource Name (ARN) for this OIDC Provider.
rolestringUrl is the URL of the OIDC Provider.

PolicyStatus


NameTypeDescription
conditionmetav1.ConditionCondition provides the current condition of this Policy.
arnstringArn is the Amazon Resource Name (ARN) for this Policy.
namestringName is the name of the Policy.
versionstringVersion is the version of the Policy.

RoleStatus


NameTypeDescription
conditionmetav1.ConditionCondition provides the current condition of this Role.
arnstringArn is the Amazon Resource Name (ARN) for this Role.
namestringName is the name of the Role.

UserStatus


NameTypeDescription
conditionmetav1.ConditionCondition provides the current condition of this User.
arnstringArn is the Amazon Resource Name (ARN) for this User.
namestringName is the name of the User.
accessKeystringAccessKey is the access key for this User.
secretstringSecretKey is the secret key for this User.

UserGroupStatus


NameTypeDescription
conditionmetav1.ConditionCondition provides the current condition of this User Group.
arnstringArn is the Amazon Resource Name (ARN) for this User Group.
namestringName is the name of the User Group.
users[]stringUsers are the IAM users that are members of this User Group.



Previous

<< VPC

Next

RDS >>