콘텐츠로 이동

Kiro가 ID 및 액세스 관리(IAM)와 작동하는 방식

Kiro 콘솔에 액세스하고 Kiro 구독과 관련된 작업을 수행하려면 AWS Identity and Access Management(IAM)를 통해 프로비저닝된 권한이 필요합니다. AWS IAM은 관리자가 AWS 리소스에 대한 액세스를 안전하게 제어하는 데 도움이 되는 AWS 서비스이며 추가 비용 없이 사용할 수 있습니다.

액세스를 활성화하려면 필요한 권한이 있는 ID 기반 정책을 생성하고 Kiro 구독을 구성하는 IAM ID에 연결할 수 있습니다. 자세한 내용은 Kiro에 대한 ID 기반 정책을 참조하십시오.

또한 Kiro는 AWS IAM 서비스 연결 역할을 사용합니다. 서비스 연결 역할은 ID가 아닌 Kiro에 직접 연결되는 고유한 유형의 IAM 역할이며 구독할 때 자동으로 생성됩니다. 자세한 내용은 Kiro에 대한 서비스 연결 역할을 참조하십시오.

Kiro에 대한 ID 기반 정책

ID 기반 정책은 IAM 사용자, 사용자 그룹 또는 역할과 같은 ID에 연결할 수 있는 JSON 권한 정책 문서입니다. 이러한 정책은 사용자와 역할이 어떤 리소스에서 어떤 조건 하에서 어떤 작업을 수행할 수 있는지 제어합니다.

사용자를 구독하고 구독을 구성하려면 콘솔에서 관리자가 Kiro를 구성하고 구독하도록 허용에 정의된 권한이 필요합니다.

ID 기반 정책을 생성하는 방법을 알아보려면 AWS IAM User Guide고객 관리형 정책으로 사용자 지정 IAM 권한 정의를 참조하십시오.

정책: 관리자가 Kiro를 구성하고 사용자를 구독하도록 허용

다음 예제 정책은 Kiro 콘솔에서 작업을 수행할 수 있는 권한을 부여합니다. Kiro 콘솔은 사용자를 Kiro에 구독하고, Kiro와 AWS IAM Identity Center 및 AWS Organizations의 통합을 구성하며, 구독 설정을 관리하는 곳입니다. 이 정책에는 고객 관리형 KMS 키를 생성하고 구성할 수 있는 권한도 포함됩니다.

정책 표시

json

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sso:ListInstances", "sso:CreateInstance", "sso:CreateApplication", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationGrant", "sso:PutApplicationAssignmentConfiguration", "sso:ListApplications", "sso:GetSharedSsoConfiguration", "sso:DescribeInstance", "sso:PutApplicationAccessScope", "sso:DescribeApplication", "sso:DeleteApplication", "sso:CreateApplicationAssignment", "sso:DeleteApplicationAssignment", "sso:UpdateApplication", "sso:DescribeRegisteredRegions", "sso:GetSSOStatus" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "iam:ListRoles" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "identitystore:DescribeUser" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "sso-directory:GetUserPoolInfo", "sso-directory:DescribeUser", "sso-directory:DescribeUsers", "sso-directory:DescribeGroups", "sso-directory:SearchGroups", "sso-directory:SearchUsers", "sso-directory:DescribeDirectory" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "signin:ListTrustedIdentityPropagationApplicationsForConsole", "signin:CreateTrustedIdentityPropagationApplicationForConsole" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "user-subscriptions:ListClaims", "user-subscriptions:ListApplicationClaims", "user-subscriptions:ListUserSubscriptions", "user-subscriptions:CreateClaim", "user-subscriptions:DeleteClaim", "user-subscriptions:UpdateClaim", "user-subscriptions:SetOverageConfig" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "organizations:DescribeAccount", "organizations:DescribeOrganization", "organizations:ListAWSServiceAccessForOrganization", "organizations:DisableAWSServiceAccess", "organizations:EnableAWSServiceAccess" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:CreateGrant", "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey*", "kms:RetireGrant", "kms:DescribeKey" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "codeguru-security:UpdateAccountConfiguration" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": [ "arn:aws:iam::*:role/aws-service-role/q.amazonaws.com/AWSServiceRoleForAmazonQDeveloper" ] }, { "Effect": "Allow", "Action": [ "codewhisperer:UpdateProfile", "codewhisperer:ListProfiles", "codewhisperer:TagResource", "codewhisperer:UnTagResource", "codewhisperer:ListTagsForResource", "codewhisperer:CreateProfile" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "q:ListDashboardMetrics", "q:CreateAssignment", "q:DeleteAssignment" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "cloudwatch:GetMetricData", "cloudwatch:ListMetrics" ], "Resource": [ "*" ] } ] }

Kiro에 대한 서비스 연결 역할

서비스 연결 역할은 ID가 아닌 Kiro에 직접 연결되는 고유한 유형의 IAM 역할입니다. 서비스 연결 역할은 AWS에서 미리 정의하며 Kiro가 귀하를 대신하여 다른 AWS 서비스를 호출하는 데 필요한 모든 권한을 포함합니다.

서비스 연결 역할은 필요한 권한을 수동으로 추가할 필요가 없으므로 Kiro를 더 쉽게 설정할 수 있습니다. Kiro는 서비스 연결 역할의 권한을 정의하며, 달리 정의되지 않는 한 Kiro만 해당 역할을 맡을 수 있습니다. 정의된 권한에는 신뢰 정책과 권한 정책이 포함되며 해당 권한 정책은 다른 IAM 엔터티에 연결할 수 없습니다.

서비스 연결 역할은 관련 리소스를 먼저 삭제한 후에만 삭제할 수 있습니다. 이렇게 하면 리소스에 대한 액세스 권한을 실수로 제거할 수 없으므로 Kiro 리소스를 보호합니다. 서비스 연결 역할에 대한 자세한 내용은 AWS IAM User Guide를 참조하십시오.

Kiro 엔터프라이즈에 구독할 때 두 가지 서비스 연결 역할이 생성됩니다:

서비스 연결 역할: AWSServiceRoleForUserSubscriptions

Kiro는 AWSServiceRoleForUserSubscriptions라는 서비스 연결 역할을 사용합니다. 이 역할은 Kiro가 구독을 자동으로 업데이트하기 위해 IAM Identity Center 리소스에 액세스할 수 있는 권한을 부여합니다.

AWSServiceRoleForUserSubscriptions 서비스 연결 역할은 다음 서비스가 역할을 맡도록 신뢰합니다:

  • user-subscriptions.amazonaws.com

AWSServiceRoleForUserSubscriptions라는 역할 권한 정책은 Kiro가 지정된 리소스에서 다음 작업을 완료하도록 허용합니다:

  • 작업: identitystore:DescribeGroup(리소스: *)
  • 작업: identitystore:DescribeUser(리소스: *)
  • 작업: identitystore:IsMemberInGroups(리소스: *)
  • 작업: identitystore:ListGroupMemberships(리소스: *)
  • 작업: organizations:DescribeOrganization(리소스: *)
  • 작업: sso:DescribeApplication(리소스: *)
  • 작업: sso:DescribeInstance(리소스: *)
  • 작업: sso:ListInstances(리소스: *)
  • 작업: sso-directory:DescribeUser(리소스: *)

서비스 연결 역할을 생성, 편집 또는 삭제하려면 사용자, 그룹 또는 역할에 권한을 구성해야 합니다. 자세한 내용은 AWS IAM User Guide서비스 연결 역할 권한을 참조하십시오.

서비스 연결 역할: AWSServiceRoleForAmazonQDeveloper

Kiro는 AWSServiceRoleForAmazonQDeveloper라는 서비스 연결 역할을 사용합니다. 이 역할은 Kiro가 계정의 데이터에 액세스하여 청구를 계산하고, Amazon CodeGuru에서 보안 보고서를 생성 및 액세스하며, CloudWatch로 데이터를 내보낼 수 있는 권한을 부여합니다.

AWSServiceRoleForAmazonQDeveloper 서비스 연결 역할은 다음 서비스가 역할을 맡도록 신뢰합니다:

  • q.amazonaws.com

AWSServiceRoleForAmazonQDeveloper라는 역할 권한 정책은 Kiro가 지정된 리소스에서 다음 작업을 완료하도록 허용합니다:

  • 작업: cloudwatch:PutMetricData(리소스: AWS/Q CloudWatch namespace)

서비스 연결 역할을 생성, 편집 또는 삭제하려면 사용자, 그룹 또는 역할에 권한을 구성해야 합니다. 자세한 내용은 AWS IAM User Guide서비스 연결 역할 권한을 참조하십시오.

서비스 연결 역할 관리

서비스 연결 역할을 수동으로 생성할 필요는 없습니다. AWS Management Console에서 Kiro용 프로필을 생성하면 Kiro가 서비스 연결 역할을 생성합니다. 이 서비스 연결 역할을 삭제한 다음 다시 생성해야 하는 경우 동일한 프로세스를 사용하여 계정에서 역할을 다시 생성할 수 있습니다.

IAM 콘솔 또는 AWS CLI를 사용하여 q.amazonaws.com 서비스 이름으로 서비스 연결 역할을 생성할 수도 있습니다. 자세한 내용은 AWS IAM User Guide서비스 연결 역할 생성을 참조하십시오. 이 서비스 연결 역할을 삭제하는 경우 동일한 프로세스를 사용하여 역할을 다시 생성할 수 있습니다.

Kiro는 AWSServiceRoleForUserSubscriptions 또는 AWSServiceRoleForAmazonQDeveloper 서비스 연결 역할을 편집할 수 없습니다. 서비스 연결 역할을 생성한 후에는 다양한 엔터티가 역할을 참조할 수 있으므로 역할 이름을 변경할 수 없습니다. 그러나 IAM을 사용하여 역할의 설명을 편집할 수 있습니다. 자세한 내용은 AWS IAM User Guide서비스 연결 역할 편집을 참조하십시오.

서비스 연결 역할이 필요한 기능이나 서비스를 더 이상 사용하지 않는 경우 해당 역할을 삭제하는 것이 좋습니다. 그렇게 하면 적극적으로 모니터링하거나 유지 관리하지 않는 사용하지 않는 엔터티가 없습니다. 그러나 서비스 연결 역할을 수동으로 삭제하려면 먼저 서비스 연결 역할의 리소스를 정리해야 합니다. IAM 콘솔, AWS CLI 또는 AWS API를 사용하여 서비스 연결 역할을 삭제합니다. 자세한 내용은 AWS IAM User Guide서비스 연결 역할 삭제를 참조하십시오.

정보

참고: 리소스를 삭제하려고 할 때 Kiro가 역할을 사용하고 있으면 삭제가 실패할 수 있습니다. 이 경우 몇 분 기다렸다가 작업을 다시 시도하십시오.

Kiro 서비스 연결 역할에 지원되는 리전

다음 AWS 리전에서 AWSServiceRoleForUserSubscriptions 및 AWSServiceRoleForAmazonQDeveloper 역할을 사용할 수 있습니다. 리전에 대한 자세한 내용은 AWS General ReferenceAWS 리전 및 엔드포인트를 참조하십시오.

리전 이름 리전 ID
US East (N. Virginia) us-east-1
Europe (Frankfurt) eu-central-1