Permissions for @turbot/aws-iam

Taking a look at permissions and associated grant levels for each permission for IAM:

PermissionGrant LevelHelp
access-analyzer:ApplyArchiveRuleOwner
access-analyzer:CancelPolicyGenerationOwner
access-analyzer:CreateAccessPreviewOwner
access-analyzer:CreateAnalyzerOwner
access-analyzer:CreateArchiveRuleOwner
access-analyzer:DeleteAnalyzerOwner
access-analyzer:DeleteArchiveRuleOwner
access-analyzer:GetAccessPreviewMetadata
access-analyzer:GetAnalyzedResourceMetadata
access-analyzer:GetAnalyzerMetadata
access-analyzer:GetArchiveRuleMetadata
access-analyzer:GetFindingMetadata
access-analyzer:GetGeneratedPolicyMetadata
access-analyzer:ListAccessPreviewFindingsMetadata
access-analyzer:ListAccessPreviewsMetadata
access-analyzer:ListAnalyzedResourcesMetadata
access-analyzer:ListAnalyzersMetadata
access-analyzer:ListArchiveRulesMetadata
access-analyzer:ListFindingsMetadata
access-analyzer:ListPolicyGenerationsMetadata
access-analyzer:ListTagsForResourceMetadata
access-analyzer:StartPolicyGenerationOwner
access-analyzer:StartResourceScanOwner
access-analyzer:TagResourceOperator
access-analyzer:UntagResourceOperator
access-analyzer:UpdateArchiveRuleOwner
access-analyzer:UpdateFindingsOwner
access-analyzer:ValidatePolicyOperator
iam:AddClientIDToOpenIDConnectProviderNoneOpenID is not used in Guardrails accounts.
iam:AddRoleToInstanceProfileOwnerOwners can manage custom roles. Management of Guardrails roles is explicitly denied.
iam:AddUserToGroupOwnerOwners can manage custom groups. Management of Guardrails groups is explicitly denied.
iam:AttachGroupPolicyOwnerOwners can manage custom groups. Management of Guardrails groups is explicitly denied.
iam:AttachRolePolicyOwnerOwners can manage custom roles. Management of Guardrails roles is explicitly denied.
iam:AttachUserPolicyWhitelistOwners can manage custom users. Management of Guardrails users is explicitly denied.
iam:ChangePasswordNoneUsers are not allowed to change their own password. Owners may change passwords for users through *LoginProfile permissions.
iam:CreateAccessKeyWhitelistOwners can manage custom users. Management of Guardrails users is explicitly denied.
iam:CreateAccountAliasOwnerOwners can manage the AWS account alias.
iam:CreateGroupOwnerOwners can manage custom groups. Management of Guardrails groups is explicitly denied.
iam:CreateInstanceProfileOwnerOwners can manage custom roles. Management of Guardrails roles is explicitly denied.
iam:CreateLoginProfileWhitelistOptionally Owners can create passwords for custom users. Management of Guardrails users is explicitly denied.
iam:CreateOpenIDConnectProviderNoneOpenID is not used in Guardrails accounts.
iam:CreatePolicyOwnerOwners can manage custom policies. Management of Guardrails policies is explicitly denied.
iam:CreatePolicyVersionOwnerOwners can manage custom policies. Management of Guardrails policies is explicitly denied.
iam:CreateRoleOwnerOwners can create custom roles.
iam:CreateSAMLProviderOwnerSAML is not used in Guardrails accounts.
iam:CreateServiceLinkedRoleOwnerOwner can manage service-linked roles.
iam:CreateServiceSpecificCredentialOwner
iam:CreateUserWhitelistOwners can manage custom users. Management of Guardrails users is explicitly denied.
iam:CreateVirtualMFADeviceOwnerOwners can manage MFA for custom users. Management of Guardrails users is explicitly denied.
iam:DeactivateMFADeviceOwnerOwners can manage MFA for custom users. Management of Guardrails users is explicitly denied.
iam:DeleteAccessKeyWhitelistOwners can manage custom users. Management of Guardrails users is explicitly denied.
iam:DeleteAccountAliasOwnerOwners can manage the AWS account alias.
iam:DeleteAccountPasswordPolicyOwner
iam:DeleteGroupOwnerOwners can manage custom groups. Management of Guardrails groups is explicitly denied.
iam:DeleteGroupPolicyOwnerOwners can manage custom groups. Management of Guardrails groups is explicitly denied.
iam:DeleteInstanceProfileOwnerOwners can manage custom roles. Management of Guardrails roles is explicitly denied.
iam:DeleteLoginProfileWhitelistOptionally Owners can manage passwords for custom users. Management of Guardrails users is explicitly denied. Deletion of the login profile is always allowed so user deletion in the IAM console works.
iam:DeleteOpenIDConnectProviderNoneOpenID is not used in Guardrails accounts.
iam:DeletePolicyOwnerOwners can manage custom policies. Management of Guardrails policies is explicitly denied.
iam:DeletePolicyVersionOwnerOwners can manage custom policies. Management of Guardrails policies is explicitly denied.
iam:DeleteRoleOwnerOwners can manage custom roles. Management of Guardrails roles is explicitly denied.
iam:DeleteRolePermissionsBoundaryOwnerOwners can delete permission boundary.
iam:DeleteRolePolicyOwnerOwners can manage custom roles. Management of Guardrails roles is explicitly denied.
iam:DeleteSAMLProviderOwnerSAML is not used in Guardrails accounts.
iam:DeleteSSHPublicKeyOwnerUsers may be granted permission to manage SSH public keys by other services (e.g. CodeCommit).
iam:DeleteServerCertificateOwnerOwners can manage server certificates. Users are also granted permission to manage server certs by other services (e.g. ELB).
iam:DeleteServiceLinkedRoleOwner
iam:DeleteServiceSpecificCredentialOwner
iam:DeleteSigningCertificateNoneSOAP is deprecated by AWS and not supported by Guardrails.
iam:DeleteUserWhitelistOwners can manage custom users. Management of Guardrails users is explicitly denied.
iam:DeleteUserPermissionsBoundaryOwner
iam:DeleteUserPermissionsBoundaryOwnerOwners can delete permission boundary.
iam:DeleteUserPolicyWhitelistOwners can manage custom users. Management of Guardrails users is explicitly denied.
iam:DeleteVirtualMFADeviceOwnerOwners can manage MFA for custom users. Management of Guardrails users is explicitly denied.
iam:DetachGroupPolicyOwnerOwners can manage custom groups. Management of Guardrails groups is explicitly denied.
iam:DetachRolePolicyOwnerOwners can manage custom roles. Management of Guardrails roles is explicitly denied.
iam:DetachUserPolicyWhitelistOwners can manage custom users. Management of Guardrails users is explicitly denied.
iam:EnableMFADeviceOwnerOwners can manage MFA for custom users. Management of Guardrails users is explicitly denied.
iam:GenerateCredentialReportMetadata
iam:GenerateOrganizationsAccessReportOwner
iam:GenerateServiceLastAccessedDetailsMetadata
iam:GetAccessKeyLastUsedMetadata
iam:GetAccountAuthorizationDetailsMetadata
iam:GetAccountPasswordPolicyMetadata
iam:GetAccountSummaryMetadata
iam:GetContextKeysForCustomPolicyMetadata
iam:GetContextKeysForPrincipalPolicyMetadata
iam:GetCredentialReportMetadata
iam:GetGroupMetadata
iam:GetGroupPolicyMetadata
iam:GetInstanceProfileMetadata
iam:GetLoginProfileMetadata
iam:GetOpenIDConnectProviderMetadata
iam:GetOrganizationsAccessReportMetadata
iam:GetPolicyMetadata
iam:GetPolicyVersionMetadata
iam:GetRoleMetadata
iam:GetRolePolicyMetadata
iam:GetSAMLProviderMetadata
iam:GetSSHPublicKeyMetadata
iam:GetServerCertificateMetadata
iam:GetServiceLastAccessedDetailsMetadata
iam:GetServiceLastAccessedDetailsWithEntitiesMetadata
iam:GetServiceLinkedRoleDeletionStatusMetadata
iam:GetUserMetadata
iam:GetUserPolicyMetadata
iam:ListAccessKeysMetadata
iam:ListAccountAliasesMetadata
iam:ListAttachedGroupPoliciesMetadata
iam:ListAttachedRolePoliciesMetadata
iam:ListAttachedUserPoliciesMetadata
iam:ListEntitiesForPolicyMetadata
iam:ListGroupPoliciesMetadata
iam:ListGroupsMetadata
iam:ListGroupsForUserMetadata
iam:ListInstanceProfileTagsMetadata
iam:ListInstanceProfilesMetadata
iam:ListInstanceProfilesForRoleMetadata
iam:ListMFADeviceTagsMetadata
iam:ListMFADevicesMetadata
iam:ListOpenIDConnectProviderTagsMetadata
iam:ListOpenIDConnectProvidersMetadata
iam:ListPoliciesMetadata
iam:ListPoliciesGrantingServiceAccessMetadata
iam:ListPolicyTagsMetadata
iam:ListPolicyVersionsMetadata
iam:ListRolePoliciesMetadata
iam:ListRoleTagsMetadataLists the tags on an IAM user.
iam:ListRolesMetadata
iam:ListSAMLProviderTagsMetadata
iam:ListSAMLProvidersMetadata
iam:ListSSHPublicKeysMetadata
iam:ListServerCertificateTagsMetadata
iam:ListServerCertificatesMetadata
iam:ListServiceSpecificCredentialsMetadata
iam:ListSigningCertificatesMetadata
iam:ListUserPoliciesMetadata
iam:ListUserTagsMetadataLists the tags on an IAM role.
iam:ListUsersMetadata
iam:ListVirtualMFADevicesMetadata
iam:PassRoleOwnerOwner needs PassRole to allow creation of IAM roles for EC2. This also whitelists it for others to be granted specifically by services. PassRole for Guardrails roles is explicitly denied.
iam:PutGroupPolicyOwnerOwners can manage custom groups. Management of Guardrails groups is explicitly denied.
iam:PutRolePermissionsBoundaryOwnerOwners can add permission boundary.
iam:PutRolePolicyOwnerOwners can manage custom roles. Management of Guardrails roles is explicitly denied.
iam:PutUserPermissionsBoundaryOwnerOwners can add permission boundary.
iam:PutUserPolicyWhitelistOwners can manage custom users. Management of Guardrails users is explicitly denied.
iam:RemoveClientIDFromOpenIDConnectProviderNoneOpenID is not used in Guardrails accounts.
iam:RemoveRoleFromInstanceProfileOwnerOwners can manage custom roles. Management of Guardrails roles is explicitly denied.
iam:RemoveUserFromGroupOwnerOwners can manage custom groups. Management of Guardrails groups is explicitly denied.
iam:ResetServiceSpecificCredentialOwner
iam:ResyncMFADeviceOwnerOwners can manage MFA for custom users. Management of Guardrails users is explicitly denied.
iam:SetDefaultPolicyVersionOwnerOwners can manage custom policies. Management of Guardrails policies is explicitly denied.
iam:SetSecurityTokenServicePreferencesOwner
iam:SimulateCustomPolicyMetadataAllow users to simulate and investigate IAM permssions. This does allow access to view permissions of other users.
iam:SimulatePrincipalPolicyMetadataAllow users to simulate and investigate IAM permssions. This does allow access to view permissions of other users.
iam:TagInstanceProfileOperator
iam:TagMFADeviceOperator
iam:TagOpenIDConnectProviderOperator
iam:TagPolicyOperator
iam:TagRoleOperatorCreates or modifies the tags on an IAM user.
iam:TagSAMLProviderOperator
iam:TagServerCertificateOperator
iam:TagUserOperatorCreates or modifies the tags on an IAM role.
iam:UntagInstanceProfileOperator
iam:UntagMFADeviceOperator
iam:UntagOpenIDConnectProviderOperator
iam:UntagPolicyOperator
iam:UntagRoleOperatorRemoves the tags on an IAM user.
iam:UntagSAMLProviderOperator
iam:UntagServerCertificateOperator
iam:UntagUserOperatorRemoves the tags on an IAM role.
iam:UpdateAccessKeyWhitelistOwners can manage custom users. Management of Guardrails users is explicitly denied.
iam:UpdateAccountPasswordPolicyOwner
iam:UpdateAssumeRolePolicyOwnerOwners can manage custom roles. Management of Guardrails roles is explicitly denied.
iam:UpdateGroupOwnerOwners can manage custom groups. Management of Guardrails groups is explicitly denied.
iam:UpdateLoginProfileWhitelistOptionally Owners can change passwords for custom users. Guardrails users are explicitly denied from managing passwords.
iam:UpdateOpenIDConnectProviderThumbprintNoneOpenID is not used in Guardrails accounts.
iam:UpdateRoleOwnerUpdates the description or maximum session duration setting of a role.
iam:UpdateRoleDescriptionOwnerOwners can modify the description of a role.
iam:UpdateSAMLProviderOwnerSAML is not used in Guardrails accounts.
iam:UpdateSSHPublicKeyOwnerOwners can manage SSH public keys. Users may be granted permission to manage SSH public keys by other services (e.g. CodeCommit).
iam:UpdateServerCertificateOwnerOwners can manage server certificates. Users are also granted permission to manage server certs by other services (e.g. ELB).
iam:UpdateServiceSpecificCredentialOwner
iam:UpdateSigningCertificateNoneSOAP is deprecated by AWS and not supported by Guardrails.
iam:UpdateUserWhitelistOwners can manage custom users. Management of Guardrails users is explicitly denied.
iam:UploadSSHPublicKeyOwnerOwners can manage SSH public keys. Users may be granted permission to manage SSH public keys by other services (e.g. CodeCommit).
iam:UploadServerCertificateOwnerOwners can manage server certificates. Users are also granted permission to manage server certs by other services (e.g. ELB).
iam:UploadSigningCertificateNoneSOAP is deprecated by AWS and not supported by Guardrails.
organizations:DescribeOrganizationMetadata
sts:AssumeRoleOperatorAssuming Guardrails roles (determined by path) is explicitly denied.
sts:AssumeRoleWithSAMLOperatorAssuming Guardrails roles (determined by path) is explicitly denied.
sts:AssumeRoleWithWebIdentityOperatorAssuming Guardrails roles (determined by path) is explicitly denied.
sts:DecodeAuthorizationMessageMetadataUsers with access to Metadata are granted the ability to decode any authorization failure messages they receive. This aids troubleshooting and is appropriate given they already have access at a Metadata level.