使用IAM身分識別中心的服務連結角色 - AWS IAM Identity Center

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用IAM身分識別中心的服務連結角色

AWS IAM Identity Center 使用 AWS Identity and Access Management (IAM) 服務連結角色。服務連結角色是直接連結至IAM身分識別中心的唯一IAM角色類型。它由 IAM Identity Center 預先定義,包含服務代表您呼叫其他服 AWS 務所需的所有權限。如需詳細資訊,請參閱 服務連結角色

服務連結角色可讓您輕鬆設定IAM身分識別中心,因為您不需要手動新增必要的權限。IAMIdentity Center 會定義其服務連結角色的權限,除非另有定義,否則只有IAM身分識別中心可以擔任其角色。定義的權限包括信任原則和權限原則,而且該權限原則無法附加至任何其他IAM實體。

如需支援服務連結角色之其他服務的相關資訊,請參閱使用的AWS 服務,IAM並在服務連結角色欄中尋找具有的服務。選擇具有連結的,以檢視該服務的服務連結角色文件。

IAM身分識別中心的服務連結角色權限

IAMIdentity Center 使用名為的服務連結角色AWSServiceRoleForSSO來授與IAM身分識別中心權限,以代表您管理 AWS 資源,包括IAM角色、原則和 SAML IdP。

服 AWSServiceRoleForSSO 務連結角色會信任下列服務擔任該角色:

  • IAM身分識別中心 (服務前置碼:sso)

AWSServiceRoleForSSO 服務連結的角色權限原則可讓IAM身分識別中心針對路徑「/aws-保留 /sso.amazonaws.com/」上的角色完成下列項目,且名稱前置詞為「_」:AWSReservedSSO

  • iam:AttachRolePolicy

  • iam:CreateRole

  • iam:DeleteRole

  • iam:DeleteRolePermissionsBoundary

  • iam:DeleteRolePolicy

  • iam:DetachRolePolicy

  • iam:GetRole

  • iam:ListRolePolicies

  • iam:PutRolePolicy

  • iam:PutRolePermissionsBoundary

  • iam:ListAttachedRolePolicies

AWSServiceRoleForSSO 服務連結的角色權限原則可讓 IAM Identity Center 在名稱前置詞為「AWSSSO_」的SAML提供者上完成下列操作:

  • iam:CreateSAMLProvider

  • iam:GetSAMLProvider

  • iam:UpdateSAMLProvider

  • iam:DeleteSAMLProvider

AWSServiceRoleForSSO 服務連結的角色權限原則可讓 IAM Identity Center 在所有組織上完成下列作業:

  • organizations:DescribeAccount

  • organizations:DescribeOrganization

  • organizations:ListAccounts

  • organizations:ListAWSServiceAccessForOrganization

  • organizations:ListDelegatedAdministrators

AWSServiceRoleForSSO 服務連結的角色權限原則可讓 IAM Identity Center 在所有IAM角色 (*) 上完成下列作業:

  • iam:listRoles

AWSServiceRoleForSSO 服務連結的角色權限原則允許IAM身分識別中心在「arn: aw: iam::: *: 角色/sso.amazonaws.com/」上完成下列項目:aws-service-roleAWSServiceRoleForSSO

  • iam:GetServiceLinkedRoleDeletionStatus

  • iam:DeleteServiceLinkedRole

角色權限原則可讓IAM身分識別中心對資源完成下列動作。

{ "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":[ "*" ] } ] }

您必須設定權限,才能允許IAM實體 (例如使用者、群組或角色) 建立、編輯或刪除服務連結角色。如需詳細資訊,請參閱IAM使用指南中的服務連結角色權限

建立IAM身分識別中心的服務連結角色

您不需要手動建立一個服務連結角色。啟用後,IAMIdentity Center 會在組織內的所有帳戶中建立服務連結角色。 AWS IAMIdentity Center 也會在隨後新增至組織的每個帳戶中建立相同的服務連結角色。此角色可讓IAM身分識別中心代表您存取每個帳戶的資源。

備註
  • 如果您已登入 AWS Organizations 管理帳戶,它會使用您目前登入的角色,而非服務連結角色。這樣可以防止權限升級。

  • 當 IAM Identity Center 在 AWS Organizations 管理帳戶中執行任何IAM作業時,所有作業都會使用IAM主體的認證進行。如此一來,登 CloudTrail 入就能看見管理帳戶中所有權限變更者。

重要

如果您在 2017 年 12 月 7 日之前使用IAM身分識別中心服務,當它開始支援服務連結角色時,則IAM身分識別中心會在您的帳戶中建立該 AWSServiceRoleForSSO 角色。若要深入瞭解,請參閱我的IAM帳戶中出現新角色

若您刪除此服務連結角色,之後需要再次建立,您可以在帳戶中使用相同程序重新建立角色。

編輯IAM身分識別中心的服務連結角色

IAM身分識別中心不允許您編輯 AWSServiceRoleForSSO 服務連結的角色。因為有各種實體可能會參考服務連結角色,所以您無法在建立角色之後變更角色名稱。但是,您可以使用編輯角色的描述IAM。如需詳細資訊,請參閱IAM使用指南中的編輯服務連結角色

刪除IAM身分識別中心的服務連結角色

您不需要手動刪除 AWSServiceRoleForSSO 角色。從 AWS 組織中移除時,IAMIdentity Center 會自動清除資源,並從該 AWS 帳戶資源中刪除服務連結的角色。 AWS 帳戶

您也可以使用IAM主控台IAMCLI、或手動刪除服務連結角色。IAM API若要執行此操作,您必須先手動清除服務連結角色的資源,然後才能手動刪除它。

注意

當您嘗試刪除資源時,如果 IAM Identity Center 服務正在使用此角色,則刪除可能會失敗。若此情況發生,請等待數分鐘後並再次嘗試操作。

若要刪除使用的IAM身分識別中心資源 AWSServiceRoleForSSO
  1. 移除使用者和群組存取權適用於所有具有存取權的使用者和群組 AWS 帳戶。

  2. 刪除權限集您已與相關聯的 AWS 帳戶.

若要使用手動刪除服務連結角色 IAM

使用IAM主控台IAMCLI、或刪除 AWSServiceRoleForSSO服務連結角色。IAM API如需詳細資訊,請參閱IAM使用指南中的刪除服務連結角色