

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ユーザーアクセス許可
<a name="id-based-policy-examples-users"></a>

次のポリシーでは、、、および AWS Documentation サイトを含む AWS アプリケーション AWS Console Mobile Applicationとウェブサイトで Amazon Q Developer AWS マネジメントコンソールの機能へのアクセスをユーザーに許可します。

Amazon Q Developer への管理アクセスを有効にするポリシーについては、「[管理者のアクセス許可](id-based-policy-examples-admins.md)」を参照してください。

**注記**  
[IDE で Amazon Q](q-in-IDE.md) にアクセスするユーザー、または[コマンドラインで Amazon Q](command-line.md) にアクセスするユーザーには、IAM アクセス許可は必要ありません。

## Amazon Q Developer Pro サブスクリプションを利用した Amazon Q へのアクセスをユーザーに許可する
<a name="id-based-policy-examples-allow-subs-access"></a>

次のポリシー例では、Amazon Q Developer Pro サブスクリプションで Amazon Q を使用するアクセス許可を付与します。これらのアクセス許可がないと、ユーザーは Amazon Q の無料利用枠にしかアクセスできません。Amazon Q とチャットしたり、他の Amazon Q 機能を使用するには、このセクションのポリシー例で付与されているアクセス許可など、追加のアクセス許可が必要です。

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

****  

```
{
    "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 にカスタマーマネージドキーへのアクセスを許可する
<a name="id-based-policy-examples-allow-q-access-encryption"></a>

次のポリシー例では、Amazon Q にキーへのアクセスを許可することで、カスタマーマネージドキーで暗号化された機能にアクセスするためのアクセス許可をユーザーに付与します。このポリシーは、管理者が暗号化用にカスタマーマネージドキーを設定している場合に Amazon Q を使用するために必要です。

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

****  

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

------

## ユーザーに Amazon Q とのチャットを許可する
<a name="id-based-policy-examples-allow-chat"></a>

次のポリシー例では、コンソールで Amazon Q とチャットするための許可を付与します。

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

****  

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

------

## で Amazon Q CLI の使用をユーザーに許可する AWS CloudShell
<a name="id-based-policy-examples-allow-cli-cloudshell"></a>

次のポリシー例では、 で Amazon Q CLI を使用するアクセス許可を付与します AWS CloudShell。

**注記**  
`codewhisperer` プレフィックスは、Amazon Q Developer とマージされたサービスのレガシー名です。詳細については、「[Amazon Q Developer の名称変更 - 変更の概要](service-rename.md)」を参照してください。

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

****  

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

------

## ユーザーにコマンドラインでの変換の実行を許可する
<a name="id-based-policy-examples-allow-cli-transformations"></a>

次のポリシー例では、変換[用の Amazon Q コマンドラインツールを使用してコードを変換するアクセス許可を付与します](transform-CLI.md)。このポリシーは、[コマンドラインでの Amazon Q](command-line.md) へのアクセスには影響しません。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
              "qdeveloper:StartAgentSession",
              "qdeveloper:ImportArtifact",
              "qdeveloper:ExportArtifact",
              "qdeveloper:TransformCode"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## ユーザーが Amazon Q でコンソールエラーをトラブルシューティングすることを許可する
<a name="id-based-policy-examples-allow-error-diagnosing"></a>

次のポリシー例では、Amazon Q でコンソールエラーをトラブルシューティングするためのアクセス許可を付与します。

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

****  

```
{
  "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 コマンドからコードを生成することをユーザーに許可する
<a name="id-based-policy-examples-allow-console-to-code"></a>

次のポリシー例では、記録された CLI コマンドから Amazon Q を使用してコードを生成するためのアクセス許可を付与します。これにより、Console-to-Code 機能を使用できます。

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

****  

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

------

## ユーザーに Amazon Q とのリソースに関するチャットを許可する
<a name="id-based-policy-examples-allow-resource-chat"></a>

次のポリシー例では、Amazon Q とのリソースに関するチャットを許可し、Amazon Q がユーザーに代わってリソース情報を取得することを許可します。Amazon Q には、IAM ID がアクセス許可を持つリソースへのアクセス許可のみが与えられます。

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

****  

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

------

## Amazon Q がチャットでユーザーに代わってアクションを実行することを許可する
<a name="id-based-policy-examples-allow-actions"></a>

次のポリシー例では、Amazon Q とチャットするアクセス許可を付与し、Amazon Q がユーザーに代わってアクションを実行することを許可します。Amazon Q には、IAM ID が実行するアクセス許可を持つアクションを実行するためのアクセス許可のみが与えられます。

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

****  

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

------

## Amazon Q がコストデータにアクセスし、コスト最適化に関する推奨事項を提供できるようにする
<a name="id-based-policy-examples-allow-cost-chat"></a>

次のポリシー例では、コストについて Amazon Q とチャットするアクセス許可を付与し、Amazon Q がコストデータにアクセスし、コスト分析と最適化の推奨事項を提供できるようにします。このポリシーには、AWS Cost Explorer、AWS Cost Optimization Hub、AWS Compute Optimizer、AWS Budgets、AWS 無料利用枠、AWS 料金表、Savings Plans のアクセス許可と予約の推奨事項が含まれています。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAmazonQChatAndPassRequest",
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation",
        "q:PassRequest"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowCostExplorerAccess",
      "Effect": "Allow",
      "Action": [
        "ce:GetCostAndUsage",
        "ce:GetCostAndUsageWithResources",
        "ce:GetCostForecast",
        "ce:GetUsageForecast",
        "ce:GetTags",
        "ce:GetCostCategories",
        "ce:GetDimensionValues",
        "ce:GetSavingsPlansUtilization",
        "ce:GetSavingsPlansCoverage",
        "ce:GetSavingsPlansUtilizationDetails",
        "ce:GetReservationUtilization",
        "ce:GetReservationCoverage",
        "ce:GetSavingsPlansPurchaseRecommendation",
        "ce:GetReservationPurchaseRecommendation",
        "ce:GetRightsizingRecommendation",
        "ce:GetAnomalies",
       "ce:GetCostAndUsageComparisons",
       "ce:GetCostComparisonDrivers"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowCostOptimizationHubAccess",
      "Effect": "Allow",
      "Action": [
        "cost-optimization-hub:GetRecommendation",
        "cost-optimization-hub:ListRecommendations",
        "cost-optimization-hub:ListRecommendationSummaries"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowComputeOptimizerAccess",
      "Effect": "Allow",
      "Action": [
        "compute-optimizer:GetAutoScalingGroupRecommendations",
        "compute-optimizer:GetEBSVolumeRecommendations",
        "compute-optimizer:GetEC2InstanceRecommendations",
        "compute-optimizer:GetECSServiceRecommendations",
        "compute-optimizer:GetRDSDatabaseRecommendations",
        "compute-optimizer:GetLambdaFunctionRecommendations",
        "compute-optimizer:GetIdleRecommendations",
        "compute-optimizer:GetLicenseRecommendations",
        "compute-optimizer:GetEffectiveRecommendationPreferences"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowBudgetsAccess",
      "Effect": "Allow",
      "Action": [
        "budgets:ViewBudget"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowFreeTierAccess",
      "Effect": "Allow",
      "Action": [
        "freetier:GetFreeTierUsage",
        "freetier:GetAccountPlanState",
        "freetier:ListAccountActivities",
       "freetier:GetAccountActivity"
      ],
      "Resource": "*"
   },
    {
      "Sid": "AllowPricingAccess",
      "Effect": "Allow",
      "Action": [
        "pricing:GetProducts",
        "pricing:GetAttributeValues",
        "pricing:DescribeServices"
      ],
      "Resource": "*"
   }
  ]
}
```

------

## Amazon Q がユーザーに代わって特定のアクションを実行するためのアクセス許可を拒否する
<a name="id-based-policy-examples-deny-some-actions"></a>

次のポリシー例では、Amazon Q とチャットするアクセス許可を付与し、Amazon EC2 アクションを除き、IAM ID が実行するアクセス許可を持つアクションをユーザーに代わって実行することを Amazon Q に許可します。このポリシーは、[`aws:CalledVia` グローバル条件キー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-calledvia)を使用して、Amazon Q が呼び出す場合にのみ Amazon EC2 アクションが拒否されるように指定します。

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

****  

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

------

## Amazon Q のアクセス許可でユーザーに代わって特定のアクションを実行することを許可する
<a name="id-based-policy-examples-allow-some-actions"></a>

次のポリシー例では、Amazon Q とチャットするアクセス許可を付与し、Amazon EC2 アクションを除き、IAM ID が実行するアクセス許可を持つアクションをユーザーに代わって実行することを Amazon Q に許可します。このポリシーは、Amazon EC2 アクションを実行するアクセス許可を IAM ID に付与しますが、Amazon Q は `ec2:describeInstances` アクションしか実行できません。このポリシーは、[`aws:CalledVia` グローバル条件キー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-calledvia)を使用して、Amazon Q には `ec2:describeInstances` を呼び出すことのみが許可され、他の Amazon EC2 アクションを呼び出すことは許可されないように指定します。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "q:StartConversation",
        "q:SendMessage",
        "q:GetConversation",
        "q:ListConversations",
        "q:UpdateConversation",
        "q:DeleteConversation",
        "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 に特定のリージョンでユーザーに代わってアクションを実行するアクセス許可を付与する
<a name="id-based-policy-examples-allow-actions-some-regions"></a>

次のポリシーの例では、Amazon Q とチャットするアクセス許可を付与し、ユーザーに代わってアクションを実行するときに Amazon Q が `us-east-1` リージョンと `us-west-2` リージョンに対してのみ呼び出しを行うことを許可します。Amazon Q は他のリージョンに呼び出しを行うことはできません。呼び出し先リージョンを指定する方法の詳細については、「*AWS Identity and Access Management ユーザーガイド*」の「[aws:RequestedRegion](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requestedregion)」を参照してください。

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

****  

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

------

## Amazon Q のアクセス許可でユーザーに代わってアクションを実行することを拒否する
<a name="id-based-policy-examples-deny-actions"></a>

次のポリシー例では、Amazon Q がユーザーに代わってアクションを実行できないようにします。

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

****  

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

------

## あるプロバイダーのプラグインとユーザーがチャットできるようにする
<a name="id-based-policy-examples-allow-plugin-type"></a>

次のポリシー例では、プラグインプロバイダーの名前とワイルドカード文字 (`*`) を使用してプラグイン ARN で指定された、管理者が設定した特定のプロバイダーのプラグインとチャットするアクセス許可を付与します。プラグインを削除して再設定した場合、これらのアクセス許可を持つユーザーは、新しく設定されたプラグインへのアクセスを保持します。このポリシーを使用するには、`Resource` フィールドの ARN で以下を置き換えます。
+ *AWS-region* – プラグインが作成された AWS リージョン 場所。
+ *AWS-account-ID* – プラグインが設定されているアカウントのアカウント AWS ID。
+ *plugin-provider* – `CloudZero`、`Datadog`、または `Wiz` など、アクセスを許可するプラグインプロバイダーの名前。プラグインプロバイダーフィールドでは、大文字と小文字が区別されます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAmazonQConversationAccess",
            "Effect": "Allow",
            "Action": [
                "q:StartConversation",
                "q:SendMessage",
                "q:GetConversation",
                "q:ListConversations",
                "q:UpdateConversation",
                "q:DeleteConversation"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowAmazonQPluginAccess",
            "Effect": "Allow",
            "Action": [
                "q:UsePlugin"
            ],
            "Resource": "arn:aws:qdeveloper:us-east-1:111122223333:plugin/plugin-provider/*"
        }
    ]
}
```

------

## ユーザーに特定のプラグインとのチャットを許可する
<a name="id-based-policy-examples-allow-plugin-arn"></a>

次のポリシー例では、プラグイン ARN で指定された特定のプラグインとチャットするアクセス許可を付与します。プラグインを削除して再設定した場合、このポリシーでプラグイン ARN が更新されない限り、ユーザーは新しいプラグインにアクセスできません。このポリシーを使用するには、`Resource` フィールドの ARN で以下を置き換えます。
+ *AWS-region* – プラグインが作成された AWS リージョン 場所。
+ *AWS-account-ID* – プラグインが設定されているアカウントのアカウント AWS ID。
+ *plugin-provider* – `CloudZero`、`Datadog`、または `Wiz` など、アクセスを許可するプラグインプロバイダーの名前。プラグインプロバイダーフィールドでは、大文字と小文字が区別されます。
+ *plugin-ARN* – アクセスを許可するプラグインの ARN。

## Amazon Q へのアクセスの拒否
<a name="id-based-policy-examples-deny"></a>

次のポリシー例では、コンソールで Amazon Q を使用するすべてのアクセス許可を拒否します。

**注記**  
Amazon Q へのアクセスを拒否しても、Amazon Q アイコンとチャットパネルは AWS コンソール、 AWS ウェブサイト、 AWS ドキュメントページ、または に表示されます AWS Console Mobile Application。

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

****  

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

------

## 自分のアクセス許可の表示をユーザーに許可する
<a name="id-based-policy-examples-view-own-permissions"></a>

この例では、ユーザーアイデンティティにアタッチされたインラインおよびマネージドポリシーの表示を 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": "*"
        }
    ]
}
```