Amazon Transcribe ID ベースのポリシーの例 - Amazon Transcribe

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

Amazon Transcribe ID ベースのポリシーの例

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

これらのポリシードキュメント例を使用して IAM ID ベースのJSONポリシーを作成する方法については、IAM「 ユーザーガイド」のIAM「ポリシーの作成 (コンソール)」を参照してください。

ARNs 各リソースタイプの の形式など、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「 ユーザーガイド」のIAMJSON「ポリシー要素: 条件」を参照してください。

  • IAM Access Analyzer を使用してIAMポリシーを検証し、安全で機能的なアクセス許可を確保する – IAM Access Analyzer は、ポリシーがポリシー言語 (JSON) とIAMベストプラクティスに準拠するように、新規および既存のIAMポリシーを検証します。IAM Access Analyzer には、安全で機能的なポリシーの作成に役立つ 100 を超えるポリシーチェックと実用的なレコメンデーションが用意されています。詳細については、IAM「 ユーザーガイド」のIAM「Access Analyzer でポリシーを検証する」を参照してください。

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

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

の使用 AWS Management Console

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

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

エンティティ (ユーザーとロール) が を使用できるようにするにはAWS Management Console、次のいずれかの AWSマネージドポリシーをアタッチします。

  • AmazonTranscribeFullAccess: すべての Amazon Transcribe リソースを作成、読み取り、更新、削除、実行するためのフルアクセスを許可します。また、バケット名に transcribe を含む Amazon S3 バケットへのアクセスも許可します。

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

注記

管理ポリシーは、 IAM AWS Management Console にサインインしてポリシー名で検索することで確認できます。「文字起こし」を検索すると、上記の両方のポリシー (AmazonTranscribeReadOnly と ) が返されますAmazonTranscribeFullAccess

独自のカスタム 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 暗号化キーに必要なアクセス許可

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

{ "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ユーザーがユーザー ID にアタッチされているインラインポリシーとマネージドポリシーを表示できるようにするポリシーを作成する方法を示します。このポリシーには、コンソールで、または 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 暗号化コンテキストポリシー

次のポリシーは、この特定の の AWS KMS 復号および暗号化オペレーションを使用するアクセスExampleRole許可を IAM ロールに付与します 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" } } } ] }

混乱した代理の防止ポリシー

以下は、混乱した代理問題 Amazon Transcribe を防ぐために aws:SourceArn aws:SourceAccountと を使用する方法を示すロールの引き受けポリシーの例です。混乱した代理の防止に関する詳細については、「サービス間の混乱した代理の防止」を参照してください。

{ "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 というタグを付ける必要があります(条件キー名では大文字と小文字は区別されません)。そうしないと、アクセスが拒否されます。詳細については、IAM 「 ユーザーガイド」のIAM 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}"} } } ] }