

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

# 使用 IAM Identity Center 的服务相关角色
<a name="using-service-linked-roles"></a>

AWS IAM Identity Center 使用 AWS Identity and Access Management (IAM) [服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服务相关角色是一种独特类型的 IAM 角色，直接链接到 IAM Identity Center。它由 IAM Identity Center 预定义，包括该服务代表您调用其他 AWS 服务所需的所有权限。有关更多信息，请参阅 [了解 IAM Identity Center 中的服务相关角色](slrconcept.md)。

服务相关角色使设置 IAM Identity Center 变得更加容易，因为您无需手动添加必要的权限。IAM Identity Center 定义其服务相关角色的权限，除非另有定义，否则只有 IAM Identity Center 可以承担其角色。定义的权限包括信任策略和权限策略，而且权限策略不能附加到任何其他 IAM 实体。

有关支持服务相关角色的其他服务的信息，请参阅[使用 IAM 的AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)并查找 **Service-Linked Role**（服务相关角色）列中显示为 **Yes**（是）的服务。选择**是**和链接，查看该服务的服务关联角色文档。

## IAM Identity Center 的服务相关角色权限
<a name="slr-permissions"></a>

IAM Identity Center 使用名为 **AWSServiceRoleForSSO** 的服务相关角色授予 IAM 身份中心代表您管理 AWS 资源的权限，包括 IAM 角色、策略和 SAML IdP。

 AWSServiceRoleForSSO 服务相关角色信任以下服务来代入该角色：
+ IAM Identity Center（服务前缀：`sso`）

 AWSSSOServiceRolePolicy 服务相关角色权限策略允许 IAM Identity Center 对路径 “/aws-reserved/sso.amazonaws.com/” 上且名称前缀为 “SSO\$1” 的角色完成以下操作：AWSReserved
+ `iam:AttachRolePolicy`
+ `iam:CreateRole`
+ `iam:DeleteRole`
+ `iam:DeleteRolePermissionsBoundary`
+ `iam:DeleteRolePolicy`
+ `iam:DetachRolePolicy`
+ `iam:GetRole`
+ `iam:ListRolePolicies`
+ `iam:PutRolePolicy`
+ `iam:PutRolePermissionsBoundary`
+ `iam:ListAttachedRolePolicies`

 AWSSSOServiceRolePolicy 服务相关角色权限策略允许 IAM Identity Center 在名称前缀为 “AWSSSO\$1” 的 SAML 提供商上完成以下操作：
+ `iam:CreateSAMLProvider`
+ `iam:GetSAMLProvider`
+ `iam:UpdateSAMLProvider`
+ `iam:DeleteSAMLProvider`

 AWSSSOServiceRolePolicy 服务相关角色权限策略允许 IAM Identity Center 在所有组织上完成以下操作：
+ `organizations:DescribeAccount`
+ `organizations:DescribeOrganization`
+ `organizations:ListAccounts`
+ `organizations:ListAWSServiceAccessForOrganization`
+ `organizations:ListDelegatedAdministrators`

 AWSSSOServiceRolePolicy 服务相关角色权限策略允许 IAM Identity Center 在所有 IAM 角色 (\$1) 上完成以下操作：
+ `iam:listRoles`

 AWSSSOServiceRolePolicy 服务相关角色权限策略允许 IAM Identity Center 在 “arn: aws:: iam:: \$1:” 上完成以下操作：role/aws-service-role/sso.amazonaws.com/AWSServiceRoleForSSO
+ `iam:GetServiceLinkedRoleDeletionStatus`
+ `iam:DeleteServiceLinkedRole`

 AWSSSOServiceRolePolicy 服务相关角色权限策略允许 IAM Identity Center 在 “arn: aws: identity-sync: \$1: profile/\$1” 上完成以下操作：
+ `identity-sync:DeleteSyncProfile`

有关 AWSSSOServiceRolePolicy 服务相关角色权限策略更新的更多信息，请参阅[IAM 身份中心对 AWS 托管策略的更新](security-iam-awsmanpol.md#security-iam-awsmanpol-updates)。

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"IAMRoleProvisioningActions",
         "Effect":"Allow",
         "Action":[
            "iam:AttachRolePolicy",
            "iam:CreateRole",
            "iam:DeleteRolePermissionsBoundary",
            "iam:PutRolePermissionsBoundary",
            "iam:PutRolePolicy",
            "iam:UpdateRole",
            "iam:UpdateRoleDescription",
            "iam:UpdateAssumeRolePolicy"
         ],
         "Resource":[
            "arn:aws:iam::*:role/aws-reserved/sso.amazonaws.com/*"
         ],
         "Condition":{
            "StringNotEquals":{
               "aws:PrincipalOrgMasterAccountId":"${aws:PrincipalAccount}"
            }
         }
      },
      {
         "Sid":"IAMRoleReadActions",
         "Effect":"Allow",
         "Action":[
            "iam:GetRole",
            "iam:ListRoles"
         ],
         "Resource":[
            "*"
         ]
      },
      {
         "Sid":"IAMRoleCleanupActions",
         "Effect":"Allow",
         "Action":[
            "iam:DeleteRole",
            "iam:DeleteRolePolicy",
            "iam:DetachRolePolicy",
            "iam:ListRolePolicies",
            "iam:ListAttachedRolePolicies"
         ],
         "Resource":[
            "arn:aws:iam::*:role/aws-reserved/sso.amazonaws.com/*"
         ]
      },
      {
         "Sid":"IAMSLRCleanupActions",
         "Effect":"Allow",
         "Action":[
            "iam:DeleteServiceLinkedRole",
            "iam:GetServiceLinkedRoleDeletionStatus",
            "iam:DeleteRole",
            "iam:GetRole"
         ],
         "Resource":[
            "arn:aws:iam::*:role/aws-service-role/sso.amazonaws.com/AWSServiceRoleForSSO"
         ]
      },
      {
        "Sid": "IAMSAMLProviderCreationAction",
        "Effect": "Allow",
        "Action": [
          "iam:CreateSAMLProvider"
      ],
      "Resource": [
         "arn:aws:iam::*:saml-provider/AWSSSO_*"
       ],
      "Condition": {
         "StringNotEquals": {
            "aws:PrincipalOrgMasterAccountId": "${aws:PrincipalAccount}"
          }
        }
      },
      {
        "Sid": "IAMSAMLProviderUpdateAction",
        "Effect": "Allow",
        "Action": [
          "iam:UpdateSAMLProvider"
        ],
        "Resource": [
           "arn:aws:iam::*:saml-provider/AWSSSO_*"
        ]
      }, 
      {
         "Sid":"IAMSAMLProviderCleanupActions",
         "Effect":"Allow",
         "Action":[
            "iam:DeleteSAMLProvider",
            "iam:GetSAMLProvider"
         ],
         "Resource":[
            "arn:aws:iam::*:saml-provider/AWSSSO_*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "organizations:DescribeAccount",
            "organizations:DescribeOrganization",
            "organizations:ListAccounts",
            "organizations:ListAWSServiceAccessForOrganization",
            "organizations:ListDelegatedAdministrators"
         ],
         "Resource":[
            "*"
         ]
      },
      {
         "Sid":"AllowUnauthAppForDirectory",
         "Effect":"Allow",
         "Action":[
            "ds:UnauthorizeApplication"
         ],
         "Resource":[
            "*"
         ]
      },
      {
         "Sid":"AllowDescribeForDirectory",
         "Effect":"Allow",
         "Action":[
            "ds:DescribeDirectories",
            "ds:DescribeTrusts"
         ],
         "Resource":[
            "*"
         ]
      },
      {
         "Sid":"AllowDescribeAndListOperationsOnIdentitySource",
         "Effect":"Allow",
         "Action":[
            "identitystore:DescribeUser",
            "identitystore:DescribeGroup",
            "identitystore:ListGroups",
            "identitystore:ListUsers"
         ],
         "Resource":[
            "*"
         ]
      },
      {
         "Sid":"AllowDeleteSyncProfile",
         "Effect":"Allow",
         "Action":[
            "identity-sync:DeleteSyncProfile"
         ],
         "Resource":[
            "arn:aws:identity-sync:*:*:profile/*"
         ]
      }
   ]    
}
```

------

您必须配置权限，允许 IAM 实体（如用户、组或角色）创建、编辑或删除服务关联角色。有关更多信息，请参阅*《IAM 用户指南》*中的[服务关联角色权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)。

## 为 IAM Identity Center 创建服务相关角色
<a name="create-slr"></a>

无需手动创建服务相关角色。启用后，IAM Identity Center 将在 Organizations 中组织内的所有账户中 AWS 创建一个服务相关角色。IAM Identity Center 还会在随后添加到您的组织的每个帐户中创建相同的服务相关角色。此角色允许 IAM Identity Center 代表您访问每个帐户的资源。

**注意**  
如果您登录了 AWS Organizations 管理账户，则该账户将使用您当前登录的角色而不是与服务相关的角色。这可以防止权限升级。
当 IAM Identity Center 在 AWS Organizations 管理账户中执行任何 IAM 操作时，所有操作都将使用 IAM 委托人的证书进行。这样，登录 CloudTrail 即可查看谁在管理账户中进行了所有权限更改。

**重要**  
如果您在 2017 年 12 月 7 日开始支持服务相关角色之前使用 IAM 身份中心服务，那么 IAM Identity Center 会在您的账户中创建 AWSServiceRoleFor了 SSO 角色。要了解更多信息，请参阅[我的 IAM 帐户中出现新角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared)。

如果您删除了此服务相关角色然后需要再次创建它，可以使用相同的流程在您的帐户中重新创建此角色。

## 编辑 IAM Identity Center 的服务相关角色
<a name="edit-slr"></a>

IAM 身份中心不允许您编辑 AWSService RoleFor SSO 服务相关角色。创建服务关联角色后，您将无法更改角色的名称，因为可能有多种实体引用该角色。但是可以使用 IAM 编辑角色描述。有关更多信息，请参阅《IAM 用户指南》**中的[编辑服务关联角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)。

## 删除 IAM Identity Center 的服务相关角色
<a name="delete-slr"></a>

您无需手动删除 AWSService RoleFor SSO 角色。从 AWS 组织中移除后，IAM I AWS 账户 dentity Center 会自动清理资源并从中删除服务相关角色。 AWS 账户

您还可以使用 IAM 控制台、IAM CLI 或 IAM API 手动删除服务相关角色。为此，必须先手动清除服务相关角色的资源，然后才能手动删除。

**注意**  
如果在您尝试删除资源时 IAM Identity Center 服务正在使用该角色，则删除可能会失败。如果发生这种情况，请等待几分钟后重试。

**删除 AWSService RoleFor SSO 使用的 IAM 身份中心资源**

1. [移除用户和群组对的访问权限 AWS 账户](howtoremoveaccess.md) 适用于有权访问 AWS 账户的所有用户和组。

1. 与 AWS 账户关联的 [在 IAM Identity Center 中移除权限集](howtoremovepermissionset.md)。

**使用 IAM 手动删除服务关联角色**

使用 IAM 控制台、IAM CLI 或 IAM API 删除 AWSService RoleFor SSO 服务相关角色。有关更多信息，请参见《IAM 用户指南》**中的[删除服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。