사용자 권한 - Amazon Q Developer

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

사용자 권한

다음 정책은 사용자가 AWS 앱 및 웹 사이트에서 Amazon Q Developer의 기능에 액세스할 수 있도록 허용합니다.

Amazon Q Developer에 대한 관리 액세스를 활성화하는 정책은 관리자 권한 섹션을 참조하세요.

사용자가 Amazon Q Developer Pro 구독을 통해 Amazon Q에 액세스하도록 허용

다음 예시 정책은 Amazon Q Developer Pro 구독을 통해 Amazon Q를 사용할 수 있는 권한을 부여합니다. 이러한 권한이 없으면 사용자는 Amazon Q의 프리 티어에만 액세스할 수 있습니다. Amazon Q와 채팅하거나 다른 Amazon Q 기능을 사용하려면 이 섹션의 예시 정책에서 부여한 것과 같은 추가 권한이 필요합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGetIdentity", "Effect": "Allow", "Action": [ "q:GetIdentityMetaData" ], "Resource": "*" }, { "Sid": "AllowSetTrustedIdentity", "Effect": "Allow", "Action": [ "sts:SetContext" ], "Resource": "arn:aws:sts::*:self" } ] }

고객 관리형 키에 대한 Amazon Q 액세스 허용

다음 예제 정책은 Amazon Q가 키에 액세스할 수 있도록 허용하여 고객 관리형 키로 암호화된 기능에 액세스할 수 있는 권한을 사용자에게 부여합니다. 관리자가 암호화를 위해 고객 관리형 키를 설정한 경우 Amazon Q를 사용하려면이 정책이 필요합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "QKMSDecryptGenerateDataKeyPermissions", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:ReEncryptFrom", "kms:ReEncryptTo" ], "Resource": [ "arn:aws:kms:{{region}}:{{account_id}}:key/[[key_id]]" ], "Condition": { "StringLike": { "kms:ViaService": [ "q.{{region}}.amazonaws.com" ] } } } ] }

사용자가 Amazon Q와 채팅할 수 있도록 허용

다음 예시 정책은 콘솔에서 Amazon Q와 채팅할 수 있는 권한을 부여합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAmazonQConversationAccess", "Effect": "Allow", "Action": [ "q:StartConversation", "q:SendMessage", "q:GetConversation", "q:ListConversations" ], "Resource": "*" } ] }

사용자가 CLI에서 Amazon Q를 사용하도록 허용 AWS CloudShell

다음 예제 정책은 Amazon Q를 CLI와 함께 사용할 수 있는 권한을 부여합니다 AWS CloudShell.

참고

codewhisperer 접두사는 Amazon Q Developer와 병합된 서비스의 기존 이름입니다. 자세한 내용은 Amazon Q Developer rename - Summary of changes 단원을 참조하십시오.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codewhisperer:GenerateRecommendations", "codewhisperer:ListCustomizations", ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "q:SendMessage" ], "Resource": "*" } ] }

사용자가 Amazon Q로 콘솔 오류를 진단할 수 있도록 허용

다음 예제 정책은 Amazon Q로 콘솔 오류를 진단할 수 있는 권한을 부여합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAmazonQTroubleshooting", "Effect": "Allow", "Action": [ "q:StartTroubleshootingAnalysis", "q:GetTroubleshootingResults", "q:StartTroubleshootingResolutionExplanation", "q:UpdateTroubleshootingCommandResult", "q:PassRequest", "cloudformation:GetResource" ], "Resource": "*" } ] }

사용자가 Amazon Q를 사용하여 CLI 명령에서 코드를 생성하도록 허용

다음 예제 정책은 Amazon Q를 사용하여 Console-to-Code 기록된 CLI 명령에서 코드를 생성할 수 있는 권한을 부여합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAmazonQConsoleToCode", "Effect": "Allow", "Action": "q:GenerateCodeFromCommands", "Resource": "*" } ] }

사용자가 Amazon Q와 리소스에 대해 채팅할 수 있도록 허용

다음 예제 정책은 리소스에 대해 Amazon Q와 채팅할 수 있는 권한을 부여하고 Amazon Q가 사용자를 대신하여 리소스 정보를 검색할 수 있도록 허용합니다. Amazon Q에는 IAM 자격 증명에 권한이 있는 리소스에 액세스할 수 있는 권한만 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAmazonQPassRequest", "Effect": "Allow", "Action": [ "q:StartConversation", "q:SendMessage", "q:GetConversation", "q:ListConversations", "q:PassRequest" ], "Resource": "*" }, { "Sid": "AllowCloudControlReadAccess", "Effect": "Allow", "Action": [ "cloudformation:GetResource", "cloudformation:ListResources" ], "Resource": "*" } ] }

Amazon Q가 사용자를 대신하여 채팅으로 작업을 수행하도록 허용

다음 예시 정책은 Amazon Q와 채팅할 수 있는 권한을 부여하고 Amazon Q가 사용자를 대신하여 작업을 수행하도록 허용합니다. Amazon Q에는 IAM 자격 증명이 수행할 수 있는 권한이 있는 작업만 수행할 수 있는 권한이 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAmazonQPassRequest", "Effect": "Allow", "Action": [ "q:StartConversation", "q:SendMessage", "q:GetConversation", "q:ListConversations", "q:PassRequest" ], "Resource": "*" } ] }

사용자를 대신하여 특정 작업을 수행할 수 있는 Amazon Q 권한 거부

다음 예제 정책은 Amazon Q와 채팅할 수 있는 권한을 부여하고 Amazon Q가 Amazon 작업을 제외하고 자격 IAM 증명이 수행할 수 있는 권한이 있는 모든 EC2 작업을 사용자를 대신하여 수행할 수 있도록 허용합니다. 이 정책은 aws:CalledVia 전역 조건 키를 사용하여 Amazon Q가 호출할 때만 Amazon EC2 작업이 거부되도록 지정합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "q:StartConversation", "q:SendMessage", "q:GetConversation", "q:ListConversations", "q:PassRequest" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "ec2:*" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": ["q.amazonaws.com"] } } } ] }

사용자를 대신하여 특정 작업을 수행할 수 있는 Amazon Q 권한 허용

다음 예제 정책은 Amazon Q와 채팅할 수 있는 권한을 부여하고 Amazon Q가 Amazon 작업을 제외하고 자격 IAM 증명이 수행할 수 있는 권한이 있는 모든 EC2 작업을 사용자를 대신하여 수행할 수 있도록 허용합니다. 이 정책은 IAM 자격 증명에 Amazon EC2 작업을 수행할 수 있는 권한을 부여하지만 Amazon Q만 ec2:describeInstances 작업을 수행하도록 허용합니다. 이 정책은 aws:CalledVia 전역 조건 키를 사용하여 Amazon Q가 다른 Amazon EC2 작업이 ec2:describeInstances아닌 만 호출하도록 지정합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "q:StartConversation", "q:SendMessage", "q:GetConversation", "q:ListConversations", "q:PassRequest" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:*" ], "Resource": "*", "Condition": { "ForAnyValue:StringNotEquals": { "aws:CalledVia": ["q.amazonaws.com"] } } }, { "Effect": "Allow", "Action": [ "ec2:describeInstances" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": ["q.amazonaws.com"] } } } ] }

특정 리전에서 사용자를 대신하여 작업을 수행할 수 있는 Amazon Q 권한 허용

다음 예시 정책은 Amazon Q와 채팅할 수 있는 권한을 부여하고 Amazon Q가 사용자를 대신하여 작업을 수행할 때 us-east-1us-west-2 리전에만 전화를 걸 수 있도록 허용합니다. Amazon Q는 다른 리전에 전화를 걸 수 없습니다. 호출할 수 있는 리전을 지정하는 방법에 대한 자세한 내용은 AWS Identity and Access Management 사용 설명서aws:RequestedRegion를 참조하세요.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "q:StartConversation", "q:SendMessage", "q:GetConversation", "q:ListConversations", "q:PassRequest" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestedRegion": [ "us-east-1", "us-west-2" ] } } } ] }

사용자를 대신하여 작업을 수행할 수 있는 Amazon Q 권한 거부

다음 예시 정책은 Amazon Q가 사용자를 대신하여 작업을 수행하는 것을 방지합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAmazonQPassRequest", "Effect": "Deny", "Action": [ "q:PassRequest" ], "Resource": "*" } ] }

사용자가 한 공급자의 플러그인과 채팅할 수 있도록 허용

다음 예제 정책은와 채팅할 수 있는 권한을 부여합니다.Datadog 관리자가 구성하는 플러그인으로, 와일드카드 문자()ARN로 플러그인에 의해 지정됩니다*. 플러그인이 삭제되고 다시 구성된 경우 이러한 권한이 있는 사용자는 새로 구성된 플러그인에 대한 액세스를 유지합니다. 이 정책을 사용하려면의 AWS 계정 ID를 플러그인이 구성된 계정의 IDARN로 바꿉니다.

Datadog와 같은 다른 플러그인의 이름으로 바꾸어 다른 플러그인에 이러한 권한을 부여할 수 있습니다Wiz.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAmazonQConversationAccess", "Effect": "Allow", "Action": [ "q:StartConversation", "q:SendMessage", "q:GetConversation", "q:ListConversations" ], "Resource": "*" }, { "Effect": "AllowPluginAccess", "Action": [ "q:UsePlugin" ], "Resource": "arn:aws:q::123456789012:plugin/Datadog/*" } ] }

사용자가 특정 플러그인과 채팅할 수 있도록 허용

다음 예제 정책은 특정와 채팅할 수 있는 권한을 부여합니다.Wiz 플러그인 - 플러그인에 의해 지정됩니다ARN. 플러그인이 삭제되고 다시 구성된 경우이 정책에서 플러그인이 ARN 업데이트되지 않는 한 사용자는 새 플러그인에 액세스할 수 없습니다. 이 정책을 사용하려면 예제를 액세스를 허용하려는 플러그인ARN의 ARN 로 바꿉니다.

Wiz와 같은 다른 플러그인의 이름으로 바꾸어 다른 플러그인에 대해 이러한 권한을 부여할 수 있습니다Datadog.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAmazonQConversationAccess", "Effect": "Allow", "Action": [ "q:StartConversation", "q:SendMessage", "q:GetConversation", "q:ListConversations" ], "Resource": "*" }, { "Effect": "AllowPluginAccess", "Action": [ "q:UsePlugin" ], "Resource": "arn:aws:q::123456789012:plugin/Wiz/ABCDEFGHIJKL" } ] }

Amazon Q에 대한 액세스 거부

다음 예시 정책은 Amazon Q를 사용할 수 있는 모든 권한을 거부합니다.

참고

Amazon Q에 대한 액세스를 거부해도 AWS 콘솔, AWS 웹 사이트, AWS 문서 페이지 또는에서 Amazon Q 아이콘 또는 채팅 패널이 비활성화되지 않습니다 AWS Console Mobile Application.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAmazonQFullAccess", "Effect": "Deny", "Action": [ "q:*" ], "Resource": "*" } ] }

사용자가 자신의 권한을 볼 수 있도록 허용

이 예제는 IAM 사용자가 자신의 사용자 자격 증명에 연결된 인라인 및 관리형 정책을 볼 수 있도록 허용하는 정책을 생성하는 방법을 보여 줍니다. 이 정책에는 콘솔에서 또는 AWS CLI 또는를 사용하여 프로그래밍 방식으로이 작업을 완료할 수 있는 권한이 포함되어 있습니다 AWS API.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }