IAM使用工具的示例 PowerShell - AWS SDK代码示例

AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

IAM使用工具的示例 PowerShell

以下代码示例向您展示了如何使用with来执行操作和实现常见场景IAM。 AWS Tools for PowerShell

操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。

每个示例都包含一个指向完整源代码的链接,您可以在其中找到有关如何在上下文中设置和运行代码的说明。

主题

操作

以下代码示例演示如何使用 Add-IAMClientIDToOpenIDConnectProvider

用于 PowerShell

示例 1:此命令将客户端 ID(或受众)my-application-ID添加到名为的现有OIDC提供商server.example.com

Add-IAMClientIDToOpenIDConnectProvider -ClientID "my-application-ID" -OpenIDConnectProviderARN "arn:aws:iam::123456789012:oidc-provider/server.example.com"

以下代码示例演示如何使用 Add-IAMRoleTag

用于 PowerShell

示例 1:此示例在身份管理服务中为角色添加标签

Add-IAMRoleTag -RoleName AdminRoleacess -Tag @{ Key = 'abac'; Value = 'testing'}
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考TagRole中的。

以下代码示例演示如何使用 Add-IAMRoleToInstanceProfile

用于 PowerShell

示例 1:此命令将名为 S3Access 的角色添加到名为 webserver 的现有实例配置文件中。要创建实例配置文件,请使用 New-IAMInstanceProfile 命令。使用此命令创建实例配置文件并将其与角色关联后,您可以将其附加到EC2实例。为此,请使用带有 InstanceProfile_ArnInstanceProfile-Name 参数的 New-EC2Instance cmdlet 来启动新实例。

Add-IAMRoleToInstanceProfile -RoleName "S3Access" -InstanceProfileName "webserver"

以下代码示例演示如何使用 Add-IAMUserTag

用于 PowerShell

示例 1:此示例在身份管理服务中为用户添加标签

Add-IAMUserTag -UserName joe -Tag @{ Key = 'abac'; Value = 'testing'}
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考TagUser中的。

以下代码示例演示如何使用 Add-IAMUserToGroup

用于 PowerShell

示例 1:此命令将名为 Bob 的用户添加到名为 Admins 的组中。

Add-IAMUserToGroup -UserName "Bob" -GroupName "Admins"
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考AddUserToGroup中的。

以下代码示例演示如何使用 Disable-IAMMFADevice

用于 PowerShell

示例 1:此命令禁用与具有序列号123456789012的用户Bob关联的硬件MFA设备。

Disable-IAMMFADevice -UserName "Bob" -SerialNumber "123456789012"

示例 2:此命令禁用与拥有的用户David关联的虚拟MFA设备。ARN arn:aws:iam::210987654321:mfa/David请注意,虚拟MFA设备不会从帐户中删除。虚拟设备仍然存在并出现在 Get-IAMVirtualMFADevice 命令的输出中。在为同一个用户创建新的虚拟MFA设备之前,必须使用Remove-IAMVirtualMFADevice命令删除旧的虚拟设备。

Disable-IAMMFADevice -UserName "David" -SerialNumber "arn:aws:iam::210987654321:mfa/David"
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DeactivateMfaDevice中的。

以下代码示例演示如何使用 Edit-IAMPassword

用于 PowerShell

示例 1:此命令更改运行该命令的用户的密码。此命令只能由IAM用户调用。如果您在使用 AWS 账户(根)凭据登录时调用此命令,则该命令将返回错误。InvalidUserType

Edit-IAMPassword -OldPassword "MyOldP@ssw0rd" -NewPassword "MyNewP@ssw0rd"
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ChangePassword中的。

以下代码示例演示如何使用 Enable-IAMMFADevice

用于 PowerShell

示例 1:此命令为硬件MFA设备启用序列号,987654321098并将该设备与用户关联Bob。它包含设备中按顺序排列的前两个代码。

Enable-IAMMFADevice -UserName "Bob" -SerialNumber "987654321098" -AuthenticationCode1 "12345678" -AuthenticationCode2 "87654321"

示例 2:此示例创建并启用虚拟MFA设备。第一条命令创建虚拟设备并在变量 $MFADevice 中返回设备的对象表示形式。您可以使用 .Base32StringSeedQRCodePng 属性来配置用户的软件应用程序。最后一条命令将该设备分配给用户 David,通过其序列号识别设备。该命令还 AWS 通过按顺序包含来自虚拟设备的前两个代码来与MFA设备同步。

$MFADevice = New-IAMVirtualMFADevice -VirtualMFADeviceName "MyMFADevice" # see example for New-IAMVirtualMFADevice to see how to configure the software program with PNG or base32 seed code Enable-IAMMFADevice -UserName "David" -SerialNumber -SerialNumber $MFADevice.SerialNumber -AuthenticationCode1 "24681357" -AuthenticationCode2 "13572468"
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考EnableMfaDevice中的。

以下代码示例演示如何使用 Get-IAMAccessKey

用于 PowerShell

示例 1:此命令列出了名为的IAM用户的访问密钥Bob。请注意,您无法列出IAM用户的私有访问密钥。如果秘密访问密钥丢失,则必须使用 New-IAMAccessKey cmdlet 创建新的访问密钥。

Get-IAMAccessKey -UserName "Bob"

输出:

AccessKeyId CreateDate Status UserName ----------- ---------- ------ -------- AKIAIOSFODNN7EXAMPLE 12/3/2014 10:53:41 AM Active Bob AKIAI44QH8DHBEXAMPLE 6/6/2013 8:42:26 PM Inactive Bob
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListAccessKeys中的。

以下代码示例演示如何使用 Get-IAMAccessKeyLastUsed

用于 PowerShell

示例 1:返回所提供访问密钥的拥有用户名和上次使用信息。

Get-IAMAccessKeyLastUsed -AccessKeyId ABCDEXAMPLE
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetAccessKeyLastUsed中的。

以下代码示例演示如何使用 Get-IAMAccountAlias

用于 PowerShell

示例 1:此命令返回 AWS 账户的账户别名。

Get-IAMAccountAlias

输出:

ExampleCo
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListAccountAliases中的。

以下代码示例演示如何使用 Get-IAMAccountAuthorizationDetail

用于 PowerShell

示例 1:此示例获取有关 AWS 账户中身份的授权详细信息,并显示返回对象的元素列表,包括用户、群组和角色。例如,UserDetailList 属性显示有关用户的详细信息。RoleDetailListGroupDetailList 属性中也提供类似的信息。

$Details=Get-IAMAccountAuthorizationDetail $Details

输出:

GroupDetailList : {Administrators, Developers, Testers, Backup} IsTruncated : False Marker : RoleDetailList : {TestRole1, AdminRole, TesterRole, clirole...} UserDetailList : {Administrator, Bob, BackupToS3, }
$Details.UserDetailList

输出:

Arn : arn:aws:iam::123456789012:user/Administrator CreateDate : 10/16/2014 9:03:09 AM GroupList : {Administrators} Path : / UserId : AIDACKCEVSQ6CEXAMPLE1 UserName : Administrator UserPolicyList : {} Arn : arn:aws:iam::123456789012:user/Bob CreateDate : 4/6/2015 12:54:42 PM GroupList : {Developers} Path : / UserId : AIDACKCEVSQ6CEXAMPLE2 UserName : bab UserPolicyList : {} Arn : arn:aws:iam::123456789012:user/BackupToS3 CreateDate : 1/27/2015 10:15:08 AM GroupList : {Backup} Path : / UserId : AIDACKCEVSQ6CEXAMPLE3 UserName : BackupToS3 UserPolicyList : {BackupServicePermissionsToS3Buckets}

以下代码示例演示如何使用 Get-IAMAccountPasswordPolicy

用于 PowerShell

示例 1:此示例返回有关当前账户密码策略的详细信息。如果没有为账户定义密码策略,则命令将返回 NoSuchEntity 错误。

Get-IAMAccountPasswordPolicy

输出:

AllowUsersToChangePassword : True ExpirePasswords : True HardExpiry : False MaxPasswordAge : 90 MinimumPasswordLength : 8 PasswordReusePrevention : 20 RequireLowercaseCharacters : True RequireNumbers : True RequireSymbols : False RequireUppercaseCharacters : True

以下代码示例演示如何使用 Get-IAMAccountSummary

用于 PowerShell

示例 1:此示例返回有关中当前IAM实体使用情况和当前IAM实体配额的信息 AWS 账户。

Get-IAMAccountSummary

输出:

Key Value Users 7 GroupPolicySizeQuota 5120 PolicyVersionsInUseQuota 10000 ServerCertificatesQuota 20 AccountSigningCertificatesPresent 0 AccountAccessKeysPresent 0 Groups 3 UsersQuota 5000 RolePolicySizeQuota 10240 UserPolicySizeQuota 2048 GroupsPerUserQuota 10 AssumeRolePolicySizeQuota 2048 AttachedPoliciesPerGroupQuota 2 Roles 9 VersionsPerPolicyQuota 5 GroupsQuota 100 PolicySizeQuota 5120 Policies 5 RolesQuota 250 ServerCertificates 0 AttachedPoliciesPerRoleQuota 2 MFADevicesInUse 2 PoliciesQuota 1000 AccountMFAEnabled 1 Providers 2 InstanceProfilesQuota 100 MFADevices 4 AccessKeysPerUserQuota 2 AttachedPoliciesPerUserQuota 2 SigningCertificatesPerUserQuota 2 PolicyVersionsInUse 4 InstanceProfiles 1 ...
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetAccountSummary中的。

以下代码示例演示如何使用 Get-IAMAttachedGroupPolicyList

用于 PowerShell

示例 1:此命令返回挂载到 AWS 账户中名为ARNs的IAM组的托管策略的名称和托管策略。Admins要查看组中嵌入的内联策略列表,请使用 Get-IAMGroupPolicyList 命令。

Get-IAMAttachedGroupPolicyList -GroupName "Admins"

输出:

PolicyArn PolicyName --------- ---------- arn:aws:iam::aws:policy/SecurityAudit SecurityAudit arn:aws:iam::aws:policy/AdministratorAccess AdministratorAccess

以下代码示例演示如何使用 Get-IAMAttachedRolePolicyList

用于 PowerShell

示例 1:此命令返回 AWS 账户SecurityAuditRole中指定IAM角色ARNs的名称和关联的托管策略。要查看嵌入在角色中的内联策略的列表,请使用 Get-IAMRolePolicyList 命令。

Get-IAMAttachedRolePolicyList -RoleName "SecurityAuditRole"

输出:

PolicyArn PolicyName --------- ---------- arn:aws:iam::aws:policy/SecurityAudit SecurityAudit

以下代码示例演示如何使用 Get-IAMAttachedUserPolicyList

用于 PowerShell

示例 1:此命令返回 AWS 账户Bob中指定IAM用户的名称和ARNs托管策略。要查看IAM用户中嵌入的内联策略列表,请使用Get-IAMUserPolicyList命令。

Get-IAMAttachedUserPolicyList -UserName "Bob"

输出:

PolicyArn PolicyName --------- ---------- arn:aws:iam::aws:policy/TesterPolicy TesterPolicy

以下代码示例演示如何使用 Get-IAMContextKeysForCustomPolicy

用于 PowerShell

示例 1:此示例获取所提供策略 json 中存在的所有上下文键。为提供多个策略,您可以用逗号分隔值列表提供。

$policy1 = '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"dynamodb:*","Resource":"arn:aws:dynamodb:us-west-2:123456789012:table/","Condition":{"DateGreaterThan":{"aws:CurrentTime":"2015-08-16T12:00:00Z"}}}}' $policy2 = '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"dynamodb:*","Resource":"arn:aws:dynamodb:us-west-2:123456789012:table/"}}' Get-IAMContextKeysForCustomPolicy -PolicyInputList $policy1,$policy2

以下代码示例演示如何使用 Get-IAMContextKeysForPrincipalPolicy

用于 PowerShell

示例 1:此示例获取所提供的策略 json 中存在的所有上下文密钥以及附加到IAM实体(用户/角色等)的策略。For-PolicyInputList 您可以将多个值列表作为逗号分隔的值提供。

$policy1 = '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"dynamodb:*","Resource":"arn:aws:dynamodb:us-west-2:123456789012:table/","Condition":{"DateGreaterThan":{"aws:CurrentTime":"2015-08-16T12:00:00Z"}}}}' $policy2 = '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Action":"dynamodb:*","Resource":"arn:aws:dynamodb:us-west-2:123456789012:table/"}}' Get-IAMContextKeysForPrincipalPolicy -PolicyInputList $policy1,$policy2 -PolicySourceArn arn:aws:iam::852640994763:user/TestUser

以下代码示例演示如何使用 Get-IAMCredentialReport

用于 PowerShell

示例 1:此示例打开返回的报告,并将其作为文本行数组输出到管道。第一行是标题,含有用逗号分隔的列名。接下来的每一行都是一个用户的详细信息行,其中每个字段用逗号分隔。必须先使用 Request-IAMCredentialReport cmdlet 生成报告,然后才能查看报告。要将报告作为单个字符串检索,请使用 -Raw 而不是 -AsTextArray-AsTextArray 开关也接受别名 -SplitLines。有关输出中列的完整列表,请查阅服务API参考。请注意,如果您不使用-AsTextArray-SplitLines,则必须使用从.Content属性中提取文本。 NETStreamReader班级。

Request-IAMCredentialReport

输出:

Description State ----------- ----- No report exists. Starting a new report generation task STARTED
Get-IAMCredentialReport -AsTextArray

输出:

user,arn,user_creation_time,password_enabled,password_last_used,password_last_changed,password_next_rotation,mfa_active,access_key_1_active,access_key_1_last_rotated,access_key_2_active,access_key_2_last_rotated,cert_1_active,cert_1_last_rotated,cert_2_active,cert_2_last_rotated root_account,arn:aws:iam::123456789012:root,2014-10-15T16:31:25+00:00,not_supported,2015-04-20T17:41:10+00:00,not_supported,not_supported,true,false,N/A,false,N/A,false,N/A,false,N/A Administrator,arn:aws:iam::123456789012:user/Administrator,2014-10-16T16:03:09+00:00,true,2015-04-20T15:18:32+00:00,2014-10-16T16:06:00+00:00,N/A,false,true,2014-12-03T18:53:41+00:00,true,2015-03-25T20:38:14+00:00,false,N/A,false,N/A Bill,arn:aws:iam::123456789012:user/Bill,2015-04-15T18:27:44+00:00,false,N/A,N/A,N/A,false,false,N/A,false,N/A,false,2015-04-20T20:00:12+00:00,false,N/A
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetCredentialReport中的。

以下代码示例演示如何使用 Get-IAMEntitiesForPolicy

用于 PowerShell

示例 1:此示例返回arn:aws:iam::123456789012:policy/TestPolicy附加了策略的IAM群组、角色和用户的列表。

Get-IAMEntitiesForPolicy -PolicyArn "arn:aws:iam::123456789012:policy/TestPolicy"

输出:

IsTruncated : False Marker : PolicyGroups : {} PolicyRoles : {testRole} PolicyUsers : {Bob, Theresa}

以下代码示例演示如何使用 Get-IAMGroup

用于 PowerShell

示例 1:此示例返回有关该IAM组的详细信息Testers,包括属于该组的所有IAM用户的集合。

$results = Get-IAMGroup -GroupName "Testers" $results

输出:

Group IsTruncated Marker Users ----- ----------- ------ ----- Amazon.IdentityManagement.Model.Group False {Theresa, David}
$results.Group

输出:

Arn : arn:aws:iam::123456789012:group/Testers CreateDate : 12/10/2014 3:39:11 PM GroupId : 3RHNZZGQJ7QHMAEXAMPLE1 GroupName : Testers Path : /
$results.Users

输出:

Arn : arn:aws:iam::123456789012:user/Theresa CreateDate : 12/10/2014 3:39:27 PM PasswordLastUsed : 1/1/0001 12:00:00 AM Path : / UserId : 4OSVDDJJTF4XEEXAMPLE2 UserName : Theresa Arn : arn:aws:iam::123456789012:user/David CreateDate : 12/10/2014 3:39:27 PM PasswordLastUsed : 3/19/2015 8:44:04 AM Path : / UserId : Y4FKWQCXTA52QEXAMPLE3 UserName : David
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetGroup中的。

以下代码示例演示如何使用 Get-IAMGroupForUser

用于 PowerShell

示例 1:此示例返回IAM用户所David属IAM群组的列表。

Get-IAMGroupForUser -UserName David

输出:

Arn : arn:aws:iam::123456789012:group/Administrators CreateDate : 10/20/2014 10:06:24 AM GroupId : 6WCH4TRY3KIHIEXAMPLE1 GroupName : Administrators Path : / Arn : arn:aws:iam::123456789012:group/Testers CreateDate : 12/10/2014 3:39:11 PM GroupId : RHNZZGQJ7QHMAEXAMPLE2 GroupName : Testers Path : / Arn : arn:aws:iam::123456789012:group/Developers CreateDate : 12/10/2014 3:38:55 PM GroupId : ZU2EOWMK6WBZOEXAMPLE3 GroupName : Developers Path : /
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListGroupsForUser中的。

以下代码示例演示如何使用 Get-IAMGroupList

用于 PowerShell

示例 1:此示例返回当前中定义的所有IAM组的集合 AWS 账户。

Get-IAMGroupList

输出:

Arn : arn:aws:iam::123456789012:group/Administrators CreateDate : 10/20/2014 10:06:24 AM GroupId : 6WCH4TRY3KIHIEXAMPLE1 GroupName : Administrators Path : / Arn : arn:aws:iam::123456789012:group/Developers CreateDate : 12/10/2014 3:38:55 PM GroupId : ZU2EOWMK6WBZOEXAMPLE2 GroupName : Developers Path : / Arn : arn:aws:iam::123456789012:group/Testers CreateDate : 12/10/2014 3:39:11 PM GroupId : RHNZZGQJ7QHMAEXAMPLE3 GroupName : Testers Path : /
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListGroups中的。

以下代码示例演示如何使用 Get-IAMGroupPolicy

用于 PowerShell

示例 1:此示例返回有关组 Testers 的名为 PowerUserAccess-Testers 的嵌入式内联策略的详细信息。该PolicyDocument属性已URL编码。在本例中,它使用解码。UrlDecode NET方法。

$results = Get-IAMGroupPolicy -GroupName Testers -PolicyName PowerUserAccess-Testers $results

输出:

GroupName PolicyDocument PolicyName --------- -------------- ---------- Testers %7B%0A%20%20%22Version%22%3A%20%222012-10-17%22%2C%0A%20... PowerUserAccess-Testers [System.Reflection.Assembly]::LoadWithPartialName("System.Web.HttpUtility") [System.Web.HttpUtility]::UrlDecode($results.PolicyDocument) { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "NotAction": "iam:*", "Resource": "*" } ] }
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetGroupPolicy中的。

以下代码示例演示如何使用 Get-IAMGroupPolicyList

用于 PowerShell

示例 1:返回嵌入组 Testers 中的内联策略的列表。要获取附加到该组的托管策略,请使用命令 Get-IAMAttachedGroupPolicyList

Get-IAMGroupPolicyList -GroupName Testers

输出:

Deny-Assume-S3-Role-In-Production PowerUserAccess-Testers
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListGroupPolicies中的。

以下代码示例演示如何使用 Get-IAMInstanceProfile

用于 PowerShell

示例 1:此示例返回当前 AWS 账户中定义ec2instancerole的名为的实例配置文件的详细信息。

Get-IAMInstanceProfile -InstanceProfileName ec2instancerole

输出:

Arn : arn:aws:iam::123456789012:instance-profile/ec2instancerole CreateDate : 2/17/2015 2:49:04 PM InstanceProfileId : HH36PTZQJUR32EXAMPLE1 InstanceProfileName : ec2instancerole Path : / Roles : {ec2instancerole}
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetInstanceProfile中的。

以下代码示例演示如何使用 Get-IAMInstanceProfileForRole

用于 PowerShell

示例 1:此示例返回与角色 ec2instancerole 关联的实例配置文件的详细信息。

Get-IAMInstanceProfileForRole -RoleName ec2instancerole

输出:

Arn : arn:aws:iam::123456789012:instance-profile/ec2instancerole CreateDate : 2/17/2015 2:49:04 PM InstanceProfileId : HH36PTZQJUR32EXAMPLE1 InstanceProfileName : ec2instancerole Path : / Roles : {ec2instancerole}

以下代码示例演示如何使用 Get-IAMInstanceProfileList

用于 PowerShell

示例 1:此示例返回当前中定义的实例配置文件的集合 AWS 账户。

Get-IAMInstanceProfileList

输出:

Arn : arn:aws:iam::123456789012:instance-profile/ec2instancerole CreateDate : 2/17/2015 2:49:04 PM InstanceProfileId : HH36PTZQJUR32EXAMPLE1 InstanceProfileName : ec2instancerole Path : / Roles : {ec2instancerole}
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListInstanceProfiles中的。

以下代码示例演示如何使用 Get-IAMLoginProfile

用于 PowerShell

示例 1:此示例返回密码创建日期以及IAM用户是否需要重置密码David

Get-IAMLoginProfile -UserName David

输出:

CreateDate PasswordResetRequired UserName ---------- --------------------- -------- 12/10/2014 3:39:44 PM False David
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetLoginProfile中的。

以下代码示例演示如何使用 Get-IAMMFADevice

用于 PowerShell

示例 1:此示例返回有关分配给IAM用户的MFA设备的详细信息David。在此示例中,您可以看出它是虚拟设备,因为SerialNumber它是物理设备的实际序列号,ARN而不是物理设备的实际序列号。

Get-IAMMFADevice -UserName David

输出:

EnableDate SerialNumber UserName ---------- ------------ -------- 4/8/2015 9:41:10 AM arn:aws:iam::123456789012:mfa/David David
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListMfaDevices中的。

以下代码示例演示如何使用 Get-IAMOpenIDConnectProvider

用于 PowerShell

示例 1:此示例返回有关其 OpenID Connect 提供商的ARN详细信息。arn:aws:iam::123456789012:oidc-provider/accounts.google.comClientIDList属性是一个集合,其中包含为此提供者IDs定义的所有客户端。

Get-IAMOpenIDConnectProvider -OpenIDConnectProviderArn arn:aws:iam::123456789012:oidc-provider/oidc.example.com

输出:

ClientIDList CreateDate ThumbprintList Url ------------ ---------- -------------- --- {MyOIDCApp} 2/3/2015 3:00:30 PM {12345abcdefghijk67890lmnopqrst98765uvwxy} oidc.example.com

以下代码示例演示如何使用 Get-IAMOpenIDConnectProviderList

用于 PowerShell

示例 1:此示例返回当前版本中定义ARNS的所有 OpenID Connect 提供程序的列表。 AWS 账户

Get-IAMOpenIDConnectProviderList

输出:

Arn --- arn:aws:iam::123456789012:oidc-provider/server.example.com arn:aws:iam::123456789012:oidc-provider/another.provider.com

以下代码示例演示如何使用 Get-IAMPolicy

用于 PowerShell

示例 1:此示例返回有关其为的托管策略ARN的详细信息arn:aws:iam::123456789012:policy/MySamplePolicy

Get-IAMPolicy -PolicyArn arn:aws:iam::123456789012:policy/MySamplePolicy

输出:

Arn : arn:aws:iam::aws:policy/MySamplePolicy AttachmentCount : 0 CreateDate : 2/6/2015 10:40:08 AM DefaultVersionId : v1 Description : IsAttachable : True Path : / PolicyId : Z27SI6FQMGNQ2EXAMPLE1 PolicyName : MySamplePolicy UpdateDate : 2/6/2015 10:40:08 AM
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetPolicy中的。

以下代码示例演示如何使用 Get-IAMPolicyList

用于 PowerShell

示例 1:此示例返回当前 AWS 账户中可用的前三个托管策略的集合。由于-scope未指定,因此它默认为all并包括 AWS 托管策略和客户托管策略。

Get-IAMPolicyList -MaxItem 3

输出:

Arn : arn:aws:iam::aws:policy/AWSDirectConnectReadOnlyAccess AttachmentCount : 0 CreateDate : 2/6/2015 10:40:08 AM DefaultVersionId : v1 Description : IsAttachable : True Path : / PolicyId : Z27SI6FQMGNQ2EXAMPLE1 PolicyName : AWSDirectConnectReadOnlyAccess UpdateDate : 2/6/2015 10:40:08 AM Arn : arn:aws:iam::aws:policy/AmazonGlacierReadOnlyAccess AttachmentCount : 0 CreateDate : 2/6/2015 10:40:27 AM DefaultVersionId : v1 Description : IsAttachable : True Path : / PolicyId : NJKMU274MET4EEXAMPLE2 PolicyName : AmazonGlacierReadOnlyAccess UpdateDate : 2/6/2015 10:40:27 AM Arn : arn:aws:iam::aws:policy/AWSMarketplaceFullAccess AttachmentCount : 0 CreateDate : 2/11/2015 9:21:45 AM DefaultVersionId : v1 Description : IsAttachable : True Path : / PolicyId : 5ULJSO2FYVPYGEXAMPLE3 PolicyName : AWSMarketplaceFullAccess UpdateDate : 2/11/2015 9:21:45 AM

示例 2:此示例返回当前 AWS 账户中可用的前两个客户托管策略的集合。其使用 -Scope local 将输出限制为仅限客户管理型策略。

Get-IAMPolicyList -Scope local -MaxItem 2

输出:

Arn : arn:aws:iam::123456789012:policy/MyLocalPolicy AttachmentCount : 0 CreateDate : 2/12/2015 9:39:09 AM DefaultVersionId : v2 Description : IsAttachable : True Path : / PolicyId : SQVCBLC4VAOUCEXAMPLE4 PolicyName : MyLocalPolicy UpdateDate : 2/12/2015 9:39:53 AM Arn : arn:aws:iam::123456789012:policy/policyforec2instancerole AttachmentCount : 1 CreateDate : 2/17/2015 2:51:38 PM DefaultVersionId : v11 Description : IsAttachable : True Path : / PolicyId : X5JPBLJH2Z2SOEXAMPLE5 PolicyName : policyforec2instancerole UpdateDate : 2/18/2015 8:52:31 AM
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListPolicies中的。

以下代码示例演示如何使用 Get-IAMPolicyVersion

用于 PowerShell

示例 1:此示例返回策略v2版本的策略文档,其版本ARN为arn:aws:iam::123456789012:policy/MyManagedPolicyDocument属性中的策略文档URL经过编码,在本示例中使用解码。UrlDecode NET方法。

$results = Get-IAMPolicyVersion -PolicyArn arn:aws:iam::123456789012:policy/MyManagedPolicy -VersionId v2 $results

输出:

CreateDate Document IsDefaultVersion VersionId ---------- -------- ---------------- --------- 2/12/2015 9:39:53 AM %7B%0A%20%20%22Version%22%3A%20%222012-10... True v2 [System.Reflection.Assembly]::LoadWithPartialName("System.Web.HttpUtility") $policy = [System.Web.HttpUtility]::UrlDecode($results.Document) $policy { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "*", "Resource": "*" } }
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetPolicyVersion中的。

以下代码示例演示如何使用 Get-IAMPolicyVersionList

用于 PowerShell

示例 1:此示例返回策略的可用版本列表,其版本ARN为arn:aws:iam::123456789012:policy/MyManagedPolicy。要获取特定版本的策略文档,请使用 Get-IAMPolicyVersion 命令并指定所需版本的 VersionId

Get-IAMPolicyVersionList -PolicyArn arn:aws:iam::123456789012:policy/MyManagedPolicy

输出:

CreateDate Document IsDefaultVersion VersionId ---------- -------- ---------------- --------- 2/12/2015 9:39:53 AM True v2 2/12/2015 9:39:09 AM False v1
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListPolicyVersions中的。

以下代码示例演示如何使用 Get-IAMRole

用于 PowerShell

示例 1:此示例返回 lamda_exec_role 的详细信息。其包括指定谁可以担任此角色的信任策略文档。策略文件URL已编码,可使用进行解码。 NETUrlDecode方法。在此示例中,原始策略在上传到策略之前已删除所有空格。要查看确定承担该角色的人员可以执行哪些操作的权限策略文档,对内联策略使用 Get-IAMRolePolicy,对附加的托管策略使用 Get-IAMPolicyVersion

$results = Get-IamRole -RoleName lambda_exec_role $results | Format-List

输出:

Arn : arn:aws:iam::123456789012:role/lambda_exec_role AssumeRolePolicyDocument : %7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22 %3A%22%22%2C%22Effect%22%3A%22Allow%22%2C%22Principal%22%3A%7B%22Service %22%3A%22lambda.amazonaws.com%22%7D%2C%22Action%22%3A%22sts%3AAssumeRole %22%7D%5D%7D CreateDate : 4/2/2015 9:16:11 AM Path : / RoleId : 2YBIKAIBHNKB4EXAMPLE1 RoleName : lambda_exec_role
$policy = [System.Web.HttpUtility]::UrlDecode($results.AssumeRolePolicyDocument) $policy

输出:

{"Version":"2012-10-17","Statement":[{"Sid":"","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"},"Action":"sts:AssumeRole"}]}
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetRole中的。

以下代码示例演示如何使用 Get-IAMRoleList

用于 PowerShell

示例 1:此示例检索中所有IAM角色的列表。 AWS 账户

Get-IAMRoleList
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListRoles中的。

以下代码示例演示如何使用 Get-IAMRolePolicy

用于 PowerShell

示例 1:此示例返回IAM角色中嵌入的名为oneClick_lambda_exec_role_policy的策略的权限策略文档lamda_exec_role。生成的策略文件已URL编码。在本例中,它使用解码。UrlDecode NET方法。

$results = Get-IAMRolePolicy -RoleName lambda_exec_role -PolicyName oneClick_lambda_exec_role_policy $results

输出:

PolicyDocument PolicyName UserName -------------- ---------- -------- %7B%0A%20%20%22Version%22%3A%20%222012-10-17%22%2C%... oneClick_lambda_exec_role_policy lambda_exec_role
[System.Reflection.Assembly]::LoadWithPartialName("System.Web.HttpUtility") [System.Web.HttpUtility]::UrlDecode($results.PolicyDocument)

输出:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:*" ], "Resource": "arn:aws:logs:*:*:*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::*" ] } ] }
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetRolePolicy中的。

以下代码示例演示如何使用 Get-IAMRolePolicyList

用于 PowerShell

示例 1:此示例返回IAM角色中嵌入的内联策略的名称列表lamda_exec_role。要查看内联策略的详细信息,请使用 Get-IAMRolePolicy 命令。

Get-IAMRolePolicyList -RoleName lambda_exec_role

输出:

oneClick_lambda_exec_role_policy
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListRolePolicies中的。

以下代码示例演示如何使用 Get-IAMRoleTagList

用于 PowerShell

示例 1:此示例获取与角色关联的标签。

Get-IAMRoleTagList -RoleName MyRoleName
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListRoleTags中的。

以下代码示例演示如何使用 Get-IAMSAMLProvider

用于 PowerShell

示例 1:此示例检索了 SAML 2.0 提供商的详细信息,该提供商是 arn: aws:: iam:: 123456789012: ARM saml-provider/。SAMLADFS响应包括您从身份提供商那里获得的用于创建提供 AWS SAML商实体的元数据文档以及创建日期和到期日期。

Get-IAMSAMLProvider -SAMLProviderArn arn:aws:iam::123456789012:saml-provider/SAMLADFS

输出:

CreateDate SAMLMetadataDocument ValidUntil ---------- -------------------- ---------- 12/23/2014 12:16:55 PM <EntityDescriptor ID="_12345678-1234-5678-9012-example1... 12/23/2114 12:16:54 PM
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetSamlProvider中的。

以下代码示例演示如何使用 Get-IAMSAMLProviderList

用于 PowerShell

示例 1:此示例检索当前 AWS 账户版本中创建的 SAML 2.0 提供程序列表。它返回每个SAML提供商的创建日期和到期日期。ARN

Get-IAMSAMLProviderList

输出:

Arn CreateDate ValidUntil --- ---------- ---------- arn:aws:iam::123456789012:saml-provider/SAMLADFS 12/23/2014 12:16:55 PM 12/23/2114 12:16:54 PM
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考istSAMLProviders中的 L

以下代码示例演示如何使用 Get-IAMServerCertificate

用于 PowerShell

示例 1:此示例检索有关名为 MyServerCertificate 的服务器证书的详细信息。您可以在 CertificateBodyServerCertificateMetadata 属性中找到证书详细信息。

$result = Get-IAMServerCertificate -ServerCertificateName MyServerCertificate $result | format-list

输出:

CertificateBody : -----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6 b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd BgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcN MTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYD VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25z b2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFt YXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ 21uUSfwfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9T rDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpE Ibb3OhjZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4 nUhVVxYUntneD9+h8Mg9q6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb FFBjvSfpJIlJ00zbhNYS5f6GuoEDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTb NYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE= -----END CERTIFICATE----- CertificateChain : ServerCertificateMetadata : Amazon.IdentityManagement.Model.ServerCertificateMetadata
$result.ServerCertificateMetadata

输出:

Arn : arn:aws:iam::123456789012:server-certificate/Org1/Org2/MyServerCertificate Expiration : 1/14/2018 9:52:36 AM Path : /Org1/Org2/ ServerCertificateId : ASCAJIFEXAMPLE17HQZYW ServerCertificateName : MyServerCertificate UploadDate : 4/21/2015 11:14:16 AM
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetServerCertificate中的。

以下代码示例演示如何使用 Get-IAMServerCertificateList

用于 PowerShell

示例 1:此示例检索已上传到当前 AWS 账户的服务器证书列表。

Get-IAMServerCertificateList

输出:

Arn : arn:aws:iam::123456789012:server-certificate/Org1/Org2/MyServerCertificate Expiration : 1/14/2018 9:52:36 AM Path : /Org1/Org2/ ServerCertificateId : ASCAJIFEXAMPLE17HQZYW ServerCertificateName : MyServerCertificate UploadDate : 4/21/2015 11:14:16 AM

以下代码示例演示如何使用 Get-IAMServiceLastAccessedDetail

用于 PowerShell

示例 1:此示例提供了请求调用中关联的IAM实体(用户、群组、角色或策略)上次访问的服务的详细信息。

Request-IAMServiceLastAccessedDetail -Arn arn:aws:iam::123456789012:user/TestUser

输出:

f0b7a819-eab0-929b-dc26-ca598911cb9f
Get-IAMServiceLastAccessedDetail -JobId f0b7a819-eab0-929b-dc26-ca598911cb9f

以下代码示例演示如何使用 Get-IAMServiceLastAccessedDetailWithEntity

用于 PowerShell

示例 1:此示例提供了相应IAM实体在请求中上次访问该服务的时间戳。

$results = Get-IAMServiceLastAccessedDetailWithEntity -JobId f0b7a819-eab0-929b-dc26-ca598911cb9f -ServiceNamespace ec2 $results

输出:

EntityDetailsList : {Amazon.IdentityManagement.Model.EntityDetails} Error : IsTruncated : False JobCompletionDate : 12/29/19 11:19:31 AM JobCreationDate : 12/29/19 11:19:31 AM JobStatus : COMPLETED Marker :
$results.EntityDetailsList

输出:

EntityInfo LastAuthenticated ---------- ----------------- Amazon.IdentityManagement.Model.EntityInfo 11/16/19 3:47:00 PM
$results.EntityInfo

输出:

Arn : arn:aws:iam::123456789012:user/TestUser Id : AIDA4NBK5CXF5TZHU1234 Name : TestUser Path : / Type : USER

以下代码示例演示如何使用 Get-IAMSigningCertificate

用于 PowerShell

示例 1:此示例检索与名为 Bob 的用户关联的签名证书的相关详细信息。

Get-IAMSigningCertificate -UserName Bob

输出:

CertificateBody : -----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6 b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd BgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcN MTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYD VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25z b2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFt YXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ 21uUSfwfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9T rDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpE Ibb3OhjZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4 nUhVVxYUntneD9+h8Mg9q6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb FFBjvSfpJIlJ00zbhNYS5f6GuoEDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTb NYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE= -----END CERTIFICATE----- CertificateId : Y3EK7RMEXAMPLESV33FCREXAMPLEMJLU Status : Active UploadDate : 4/20/2015 1:26:01 PM UserName : Bob

以下代码示例演示如何使用 Get-IAMUser

用于 PowerShell

示例 1:此示例检索名为 David 的用户的详细信息。

Get-IAMUser -UserName David

输出:

Arn : arn:aws:iam::123456789012:user/David CreateDate : 12/10/2014 3:39:27 PM PasswordLastUsed : 3/19/2015 8:44:04 AM Path : / UserId : Y4FKWQCXTA52QEXAMPLE1 UserName : David

示例 2:此示例检索有关当前登录IAM用户的详细信息。

Get-IAMUser

输出:

Arn : arn:aws:iam::123456789012:user/Bob CreateDate : 10/16/2014 9:03:09 AM PasswordLastUsed : 3/4/2015 12:12:33 PM Path : / UserId : 7K3GJEANSKZF2EXAMPLE2 UserName : Bob
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetUser中的。

以下代码示例演示如何使用 Get-IAMUserList

用于 PowerShell

示例 1:此示例检索当前 AWS 账户用户集合。

Get-IAMUserList

输出:

Arn : arn:aws:iam::123456789012:user/Administrator CreateDate : 10/16/2014 9:03:09 AM PasswordLastUsed : 3/4/2015 12:12:33 PM Path : / UserId : 7K3GJEANSKZF2EXAMPLE1 UserName : Administrator Arn : arn:aws:iam::123456789012:user/Bob CreateDate : 4/6/2015 12:54:42 PM PasswordLastUsed : 1/1/0001 12:00:00 AM Path : / UserId : L3EWNONDOM3YUEXAMPLE2 UserName : bab Arn : arn:aws:iam::123456789012:user/David CreateDate : 12/10/2014 3:39:27 PM PasswordLastUsed : 3/19/2015 8:44:04 AM Path : / UserId : Y4FKWQCXTA52QEXAMPLE3 UserName : David
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListUsers中的。

以下代码示例演示如何使用 Get-IAMUserPolicy

用于 PowerShell

示例 1:此示例检索嵌入在名为的IAM用户中的名为Davids_IAM_Admin_Policy的内联策略的详细信息。David策略文件已编URL码。

$results = Get-IAMUserPolicy -PolicyName Davids_IAM_Admin_Policy -UserName David $results

输出:

PolicyDocument PolicyName UserName -------------- ---------- -------- %7B%0A%20%20%22Version%22%3A%20%222012-10-17%22%2C%... Davids_IAM_Admin_Policy David [System.Reflection.Assembly]::LoadWithPartialName("System.Web.HttpUtility") [System.Web.HttpUtility]::UrlDecode($results.PolicyDocument) { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:*" ], "Resource": [ "*" ] } ] }
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考GetUserPolicy中的。

以下代码示例演示如何使用 Get-IAMUserPolicyList

用于 PowerShell

示例 1:此示例检索嵌入在名为的IAM用户中的内联策略的名称David列表。

Get-IAMUserPolicyList -UserName David

输出:

Davids_IAM_Admin_Policy
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListUserPolicies中的。

以下代码示例演示如何使用 Get-IAMUserTagList

用于 PowerShell

示例 1:此示例获取与用户关联的标签。

Get-IAMUserTagList -UserName joe
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ListUserTags中的。

以下代码示例演示如何使用 Get-IAMVirtualMFADevice

用于 PowerShell

示例 1:此示例检索分配给 AWS 账户中用户的虚拟MFA设备集合。每个对象的User属性都是一个对象,其中包含设备分配给的IAM用户的详细信息。

Get-IAMVirtualMFADevice -AssignmentStatus Assigned

输出:

Base32StringSeed : EnableDate : 4/13/2015 12:03:42 PM QRCodePNG : SerialNumber : arn:aws:iam::123456789012:mfa/David User : Amazon.IdentityManagement.Model.User Base32StringSeed : EnableDate : 4/13/2015 12:06:41 PM QRCodePNG : SerialNumber : arn:aws:iam::123456789012:mfa/root-account-mfa-device User : Amazon.IdentityManagement.Model.User

以下代码示例演示如何使用 New-IAMAccessKey

用于 PowerShell

示例 1:此示例创建新的访问密钥和秘密访问密钥对,并将其分配给用户 David。确保将 AccessKeyIdSecretAccessKey 值保存到文件中,因为这是您唯一可以获得 SecretAccessKey 的时间。您以后无法检索它。如果您丢失了秘密密钥,则必须创建一个新的访问密钥对。

New-IAMAccessKey -UserName David

输出:

AccessKeyId : AKIAIOSFODNN7EXAMPLE CreateDate : 4/13/2015 1:00:42 PM SecretAccessKey : wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Status : Active UserName : David
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考CreateAccessKey中的。

以下代码示例演示如何使用 New-IAMAccountAlias

用于 PowerShell

示例 1:此示例将您 AWS 账户的账户别名更改为mycompanyaws。用户登录页面的地址更改为 https://mycom panyaws.signin.aws.amazon.com/console。URL使用你的账户 ID 号而不是别名(https://<accountidnumber>.signin.aws.amazon.com/console)的原始账号仍然有效。但是,任何先前定义的基于别名的都将URLs停止工作。

New-IAMAccountAlias -AccountAlias mycompanyaws
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考CreateAccountAlias中的。

以下代码示例演示如何使用 New-IAMGroup

用于 PowerShell

示例 1:此示例创建了一个名为的新IAM组Developers

New-IAMGroup -GroupName Developers

输出:

Arn : arn:aws:iam::123456789012:group/Developers CreateDate : 4/14/2015 11:21:31 AM GroupId : QNEJ5PM4NFSQCEXAMPLE1 GroupName : Developers Path : /
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考CreateGroup中的。

以下代码示例演示如何使用 New-IAMInstanceProfile

用于 PowerShell

示例 1:此示例创建了一个名为的新IAM实例配置文件ProfileForDevEC2Instance。您必须单独运行该Add-IAMRoleToInstanceProfile命令才能将实例配置文件与为该实例提供权限的现有IAM角色相关联。最后,在启动实例时将实例配置文件附加到该EC2实例。为此,请使用带有 InstanceProfile_ArnInstanceProfile_Name 参数的 New-EC2Instance cmdlet。

New-IAMInstanceProfile -InstanceProfileName ProfileForDevEC2Instance

输出:

Arn : arn:aws:iam::123456789012:instance-profile/ProfileForDevEC2Instance CreateDate : 4/14/2015 11:31:39 AM InstanceProfileId : DYMFXL556EY46EXAMPLE1 InstanceProfileName : ProfileForDevEC2Instance Path : / Roles : {}

以下代码示例演示如何使用 New-IAMLoginProfile

用于 PowerShell

示例 1:此示例为名为 Bob 的IAM用户创建了一个(临时)密码,并设置了要求用户在下次登录时更改密码的Bob标志。

New-IAMLoginProfile -UserName Bob -Password P@ssw0rd -PasswordResetRequired $true

输出:

CreateDate PasswordResetRequired UserName ---------- --------------------- -------- 4/14/2015 12:26:30 PM True Bob
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考CreateLoginProfile中的。

以下代码示例演示如何使用 New-IAMOpenIDConnectProvider

用于 PowerShell

示例 1:此示例创建了一个IAMOIDC与在URLhttps://example.oidcprovider.com和客户端 ID 处找到的OIDC兼容提供商服务关联的提供商my-testapp-1。OIDC提供者提供指纹。要对指纹进行身份验证,请按照 http://docs.aws.amazon 上的步骤进行操作。 com/IAM/latest/UserGuide/identity-providers-oidc-obtain-thumbprint .html。

New-IAMOpenIDConnectProvider -Url https://example.oidcprovider.com -ClientIDList my-testapp-1 -ThumbprintList 990F419EXAMPLEECF12DDEDA5EXAMPLE52F20D9E

输出:

arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com

以下代码示例演示如何使用 New-IAMPolicy

用于 PowerShell

示例 1:此示例在当前 AWS 账户中创建了一个名为的新IAM策略。MySamplePolicy该文件MySamplePolicy.json提供了策略内容。请注意,必须使用 s -Raw witch 参数才能成功处理JSON策略文件。

New-IAMPolicy -PolicyName MySamplePolicy -PolicyDocument (Get-Content -Raw MySamplePolicy.json)

输出:

Arn : arn:aws:iam::123456789012:policy/MySamplePolicy AttachmentCount : 0 CreateDate : 4/14/2015 2:45:59 PM DefaultVersionId : v1 Description : IsAttachable : True Path : / PolicyId : LD4KP6HVFE7WGEXAMPLE1 PolicyName : MySamplePolicy UpdateDate : 4/14/2015 2:45:59 PM
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考CreatePolicy中的。

以下代码示例演示如何使用 New-IAMPolicyVersion

用于 PowerShell

示例 1:此示例创建了IAM策略的新 “v2” 版本,其版本ARN为默认版本,arn:aws:iam::123456789012:policy/MyPolicy并将其设为默认版本。NewPolicyVersion.json 文件提供了策略内容。请注意,必须使用 s -Raw witch 参数才能成功处理JSON策略文件。

New-IAMPolicyVersion -PolicyArn arn:aws:iam::123456789012:policy/MyPolicy -PolicyDocument (Get-content -Raw NewPolicyVersion.json) -SetAsDefault $true

输出:

CreateDate Document IsDefaultVersion VersionId ---------- -------- ---------------- --------- 4/15/2015 10:54:54 AM True v2
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考CreatePolicyVersion中的。

以下代码示例演示如何使用 New-IAMRole

用于 PowerShell

示例 1:此示例创建一个名为 MyNewRole 的新角色,并将文件 NewRoleTrustPolicy.json 中的策略附加到该角色。请注意,必须使用 s -Raw witch 参数才能成功处理JSON策略文件。输出中显示的策略文档URL已编码。在本例中,它使用解码。UrlDecode NET方法。

$results = New-IAMRole -AssumeRolePolicyDocument (Get-Content -raw NewRoleTrustPolicy.json) -RoleName MyNewRole $results

输出:

Arn : arn:aws:iam::123456789012:role/MyNewRole AssumeRolePolicyDocument : %7B%0D%0A%20%20%22Version%22%3A%20%222012-10-17%22%2C%0D%0A%20%20%22Statement%22 %3A%20%5B%0D%0A%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%22Sid%22%3A%20%22%22%2C %0D%0A%20%20%20%20%20%20%22Effect%22%3A%20%22Allow%22%2C%0D%0A%20%20%20%20%20%20 %22Principal%22%3A%20%7B%0D%0A%20%20%20%20%20%20%20%20%22AWS%22%3A%20%22arn%3Aaws %3Aiam%3A%3A123456789012%3ADavid%22%0D%0A%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20 %20%20%20%22Action%22%3A%20%22sts%3AAssumeRole%22%0D%0A%20%20%20%20%7D%0D%0A%20 %20%5D%0D%0A%7D CreateDate : 4/15/2015 11:04:23 AM Path : / RoleId : V5PAJI2KPN4EAEXAMPLE1 RoleName : MyNewRole [System.Reflection.Assembly]::LoadWithPartialName("System.Web.HttpUtility") [System.Web.HttpUtility]::UrlDecode($results.AssumeRolePolicyDocument) { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:David" }, "Action": "sts:AssumeRole" } ] }
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考CreateRole中的。

以下代码示例演示如何使用 New-IAMSAMLProvider

用于 PowerShell

示例 1:此示例在中创建了一个新的SAML提供者实体IAM。它由文件中的SAML元数据文档命名MySAMLProvider和描述SAMLMetaData.xml,该文档是从SAML服务提供商的网站单独下载的。

New-IAMSAMLProvider -Name MySAMLProvider -SAMLMetadataDocument (Get-Content -Raw SAMLMetaData.xml)

输出:

arn:aws:iam::123456789012:saml-provider/MySAMLProvider

以下代码示例演示如何使用 New-IAMServiceLinkedRole

用于 PowerShell

示例 1:此示例为自动扩缩服务创建 servicelinked 角色。

New-IAMServiceLinkedRole -AWSServiceName autoscaling.amazonaws.com -CustomSuffix RoleNameEndsWithThis -Description "My service-linked role to support autoscaling"

以下代码示例演示如何使用 New-IAMUser

用于 PowerShell

示例 1:此示例创建了一个名为的IAM用户Bob。如果 Bob 需要登录 AWS 控制台,则必须单独运行命令New-IAMLoginProfile来创建带有密码的登录配置文件。如果 Bob 需要运行 AWS PowerShell 或跨平台CLI命令或拨 AWS API打电话,则必须单独运行该New-IAMAccessKey命令来创建访问密钥。

New-IAMUser -UserName Bob

输出:

Arn : arn:aws:iam::123456789012:user/Bob CreateDate : 4/22/2015 12:02:11 PM PasswordLastUsed : 1/1/0001 12:00:00 AM Path : / UserId : AIDAJWGEFDMEMEXAMPLE1 UserName : Bob
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考CreateUser中的。

以下代码示例演示如何使用 New-IAMVirtualMFADevice

用于 PowerShell

示例 1:此示例创建了一个新的虚拟MFA设备。第 2 行和第 3 行提取了虚拟MFA软件程序创建账户(作为二维码的替代方案)所需的Base32StringSeed价值。使用该值配置程序后,从程序中获取两个连续的身份验证码。最后,使用最后一个命令将虚拟MFA设备链接到IAM用户,Bob并将账户与两个身份验证码同步。

$Device = New-IAMVirtualMFADevice -VirtualMFADeviceName BobsMFADevice $SR = New-Object System.IO.StreamReader($Device.Base32StringSeed) $base32stringseed = $SR.ReadToEnd() $base32stringseed CZWZMCQNW4DEXAMPLE3VOUGXJFZYSUW7EXAMPLECR4NJFD65GX2SLUDW2EXAMPLE

输出:

-- Pause here to enter base-32 string seed code into virtual MFA program to register account. -- Enable-IAMMFADevice -SerialNumber $Device.SerialNumber -UserName Bob -AuthenticationCode1 123456 -AuthenticationCode2 789012

示例 2:此示例创建了一个新的虚拟MFA设备。第 2 行和第 3 行提取 QRCodePNG 值并将其写入文件。虚拟MFA软件程序可以扫描此图像以创建帐户(作为手动输入 Base32 StringSeed 值的替代方法)。在虚拟MFA程序中创建帐户后,获取两个连续的身份验证码,然后在最后一个命令中输入它们,以将虚拟MFA设备与IAM用户关联Bob并同步帐户。

$Device = New-IAMVirtualMFADevice -VirtualMFADeviceName BobsMFADevice $BR = New-Object System.IO.BinaryReader($Device.QRCodePNG) $BR.ReadBytes($BR.BaseStream.Length) | Set-Content -Encoding Byte -Path QRCode.png

输出:

-- Pause here to scan PNG with virtual MFA program to register account. -- Enable-IAMMFADevice -SerialNumber $Device.SerialNumber -UserName Bob -AuthenticationCode1 123456 -AuthenticationCode2 789012

以下代码示例演示如何使用 Publish-IAMServerCertificate

用于 PowerShell

示例 1:此示例将新的服务器证书上传到IAM账户。包含证书正文、私钥和(可选)证书链的文件都必须进行PEM编码。请注意,参数需要文件的实际内容,而不是文件名。必须使用 -Raw 开关参数才能成功处理文件内容。

Publish-IAMServerCertificate -ServerCertificateName MyTestCert -CertificateBody (Get-Content -Raw server.crt) -PrivateKey (Get-Content -Raw server.key)

输出:

Arn : arn:aws:iam::123456789012:server-certificate/MyTestCert Expiration : 1/14/2018 9:52:36 AM Path : / ServerCertificateId : ASCAJIEXAMPLE7J7HQZYW ServerCertificateName : MyTestCert UploadDate : 4/21/2015 11:14:16 AM

以下代码示例演示如何使用 Publish-IAMSigningCertificate

用于 PowerShell

示例 1:此示例上传新的 X.509 签名证书并将其与名为的用户关联。IAM Bob包含证书正文的文件已编PEM码。CertificateBody 参数需要证书文件的实际内容而不是文件名。必须使用 -Raw 开关参数才能成功处理该文件。

Publish-IAMSigningCertificate -UserName Bob -CertificateBody (Get-Content -Raw SampleSigningCert.pem)

输出:

CertificateBody : -----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6 b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd BgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcN MTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYD VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25z b2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFt YXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ 21uUSfwfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9T rDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpE Ibb3OhjZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4 nUhVVxYUntneD9+h8Mg9q6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb FFBjvSfpJIlJ00zbhNYS5f6GuoEDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTb NYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE= -----END CERTIFICATE----- CertificateId : Y3EK7RMEXAMPLESV33FCEXAMPLEHMJLU Status : Active UploadDate : 4/20/2015 1:26:01 PM UserName : Bob

以下代码示例演示如何使用 Register-IAMGroupPolicy

用于 PowerShell

示例 1:此示例将名为的客户托管策略附加TesterPolicy到IAM群组Testers。该组中的用户会立即受到该策略默认版本中所定义权限的影响。

Register-IAMGroupPolicy -GroupName Testers -PolicyArn arn:aws:iam::123456789012:policy/TesterPolicy

示例 2:此示例将名为的 AWS 托管策略附加AdministratorAccess到该IAM组Admins。该组中的用户会立即受到该策略最新版本中所定义权限的影响。

Register-IAMGroupPolicy -GroupName Admins -PolicyArn arn:aws:iam::aws:policy/AdministratorAccess
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考AttachGroupPolicy中的。

以下代码示例演示如何使用 Register-IAMRolePolicy

用于 PowerShell

示例 1:此示例将名为的 AWS 托管策略附加SecurityAudit到该IAM角色CoSecurityAuditors。担任该角色的用户会立即受到该策略最新版本中所定义权限的影响。

Register-IAMRolePolicy -RoleName CoSecurityAuditors -PolicyArn arn:aws:iam::aws:policy/SecurityAudit
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考AttachRolePolicy中的。

以下代码示例演示如何使用 Register-IAMUserPolicy

用于 PowerShell

示例 1:此示例将名为的 AWS 托管策略附加AmazonCognitoPowerUser到IAM用户Bob。用户会立即受到该策略最新版本中所定义权限的影响。

Register-IAMUserPolicy -UserName Bob -PolicyArn arn:aws:iam::aws:policy/AmazonCognitoPowerUser
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考AttachUserPolicy中的。

以下代码示例演示如何使用 Remove-IAMAccessKey

用于 PowerShell

示例 1:此示例AKIAIOSFODNN7EXAMPLE从名为的用户删除带有密钥 ID 的 AWS 访问密钥对Bob

Remove-IAMAccessKey -AccessKeyId AKIAIOSFODNN7EXAMPLE -UserName Bob -Force
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DeleteAccessKey中的。

以下代码示例演示如何使用 Remove-IAMAccountAlias

用于 PowerShell

示例 1:此示例从您的账户中删除了账户别名 AWS 账户。别名为 https://mycom panyaws.signin.aws.amazon.com/console 的用户登录页面不再起作用。相反,你必须使用URL带有 AWS 账户 身份证号的原件,网址为 https: //.signin.aws.amazon.com/console。 <accountidnumber>

Remove-IAMAccountAlias -AccountAlias mycompanyaws
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DeleteAccountAlias中的。

以下代码示例演示如何使用 Remove-IAMAccountPasswordPolicy

用于 PowerShell

示例 1:此示例删除了的密码策略 AWS 账户 并将所有值重置为其原始默认值。如果当前不存在密码策略,则会显示以下错误消息:找 PasswordPolicy 不到带有名称的账户策略。

Remove-IAMAccountPasswordPolicy

以下代码示例演示如何使用 Remove-IAMClientIDFromOpenIDConnectProvider

用于 PowerShell

示例 1:此示例将客户端 ID My-TestApp-3 从与提供商IDs关联的客户端列表中删除,其IAMOIDC提供商ARN为arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com

Remove-IAMClientIDFromOpenIDConnectProvider -ClientID My-TestApp-3 -OpenIDConnectProviderArn arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com

以下代码示例演示如何使用 Remove-IAMGroup

用于 PowerShell

示例 1:此示例删除名为的IAM组MyTestGroup。第一个命令删除属于该组的所有IAM用户,第二个命令删除该IAM组。这两条命令都可以在没有任何确认提示的情况下生效。

(Get-IAMGroup -GroupName MyTestGroup).Users | Remove-IAMUserFromGroup -GroupName MyTestGroup -Force Remove-IAMGroup -GroupName MyTestGroup -Force
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DeleteGroup中的。

以下代码示例演示如何使用 Remove-IAMGroupPolicy

用于 PowerShell

示例 1:此示例TesterPolicy从IAM组中删除名为的内联策略Testers。该组中的用户会立即失去该策略中定义的权限。

Remove-IAMGroupPolicy -GroupName Testers -PolicyName TestPolicy
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DeleteGroupPolicy中的。

以下代码示例演示如何使用 Remove-IAMInstanceProfile

用于 PowerShell

示例 1:此示例删除名为的EC2实例配置文件MyAppInstanceProfile。第一条命令从实例配置文件中分离所有角色,然后第二条命令删除实例配置文件。

(Get-IAMInstanceProfile -InstanceProfileName MyAppInstanceProfile).Roles | Remove-IAMRoleFromInstanceProfile -InstanceProfileName MyAppInstanceProfile Remove-IAMInstanceProfile -InstanceProfileName MyAppInstanceProfile

以下代码示例演示如何使用 Remove-IAMLoginProfile

用于 PowerShell

示例 1:此示例删除名为的IAM用户的登录配置文件Bob。这会阻止用户登录控制台。 AWS 它不会阻止用户使用可能仍关联到用户帐户的 AWS 访问密钥运行任何 AWS CLI PowerShell、或API呼叫。

Remove-IAMLoginProfile -UserName Bob
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DeleteLoginProfile中的。

以下代码示例演示如何使用 Remove-IAMOpenIDConnectProvider

用于 PowerShell

示例 1:此示例删除了连接到该IAMOIDC提供程序的提供商example.oidcprovider.com。确保更新或删除角色信任策略 Principal 元素中引用此提供者的所有角色。

Remove-IAMOpenIDConnectProvider -OpenIDConnectProviderArn arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com

以下代码示例演示如何使用 Remove-IAMPolicy

用于 PowerShell

示例 1:此示例删除了其ARN为的策略arn:aws:iam::123456789012:policy/MySamplePolicy。必须先通过运行 Remove-IAMPolicyVersion 删除默认版本除外的所有版本,然后才能删除该策略。您还必须将该策略与任何IAM用户、群组或角色分离。

Remove-IAMPolicy -PolicyArn arn:aws:iam::123456789012:policy/MySamplePolicy

示例 2:此示例删除策略的方法是:首先删除所有非默认策略版本,将其与所有附加的IAM实体分离,最后删除策略本身。第一行检索策略对象。第二行检索集合中未标记为默认的所有策略版本,然后删除集合中的每个策略。第三行检索策略所关联的所有IAM用户、群组和角色。第四行到第六行将该策略与每个附加的实体分离。最后一行使用此命令删除托管策略,以及剩余的默认版本。该示例在需要抑制确认提示的所有行中都包含 -Force 开关参数。

$pol = Get-IAMPolicy -PolicyArn arn:aws:iam::123456789012:policy/MySamplePolicy Get-IAMPolicyVersions -PolicyArn $pol.Arn | where {-not $_.IsDefaultVersion} | Remove-IAMPolicyVersion -PolicyArn $pol.Arn -force $attached = Get-IAMEntitiesForPolicy -PolicyArn $pol.Arn $attached.PolicyGroups | Unregister-IAMGroupPolicy -PolicyArn $pol.arn $attached.PolicyRoles | Unregister-IAMRolePolicy -PolicyArn $pol.arn $attached.PolicyUsers | Unregister-IAMUserPolicy -PolicyArn $pol.arn Remove-IAMPolicy $pol.Arn -Force
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DeletePolicy中的。

以下代码示例演示如何使用 Remove-IAMPolicyVersion

用于 PowerShell

示例 1:此示例v2从策略中删除标识为的版本,该版本的策略ARN为arn:aws:iam::123456789012:policy/MySamplePolicy

Remove-IAMPolicyVersion -PolicyArn arn:aws:iam::123456789012:policy/MySamplePolicy -VersionID v2

示例 2:此示例通过先删除所有非默认策略版本,然后删除策略本身来删除策略。第一行检索策略对象。第二行检索集合中未标记为默认的所有策略版本,然后使用此命令删除集合中的每个策略。最后一行删除策略本身,以及剩余的默认版本。请注意,要成功删除托管策略,还必须使用 Unregister-IAMUserPolicyUnregister-IAMGroupPolicyUnregister-IAMRolePolicy 命令将该策略与所有用户、组或角色分离。请参阅 Remove-IAMPolicy cmdlet 的示例。

$pol = Get-IAMPolicy -PolicyArn arn:aws:iam::123456789012:policy/MySamplePolicy Get-IAMPolicyVersions -PolicyArn $pol.Arn | where {-not $_.IsDefaultVersion} | Remove-IAMPolicyVersion -PolicyArn $pol.Arn -force Remove-IAMPolicy -PolicyArn $pol.Arn -force
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DeletePolicyVersion中的。

以下代码示例演示如何使用 Remove-IAMRole

用于 PowerShell

示例 1:此示例MyNewRole从当前IAM账户中删除名为的角色。必须先使用 Unregister-IAMRolePolicy 命令分离所有托管策略,然后才能删除该角色。内联策略将与角色一起删除。

Remove-IAMRole -RoleName MyNewRole

示例 2:此示例将所有托管策略与名为 MyNewRole 的角色分离,然后删除该角色。第一行检索作为集合附加到该角色的所有托管策略,然后将集合中的每个策略与该角色分离。第二行删除该角色本身。内联策略将与角色一起删除。

Get-IAMAttachedRolePolicyList -RoleName MyNewRole | Unregister-IAMRolePolicy -RoleName MyNewRole Remove-IAMRole -RoleName MyNewRole
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DeleteRole中的。

以下代码示例演示如何使用 Remove-IAMRoleFromInstanceProfile

用于 PowerShell

示例 1:此示例MyNewRole从名为的EC2实例配置文件中删除名为的角色MyNewRole。在IAM控制台中创建的实例配置文件始终与角色同名,如本示例所示。如果您在API或中创建它们CLI,则它们可以有不同的名称。

Remove-IAMRoleFromInstanceProfile -InstanceProfileName MyNewRole -RoleName MyNewRole -Force

以下代码示例演示如何使用 Remove-IAMRolePermissionsBoundary

用于 PowerShell

示例 1:此示例说明如何移除附加到IAM角色的权限边界。

Remove-IAMRolePermissionsBoundary -RoleName MyRoleName

以下代码示例演示如何使用 Remove-IAMRolePolicy

用于 PowerShell

示例 1:此示例删除IAM角色中嵌入S3AccessPolicy的内联策略S3BackupRole

Remove-IAMRolePolicy -PolicyName S3AccessPolicy -RoleName S3BackupRole
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DeleteRolePolicy中的。

以下代码示例演示如何使用 Remove-IAMRoleTag

用于 PowerShell

示例 1:此示例从名为 “MyRoleName” 的角色中删除标签,标签键为 “abac”。要删除多个标签,请提供以逗号分隔的标签键列表。

Remove-IAMRoleTag -RoleName MyRoleName -TagKey "abac","xyzw"
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考UntagRole中的。

以下代码示例演示如何使用 Remove-IAMSAMLProvider

用于 PowerShell

示例 1:此示例删除了 IAM SAML 2.0 提供程序ARN,其为arn:aws:iam::123456789012:saml-provider/SAMLADFSProvider

Remove-IAMSAMLProvider -SAMLProviderArn arn:aws:iam::123456789012:saml-provider/SAMLADFSProvider
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考eleteSAMLProvider中的 D

以下代码示例演示如何使用 Remove-IAMServerCertificate

用于 PowerShell

示例 1:此示例删除名为 MyServerCert 的服务器证书。

Remove-IAMServerCertificate -ServerCertificateName MyServerCert

以下代码示例演示如何使用 Remove-IAMServiceLinkedRole

用于 PowerShell

示例 1:此示例删除服务关联角色。请注意,如果服务仍在使用此角色,则此命令将导致失败。

Remove-IAMServiceLinkedRole -RoleName AWSServiceRoleForAutoScaling_RoleNameEndsWithThis

以下代码示例演示如何使用 Remove-IAMSigningCertificate

用于 PowerShell

示例 1:此示例Y3EK7RMEXAMPLESV33FCREXAMPLEMJLU从名为的IAM用户删除带有 ID 的签名证书Bob

Remove-IAMSigningCertificate -UserName Bob -CertificateId Y3EK7RMEXAMPLESV33FCREXAMPLEMJLU

以下代码示例演示如何使用 Remove-IAMUser

用于 PowerShell

示例 1:此示例删除名为的IAM用户Bob

Remove-IAMUser -UserName Bob

示例 2:此示例删除名为的IAM用户Theresa以及必须先删除的所有元素。

$name = "Theresa" # find any groups and remove user from them $groups = Get-IAMGroupForUser -UserName $name foreach ($group in $groups) { Remove-IAMUserFromGroup -GroupName $group.GroupName -UserName $name -Force } # find any inline policies and delete them $inlinepols = Get-IAMUserPolicies -UserName $name foreach ($pol in $inlinepols) { Remove-IAMUserPolicy -PolicyName $pol -UserName $name -Force} # find any managed polices and detach them $managedpols = Get-IAMAttachedUserPolicies -UserName $name foreach ($pol in $managedpols) { Unregister-IAMUserPolicy -PolicyArn $pol.PolicyArn -UserName $name } # find any signing certificates and delete them $certs = Get-IAMSigningCertificate -UserName $name foreach ($cert in $certs) { Remove-IAMSigningCertificate -CertificateId $cert.CertificateId -UserName $name -Force } # find any access keys and delete them $keys = Get-IAMAccessKey -UserName $name foreach ($key in $keys) { Remove-IAMAccessKey -AccessKeyId $key.AccessKeyId -UserName $name -Force } # delete the user's login profile, if one exists - note: need to use try/catch to suppress not found error try { $prof = Get-IAMLoginProfile -UserName $name -ea 0 } catch { out-null } if ($prof) { Remove-IAMLoginProfile -UserName $name -Force } # find any MFA device, detach it, and if virtual, delete it. $mfa = Get-IAMMFADevice -UserName $name if ($mfa) { Disable-IAMMFADevice -SerialNumber $mfa.SerialNumber -UserName $name if ($mfa.SerialNumber -like "arn:*") { Remove-IAMVirtualMFADevice -SerialNumber $mfa.SerialNumber } } # finally, remove the user Remove-IAMUser -UserName $name -Force
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DeleteUser中的。

以下代码示例演示如何使用 Remove-IAMUserFromGroup

用于 PowerShell

示例 1:此示例将IAM用户Bob从群组中移除Testers

Remove-IAMUserFromGroup -GroupName Testers -UserName Bob

示例 2:此示例查找IAM用户Theresa所属的任何群组,然后将其Theresa从这些群组中移除。

$groups = Get-IAMGroupForUser -UserName Theresa foreach ($group in $groups) { Remove-IAMUserFromGroup -GroupName $group.GroupName -UserName Theresa -Force }

示例 3:此示例显示了将IAM用户BobTesters群组中移除的另一种方法。

Get-IAMGroupForUser -UserName Bob | Remove-IAMUserFromGroup -UserName Bob -GroupName Testers -Force
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考RemoveUserFromGroup中的。

以下代码示例演示如何使用 Remove-IAMUserPermissionsBoundary

用于 PowerShell

示例 1:此示例说明如何移除附加到IAM用户的权限边界。

Remove-IAMUserPermissionsBoundary -UserName joe

以下代码示例演示如何使用 Remove-IAMUserPolicy

用于 PowerShell

示例 1:此示例删除了嵌入在名为AccessToEC2Policy的IAM用户中的名为的内联策略Bob

Remove-IAMUserPolicy -PolicyName AccessToEC2Policy -UserName Bob

示例 2:此示例查找嵌入在名为的IAM用户中的所有内联策略,Theresa然后将其删除。

$inlinepols = Get-IAMUserPolicies -UserName Theresa foreach ($pol in $inlinepols) { Remove-IAMUserPolicy -PolicyName $pol -UserName Theresa -Force}
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DeleteUserPolicy中的。

以下代码示例演示如何使用 Remove-IAMUserTag

用于 PowerShell

示例 1:此示例从名为“joe”的用户中删除标签键为“abac”和“xyzw”的标签。要删除多个标签,请提供以逗号分隔的标签键列表。

Remove-IAMUserTag -UserName joe -TagKey "abac","xyzw"
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考UntagUser中的。

以下代码示例演示如何使用 Remove-IAMVirtualMFADevice

用于 PowerShell

示例 1:此示例删除了其ARN为的IAM虚拟MFA设备arn:aws:iam::123456789012:mfa/bob

Remove-IAMVirtualMFADevice -SerialNumber arn:aws:iam::123456789012:mfa/bob

示例 2:此示例检查IAM用户 Theresa 是否已分配MFA设备。如果找到设备,则该IAM用户将禁用该设备。如果设备是虚拟的,则会同时删除该设备。

$mfa = Get-IAMMFADevice -UserName Theresa if ($mfa) { Disable-IAMMFADevice -SerialNumber $mfa.SerialNumber -UserName $name if ($mfa.SerialNumber -like "arn:*") { Remove-IAMVirtualMFADevice -SerialNumber $mfa.SerialNumber } }

以下代码示例演示如何使用 Request-IAMCredentialReport

用于 PowerShell

示例 1:此示例请求生成一份新报告,报告可每四小时生成一次。如果上次报告仍然是最新的,则“状态”字段显示为 COMPLETE。使用 Get-IAMCredentialReport 查看已完成的报告。

Request-IAMCredentialReport

输出:

Description State ----------- ----- No report exists. Starting a new report generation task STARTED

以下代码示例演示如何使用 Request-IAMServiceLastAccessedDetail

用于 PowerShell

示例 1:此示例等同于 cmdlet。 GenerateServiceLastAccessedDetails API这提供了一个可以在 Get IAMServiceLastAccessedDetail 和 Get-中使用的作业 ID IAMServiceLastAccessedDetailWithEntity

Request-IAMServiceLastAccessedDetail -Arn arn:aws:iam::123456789012:user/TestUser

以下代码示例演示如何使用 Set-IAMDefaultPolicyVersion

用于 PowerShell

示例 1:此示例将策略的v2版本设置ARNarn:aws:iam::123456789012:policy/MyPolicy为默认活动版本。

Set-IAMDefaultPolicyVersion -PolicyArn arn:aws:iam::123456789012:policy/MyPolicy -VersionId v2

以下代码示例演示如何使用 Set-IAMRolePermissionsBoundary

用于 PowerShell

示例 1:此示例说明如何为IAM角色设置权限边界。您可以将 AWS 托管策略或自定义策略设置为权限边界。

Set-IAMRolePermissionsBoundary -RoleName MyRoleName -PermissionsBoundary arn:aws:iam::123456789012:policy/intern-boundary

以下代码示例演示如何使用 Set-IAMUserPermissionsBoundary

用于 PowerShell

示例 1:此示例展示如何设置用户的权限边界。您可以将 AWS 托管策略或自定义策略设置为权限边界。

Set-IAMUserPermissionsBoundary -UserName joe -PermissionsBoundary arn:aws:iam::123456789012:policy/intern-boundary

以下代码示例演示如何使用 Sync-IAMMFADevice

用于 PowerShell

示例 1:此示例将与IAM用户Bob关联的MFA设备与提供两个身份ARN验证arn:aws:iam::123456789012:mfa/bob码的身份验证器程序同步。

Sync-IAMMFADevice -SerialNumber arn:aws:iam::123456789012:mfa/theresa -AuthenticationCode1 123456 -AuthenticationCode2 987654 -UserName Bob

示例 2:此示例将与IAM用户Theresa关联的IAMMFA设备与具有序列号ABCD12345678并提供两个身份验证码的物理设备同步。

Sync-IAMMFADevice -SerialNumber ABCD12345678 -AuthenticationCode1 123456 -AuthenticationCode2 987654 -UserName Theresa
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考ResyncMfaDevice中的。

以下代码示例演示如何使用 Unregister-IAMGroupPolicy

用于 PowerShell

示例 1:此示例arn:aws:iam::123456789012:policy/TesterAccessPolicy从名Testers为的组中分离托管组策略。ARN

Unregister-IAMGroupPolicy -GroupName Testers -PolicyArn arn:aws:iam::123456789012:policy/TesterAccessPolicy

示例 2:此示例查找附加到名为 Testers 的组的所有托管策略,并将其与该组分离。

Get-IAMAttachedGroupPolicies -GroupName Testers | Unregister-IAMGroupPolicy -Groupname Testers
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DetachGroupPolicy中的。

以下代码示例演示如何使用 Unregister-IAMRolePolicy

用于 PowerShell

示例 1:此示例分离了名ARNFedTesterRole为的角色arn:aws:iam::123456789012:policy/FederatedTesterAccessPolicy的托管组策略。

Unregister-IAMRolePolicy -RoleName FedTesterRole -PolicyArn arn:aws:iam::123456789012:policy/FederatedTesterAccessPolicy

示例 2:此示例查找附加到名为 FedTesterRole 的角色的所有托管策略,并将其与该角色分离。

Get-IAMAttachedRolePolicyList -RoleName FedTesterRole | Unregister-IAMRolePolicy -Rolename FedTesterRole
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DetachRolePolicy中的。

以下代码示例演示如何使用 Unregister-IAMUserPolicy

用于 PowerShell

示例 1:此示例分离了名ARNBobarn:aws:iam::123456789012:policy/TesterPolicy的IAM用户的托管策略。

Unregister-IAMUserPolicy -UserName Bob -PolicyArn arn:aws:iam::123456789012:policy/TesterPolicy

示例 2:此示例查找附加到名为的IAM用户的所有托管策略,Theresa并将这些策略与该用户分离。

Get-IAMAttachedUserPolicyList -UserName Theresa | Unregister-IAMUserPolicy -Username Theresa
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考DetachUserPolicy中的。

以下代码示例演示如何使用 Update-IAMAccessKey

用于 PowerShell

示例 1:此示例将名AKIAIOSFODNN7EXAMPLE为的IAM用户的访问密钥状态更改BobInactive

Update-IAMAccessKey -UserName Bob -AccessKeyId AKIAIOSFODNN7EXAMPLE -Status Inactive
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考UpdateAccessKey中的。

以下代码示例演示如何使用 Update-IAMAccountPasswordPolicy

用于 PowerShell

示例 1:此示例使用指定设置更新账户的密码策略。请注意,命令中未包含的任何参数都不会保持不变。相反,这些参数将重置为默认值。

Update-IAMAccountPasswordPolicy -AllowUsersToChangePasswords $true -HardExpiry $false -MaxPasswordAge 90 -MinimumPasswordLength 8 -PasswordReusePrevention 20 -RequireLowercaseCharacters $true -RequireNumbers $true -RequireSymbols $true -RequireUppercaseCharacters $true

以下代码示例演示如何使用 Update-IAMAssumeRolePolicy

用于 PowerShell

示例 1:此示例ClientRole使用新的信任策略更新名为的IAM角色,其内容来自文件ClientRolePolicy.json。请注意,必须使用 s -Raw witch 参数才能成功处理JSON文件内容。

Update-IAMAssumeRolePolicy -RoleName ClientRole -PolicyDocument (Get-Content -raw ClientRolePolicy.json)

以下代码示例演示如何使用 Update-IAMGroup

用于 PowerShell

示例 1:此示例将IAM群组重命名Testers为。AppTesters

Update-IAMGroup -GroupName Testers -NewGroupName AppTesters

示例 2:此示例将IAM群组的路径更改AppTesters/Org1/Org2/。这会将群组ARN的 “” 更改为arn:aws:iam::123456789012:group/Org1/Org2/AppTesters

Update-IAMGroup -GroupName AppTesters -NewPath /Org1/Org2/
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考UpdateGroup中的。

以下代码示例演示如何使用 Update-IAMLoginProfile

用于 PowerShell

示例 1:此示例为IAM用户设置了一个新的临时密码Bob,并要求用户在下次登录时更改密码。

Update-IAMLoginProfile -UserName Bob -Password "P@ssw0rd1234" -PasswordResetRequired $true
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考UpdateLoginProfile中的。

以下代码示例演示如何使用 Update-IAMOpenIDConnectProviderThumbprint

用于 PowerShell

示例 1:此示例更新了arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com要使用新指纹的OIDC提供商ARN的证书指纹列表。当与OIDC提供商关联的证书发生变化时,提供商将共享新值。

Update-IAMOpenIDConnectProviderThumbprint -OpenIDConnectProviderArn arn:aws:iam::123456789012:oidc-provider/example.oidcprovider.com -ThumbprintList 7359755EXAMPLEabc3060bce3EXAMPLEec4542a3

以下代码示例演示如何使用 Update-IAMRole

用于 PowerShell

示例 1:此示例更新了角色描述和可以请求的角色会话的最长会话持续时间值(以秒为单位)。

Update-IAMRole -RoleName MyRoleName -Description "My testing role" -MaxSessionDuration 43200
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考UpdateRole中的。

以下代码示例演示如何使用 Update-IAMRoleDescription

用于 PowerShell

示例 1:此示例更新了您账户中某个IAM角色的描述。

Update-IAMRoleDescription -RoleName MyRoleName -Description "My testing role"

以下代码示例演示如何使用 Update-IAMSAMLProvider

用于 PowerShell

示例 1:此示例arn:aws:iam::123456789012:saml-provider/SAMLADFS使用文件中的新SAML元数据文档更新IAM其ARN中的SAML提供程序SAMLMetaData.xml。请注意,必须使用 s -Raw witch 参数才能成功处理JSON文件内容。

Update-IAMSAMLProvider -SAMLProviderArn arn:aws:iam::123456789012:saml-provider/SAMLADFS -SAMLMetadataDocument (Get-Content -Raw SAMLMetaData.xml)
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考UpdateSamlProvider中的。

以下代码示例演示如何使用 Update-IAMServerCertificate

用于 PowerShell

示例 1:此示例将名为 MyServerCertificate 的证书重命名为 MyRenamedServerCertificate

Update-IAMServerCertificate -ServerCertificateName MyServerCertificate -NewServerCertificateName MyRenamedServerCertificate

示例 2:此示例将名为的证书移MyServerCertificate至 path /Org1/Org 2/。这会将资源ARN的 for 更改为arn:aws:iam::123456789012:server-certificate/Org1/Org2/MyServerCertificate

Update-IAMServerCertificate -ServerCertificateName MyServerCertificate -NewPath /Org1/Org2/

以下代码示例演示如何使用 Update-IAMSigningCertificate

用于 PowerShell

示例 1:此示例更新与名为Bob且其证书 ID 为的IAM用户关联的证书,Y3EK7RMEXAMPLESV33FCREXAMPLEMJLU将其标记为非活动状态。

Update-IAMSigningCertificate -CertificateId Y3EK7RMEXAMPLESV33FCREXAMPLEMJLU -UserName Bob -Status Inactive

以下代码示例演示如何使用 Update-IAMUser

用于 PowerShell

示例 1:此示例将IAM用户重命名Bob为。Robert

Update-IAMUser -UserName Bob -NewUserName Robert

示例 2:此示例将IAM用户的路径更改Bob/Org1/Org2/,这实际上将ARN用户的路径更改为arn:aws:iam::123456789012:user/Org1/Org2/bob

Update-IAMUser -UserName Bob -NewPath /Org1/Org2/
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考UpdateUser中的。

以下代码示例演示如何使用 Write-IAMGroupPolicy

用于 PowerShell

示例 1:此示例创建了一个名为的内联策略AppTesterPolicy并将其嵌入到IAM组AppTesters中。如果已经存在同名的内联策略,则该策略将被覆盖。JSON策略内容来自文件apptesterpolicy.json。请注意,必须使用-Raw参数才能成功处理JSON文件内容。

Write-IAMGroupPolicy -GroupName AppTesters -PolicyName AppTesterPolicy -PolicyDocument (Get-Content -Raw apptesterpolicy.json)
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考PutGroupPolicy中的。

以下代码示例演示如何使用 Write-IAMRolePolicy

用于 PowerShell

示例 1:此示例创建一个名为的内联策略FedTesterRolePolicy并将其嵌入到IAM角色FedTesterRole中。如果已经存在同名的内联策略,则该策略将被覆盖。JSON策略内容来自文件FedTesterPolicy.json。请注意,必须使用-Raw参数才能成功处理JSON文件内容。

Write-IAMRolePolicy -RoleName FedTesterRole -PolicyName FedTesterRolePolicy -PolicyDocument (Get-Content -Raw FedTesterPolicy.json)
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考PutRolePolicy中的。

以下代码示例演示如何使用 Write-IAMUserPolicy

用于 PowerShell

示例 1:此示例创建了一个名为的内联策略EC2AccessPolicy并将其嵌入到IAM用户Bob中。如果已经存在同名的内联策略,则该策略将被覆盖。JSON策略内容来自文件EC2AccessPolicy.json。请注意,必须使用-Raw参数才能成功处理JSON文件内容。

Write-IAMUserPolicy -UserName Bob -PolicyName EC2AccessPolicy -PolicyDocument (Get-Content -Raw EC2AccessPolicy.json)
  • 有关API详细信息,请参阅 AWS Tools for PowerShell Cmdlet 参考PutUserPolicy中的。