Amazon Transcribe アイデンティティベースポリシーの例 - Amazon Transcribe

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

Amazon Transcribe アイデンティティベースポリシーの例

デフォルトでは、 ユーザーおよびロールには、Amazon Transcribe リソースを作成または変更するアクセス許可はありません。また、AWS Management Console、AWS Command Line Interface (AWS CLI)、または AWS API を使用してタスクを実行することもできません。IAM 管理者は、リソースで必要なアクションを実行するためのアクセス許可をユーザーに付与する IAM ポリシーを作成できます。その後、管理者はロールに IAM ポリシーを追加し、ユーザーはロールを引き継ぐことができます。

これらサンプルの JSON ポリシードキュメントを使用して、IAM アイデンティティベースのポリシーを作成する方法については、IAM ユーザーガイドの「IAM ポリシーの作成」を参照してください。

リソースタイプごとの ARN の形式を含む、Amazon Transcribe で定義されるアクションとリソースタイプの詳細については、「サービス認証リファレンス」の「Amazon Transcribe のアクション、リソース、および条件キー」を参照してください。

ポリシーのベストプラクティス

ID ベースのポリシーは、ユーザーのアカウントで誰かが Amazon Transcribe リソースを作成、アクセス、または削除できるどうかを決定します。これらのアクションを実行すると、AWS アカウント に追加料金が発生する可能性があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください。

  • AWS マネージドポリシーを使用して開始し、最小特権の許可に移行する – ユーザーとワークロードへの許可の付与を開始するには、多くの一般的なユースケースのために許可を付与する AWS マネージドポリシーを使用します。これらは AWS アカウント で使用できます。ユースケースに応じた AWS カスタマーマネージドポリシーを定義することで、許可をさらに減らすことをお勧めします。詳細については、「IAM ユーザーガイド」の「AWS マネージドポリシー」または「AWS ジョブ機能の管理ポリシー」を参照してください。

  • 最小特権を適用する – IAM ポリシーで許可を設定するときは、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、「IAM ユーザーガイド」の「IAM でのポリシーとアクセス許可」を参照してください。

  • IAM ポリシーで条件を使用してアクセスをさらに制限する – ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。例えば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定することができます。また、AWS のサービス などの特定の AWS CloudFormation を介して使用する場合、条件を使用してサービスアクションへのアクセスを許可することもできます。詳細については、[IAM User Guide] (IAM ユーザーガイド) の [IAM JSON policy elements: Condition] (IAM JSON ポリシー要素:条件) を参照してください。

  • IAM Access Analyzer を使用して IAM ポリシーを検証し、安全で機能的な許可を確保する - IAM Access Analyzer は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM Access Analyzer は 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーを作成できるようサポートします。詳細については、「IAM ユーザーガイド」の「IAM Access Analyzer ポリシーの検証」を参照してください。

  • 多要素認証 (MFA) を要求する – AWS アカウント で IAM ユーザーまたはルートユーザーを要求するシナリオがある場合は、セキュリティを強化するために MFA をオンにします。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、「IAM ユーザーガイド」の「MFA 保護 API アクセスの設定」を参照してください。

IAM でのベストプラクティスの詳細については、「IAM ユーザーガイド」の「IAM でのセキュリティのベストプラクティス」を参照してください。

AWS Management Consoleの使用

Amazon Transcribe コンソールにアクセスするには、許可の最小限のセットが必要です。これらのアクセス許可により、AWS アカウント の Amazon Transcribe リソースの詳細をリストおよび表示できます。最小限必要な許可よりも制限が厳しいアイデンティティベースのポリシーを作成すると、そのポリシーを持つエンティティ (ユーザーまたはロール) に対してコンソールが意図したとおりに機能しません。

AWS CLI または AWS API のみを呼び出すユーザーには、最小限のコンソール許可を付与する必要はありません。代わりに、実行しようとしている API オペレーションに一致するアクションのみへのアクセスが許可されます。

エンティティ (ユーザーとロール) が確実に使用できるようにするにはAWS Management Console、AWS以下の管理ポリシーのいずれかをエンティティ (ユーザーとロール) にアタッチします。

  • AmazonTranscribeFullAccess:Amazon Transcribe すべてのリソースの作成、更新、削除、および実行を行うためのフルアクセスを付与します。また、Amazon S3バケット名にが含まれるバケットへのアクセスも許可されます。transcribe

  • AmazonTranscribeReadOnlyAccess: 字起こしジョブとカスタム語彙が表示できるように、Amazon Transcribeリソースへの読み取り専用アクセスを許可します。

注記

にサインインしてポリシー名で検索すると、管理対象アクセス許可ポリシーが表示されます。IAMAWS Management Console「転記」を検索すると、上記の両方のポリシー (AmazonTranscribeReadOnlyAmazonTranscribeFullAccess) が返されます。

独自のカスタム IAM ポリシーを作成して、Amazon Transcribe API アクションにアクセス権限を付与することもできます。これらのカスタムポリシーは、それらのアクセス許可が必要なエンティティにアタッチできます。

IAMロールに必要なアクセス許可

IAM呼び出すロールを作成する場合Amazon Transcribe、Amazon S3そのロールにはバケットにアクセスする権限が必要です。該当する場合は、KMS keyを使用してバケットの内容を暗号化する必要もあります。ポリシーの例については、次のセクションを参照してください。

信頼ポリシー

IAM字起こしリクエストを行うために使用するエンティティには、Amazon Transcribeそのロールを引き受けることを可能にする信頼ポリシーが必要です。Amazon Transcribe以下の信頼ポリシーを使用してください。通話後分析を有効にしてリアルタイムの通話分析リクエストを行う場合は、「リアルタイム通話分析の信頼ポリシー」を使用する必要があることに注意してください。

の信頼ポリシーAmazon Transcribe

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "transcribe.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ], "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:transcribe:us-west-2:111122223333:*" } } } ] }

リアルタイム通話分析の信頼ポリシー

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "transcribe.streaming.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ], "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:transcribe:us-west-2:111122223333:*" } } } ] }

Amazon S3入力バケットポリシー

次のポリシーは、IAM指定された入力バケットからファイルにアクセスする権限をロールに与えます。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-INPUT-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-INPUT-BUCKET/*" ] } }

Amazon S3出力バケットポリシー

次のポリシーでは、IAM指定された出力バケットにファイルを書き込むためのロールに付与します。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-OUTPUT-BUCKET/*" ] } }

Amazon S3暗号化キーに必要な権限

KMS keyAmazon S3を使用してバケットを暗号化する場合は、KMS keyポリシーに以下を含めてください。これにより、Amazon Transcribe にバケットの内容へのアクセスが許可されます。へのアクセスを許可する方法の詳細についてはKMS keys、『AWS KMS開発者ガイド』KMS keyの「AWS アカウント外部からのアクセスの許可」を参照してください。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleRole" }, "Action": [ "kms:Decrypt" ], "Resource": "arn:aws:kms:us-west-2:111122223333:key/KMS-Example-KeyId" } ] }

ユーザーが自分の許可を表示できるようにする

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

AWS KMS暗号化コンテキストポリシー

次のポリシーでは、IAMロール「ExampleRole」AWS KMS KMS keyにこの特定の復号化操作と暗号化操作を使用する権限を付与します。このポリシーは、少なくとも 1 つの暗号化コンテキストペア(この場合は "color:indigoBlue」)を持つリクエストに対してのみ機能します。AWS KMS暗号化コンテキストの詳細については、を参照してくださいAWS KMS の暗号化コンテキスト

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleRole" }, "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:GenerateDataKey*", "kms:ReEncrypt*" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:color":"indigoBlue" } } } ] }

混乱した代理の防止

次に示すのは、役割を引き受けたポリシーの例です。このポリシーでは、aws:SourceArnaws:SourceAccountAmazon Transcribe代理人の案件が混乱するのを防ぐための使い方と使い方を示しています。混乱した副作用の防止の詳細については、を参照してくださいサービス間の混乱した代理の防止

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "transcribe.amazonaws.com" }, "Action": [ "sts:AssumeRole", ], "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "StringLike": { "aws:SourceArn": "arn:aws:transcribe:us-west-2:111122223333:*" } } } ] }

タグに基づく字起こしジョブの表示

アイデンティティベースのポリシーの条件を使用して、タグに基づいて Amazon Transcribe リソースへのアクセスをコントロールできます。この例では、字起こしジョブを表示できるポリシーを作成する方法を示します。ただし、Owner字起こしジョブタグにそのユーザーのユーザー名の値がある場合のみ、アクセス許可は付与されます。このポリシーでは、を使用してこのアクションを実行するために必要なアクセス許可も付与しますAWS Management Console。

IAMこのポリシーをアカウントのエンティティにアタッチできます。test-role指定されたロールが文字起こしジョブを表示しようとすると、Owner=test-roleその文字起こしジョブにタグを付ける必要がありますowner=test-role (条件キー名は大文字と小文字が区別されません)。そうしないと、アクセスが拒否されます。詳細については、IAMIAMユーザーガイドの「JSON ポリシー要素:条件」を参照してください

タグ付けの詳細についてはAmazon Transcribe、を参照してくださいリソースのタグ付け

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListTranscriptionJobsInConsole", "Effect": "Allow", "Action": "transcribe:ListTranscriptionJobs", "Resource": "*" }, { "Sid": "ViewTranscriptionJobsIfOwner", "Effect": "Allow", "Action": "transcribe:GetTranscriptionJobs", "Resource": "arn:aws:transcribe:*:*:transcription-job/*", "Condition": { "StringEquals": {"aws:ResourceTag/Owner": "${aws:username}"} } } ] }