AWS Service Catalog の Identity and Access Management - AWS Service Catalog

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

AWS Service Catalog の Identity and Access Management

AWS Service Catalog へのアクセスには、認証情報が必要です。これらの認証情報には、AWS Service Catalog ポートフォリオや製品など、AWS リソースにアクセスするための権限が必要です。AWS Service Catalog は、AWS Identity and Access Management (IAM) と統合して、製品の作成および管理のために必要なアクセス権限を AWS Service Catalog 管理者に付与できるようにします。また、製品を起動し、プロビジョニング済み製品を管理するために必要なアクセス権限をAWS Service Catalog エンドユーザーに付与します。これらのポリシーは、AWS によって作成、管理されるか、管理者やエンドユーザーによって個別に作成、管理されます。アクセスを制御するには、IAM ユーザー、グループ、および AWS Service Catalog で使用するロールに、これらのポリシーをアタッチします。

対象者

あなたが持っている権限 AWS Identity and Access Management(IAM) は、でのロールによって異なる場合がありますAWS Service Catalog。

あなたが持っている権限を通して AWS Identity and Access Management(IAM) は、でのロールによって異なる場合があります。AWS Service Catalog。

管理者 - AWS Service Catalog 管理者には、管理者コンソールへのフルアクセスと、ポートフォリオと製品の作成および管理、制約の管理、エンドユーザーへのアクセスの許可などのタスクを実行できる IAM 権限が必要です。

エンドユーザー - エンドユーザーが製品を使用できるようにするには、AWS Service Catalog エンドユーザーコンソールへのアクセス権を付与する必要があります。また、製品を起動し、プロビジョニング済み製品を管理する権限も付与できます。

IAM 管理者 - 管理者は、AWS Service Catalog へのアクセスを管理するポリシーの作成方法の詳細について確認する場合があります。IAM で使用できる AWS Service Catalog アイデンティティベースのポリシーの例を表示するには、AWS Service Catalog 用の AWS 管理ポリシー を参照してください。

AWS Service Catalog 用の AWS 管理ポリシー

ユーザー、グループ、およびロールにアクセス権限を追加する AWS 管理ポリシーを使用することをお勧めします。チームの適切な IAM カスタマー管理ポリシーを作成するには、時間と製品の専門知識への投資が必要です。AWS 管理ポリシーを使用するとすぐに始めることができます。これらのポリシーは、一般的なユースケースを対象範囲に含めており、AWS アカウントで利用できます。AWSマネージドポリシーの詳細については、「IAM ユーザーガイド」の「AWS マネージドポリシー」を参照してください。

AWS のサービスは、AWS マネージドポリシーを維持および更新します。AWS マネージドポリシーの許可を変更することはできません。サービスでは、新しい機能を利用できるようにするために、AWS マネージドポリシーに許可が追加されることがあります。このタイプの更新は、ポリシーがあるすべてのアイデンティティ (ユーザー、グループ、ロール) に影響します。新しい機能がリリースされた場合や、新しいオペレーションが使用可能になった場合に、AWS 管理ポリシーを更新する可能性が最も高くなります。サービスは、AWS マネージドポリシーから許可を削除しないため、ポリシーの更新によって既存の許可が破棄されることはありません。

さらに、AWS では、複数のサービスにまたがるジョブ機能のためのマネージドポリシーもサポートしています。たとえば、 ReadOnlyAccess AWS管理ポリシーは、すべてへの読み取り専用アクセスを提供します。AWSサービスとリソース。あるサービスで新しい機能を立ち上げる場合は、AWS は、追加された演算とリソースに対し、読み取り専用の許可を追加します。職務機能ポリシーのリストと説明については、「IAM ユーザーガイド」の「ジョブ機能の AWS マネージドポリシー」を参照してください。

AWS によって作成されたマネージドポリシーは、一般的ユースケースに必要なアクセス権限を付与します。IAM ユーザーとロールにこれらのポリシーをアタッチできます。詳細については、「IAM ユーザーガイド」の「AWS マネージドポリシー」を参照してください。

AWS Service Catalog に対する AWS 管理ポリシーを次に示します。

Administrators
  • AWSServiceCatalogAdminFullAccess— 管理者コンソールビューへのフルアクセス権を付与します。

  • AWSServiceCatalogAdminReadOnlyAccess— 管理者コンソールビューへのフルアクセス権を付与します。製品とポートフォリオを作成または管理するためのアクセス権は付与しません。

エンドユーザー
  • AWSServiceCatalogEndUserFullAccess— エンドユーザーコンソールビューへのフルアクセス権を付与します。製品を起動し、プロビジョニング済み製品を管理するアクセス権を付与します。

  • AWSServiceCatalogEndUserReadOnlyAccess— エンドユーザーコンソールビューへの読み取り専用アクセスを許可します。製品を起動し、プロビジョニング済み製品を管理するアクセス権は付与しません。

ポリシーを IAM ユーザーにアタッチするには、を参照してください。IAM ID のアクセス許可の追加および削除AWS Identity and Access Managementユーザーガイド

非推奨ポリシー

次の管理ポリシーは廃止されました。

  • ServiceCatalogAdminFullAccess— を使用しますAWSServiceCatalogAdminFullAccess代わりに。

  • ServiceCatalogAdminReadOnlyAccess— を使用しますAWSServiceCatalogAdminReadOnlyAccess代わりに。

  • ServiceCatalogEndUserFullAccess— を使用しますAWSServiceCatalogEndUserFullAccess代わりに。

  • ServiceCatalogEndUserAccess— を使用しますAWSServiceCatalogEndUserReadOnlyAccess代わりに。

次の手順を使用して、現在のポリシーを使用して管理者とエンドユーザーにアクセス権限を確実に付与します。

廃止されたポリシーから現在のポリシーに移行するには、を参照してください。IAM ID のアクセス許可の追加および削除AWS Identity and Access Managementユーザーガイド

AWS Service Catalog のアイデンティティベースのポリシーの例

エンドユーザーのコンソールアクセス

AWSServiceCatalogEndUserFullAccess および AWSServiceCatalogEndUserReadOnlyAccess ポリシーにより、AWS Service Catalog エンドユーザーコンソールビューへのアクセス権が付与されます。これらのいずれかのポリシーを持っているユーザーが AWS Management Console で [AWS Service Catalog] を選択すると、エンドユーザーコンソールビューに、起動権限を持っている製品が表示されます。

アクセス権限を付与した製品をエンドユーザーが AWS Service Catalog から正常に起動するには、追加の IAM アクセス権限をエンドユーザーに提供することにより、製品の AWS CloudFormation テンプレートの基盤となる各 AWS リソースの使用を許可する必要があります。例えば、製品テンプレートに Amazon Relational Database Service (Amazon RDS) が含まれる場合、製品を起動する Amazon RDS アクセス許可をユーザーに付与する必要があります。

AWS リソースへの最小アクセス権限を適用しながら、エンドユーザーが製品を起動できるようにする方法については、「AWS Service Catalog の使用の制約」を参照してください。

AWSServiceCatalogEndUserReadOnlyAccess ポリシーを適用すると、ユーザーはエンドユーザーコンソールにアクセスできますが、製品を起動し、プロビジョニング済み製品を管理するために必要なアクセス権限は与えられません。IAM を使用してエンドユーザーに直接これらのアクセス権限を付与することもできますが、AWS リソースに対するエンドユーザーのアクセス権限を制限する場合は、ポリシーを起動ロールにアタッチします。次に、AWS Service Catalog を使用して、製品の起動制約に起動ロールを適用します。起動ロールの適用、起動ロールの制限、サンプルの起動ロールの詳細については、「AWS Service Catalog の起動制約」を参照してください。

注記

AWS Service Catalog 管理者用の IAM アクセス許可をユーザーに付与した場合は、代わりに管理者コンソールビューが表示されます。エンドユーザーが管理者コンソールビューにアクセス可能にする場合を除き、これらのアクセス権限をエンドユーザーに付与しないでください。

エンドユーザー向け製品アクセス

エンドユーザーが、アクセス権限を付与する製品を使用できるようにするには、製品の AWS CloudFormation テンプレートで、基盤となる各 AWS リソースを使用できるようにする追加の IAM アクセス権限を提供する必要があります。例えば、製品テンプレートに Amazon Relational Database Service (Amazon RDS) が含まれる場合、製品を起動する Amazon RDS アクセス許可をユーザーに付与する必要があります。

ServiceCatalogEndUserAccess ポリシーを適用すると、ユーザーはエンドユーザーコンソールビューにアクセスできますが、製品を起動し、プロビジョニング済み製品を管理するために必要なアクセス権限は与えられません。IAM でエンドユーザーに直接これらのアクセス権限を付与できますが、エンドユーザーが AWS リソースに対して持つアクセス権限を制限する場合は、ポリシーを起動ロールにアタッチします。次に、AWS Service Catalog を使用して、製品の起動制約に起動ロールを適用します。起動ロールの適用、起動ロールの制限、サンプルの起動ロールの詳細については、「AWS Service Catalog の起動制約」を参照してください。

プロビジョニング済み製品を管理するためのポリシーの例

カスタムポリシーを作成して所属組織のセキュリティ要件を満たすことができます。以下では、ユーザーレベル、ロールレベル、アカウントレベルをサポートするアクションごとにアクセスレベルをカスタマイズする方法の例を示します。各自のロールまたは各自がログインしているアカウントで作成したプロビジョニング済み製品を表示、更新、終了、管理するためのアクセス権を付与できます。ユーザー自身が作成したもののみを操作することも、他のユーザーが作成したものも含めて操作することもできます。このアクセス権は階層状に順次適用されます。アカウントレベルのアクセスを付与すると、ロールレベルとユーザーレベルのアクセスも付与されます。ロールレベルのアクセスを付与すると、ユーザーレベルのアクセスも付与されますが、アカウントレベルのアクセスは付与されません。これらのアクセス権は、Condition ブロックを accountLevelroleLevel、または userLevel として使用して、ポリシー JSON で指定できます。

これらの例は、AWS Service Catalog API 書き込みオペレーション、 UpdateProvisionedProductTerminateProvisionedProduct、および読み取りオペレーション、 DescribeRecordScanProvisionedProductsListRecordHistory のアクセスレベルにも適用されます。ScanProvisionedProducts および ListRecordHistory API オペレーションは AccessLevelFilterKey という入力を使用し、このキーの値は上で説明した Condition ブロックレベルに対応します (accountLevel は「アカウント」の AccessLevelFilterKey 値、roleLevel は「ロール」、userLevel は「ユーザー」に相当します)。詳細については、「AWS Service Catalog デベロッパーガイド」を参照してください。

例: プロビジョニング済み製品に対する完全な管理アクセス

次のポリシーでは、アカウントレベルで、カタログ内のプロビジョニング済み製品およびレコードに対する読み取りと書き込みのフルアクセスを許可します。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "servicecatalog:*" ], "Resource":"*", "Condition": { "StringEquals": { "servicecatalog:accountLevel": "self" } } } ] }

このポリシーは、次のポリシーと機能的に同じものです。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "servicecatalog:*" ], "Resource":"*" } ] }

つまり、Condition のどのポリシーにも AWS Service Catalog ブロックを指定しないと、"servicecatalog:accountLevel" のアクセスを指定した場合と同じに扱われます。accountLevel のアクセスには、roleLeveluserLevel のアクセスが含まれることに注意してください。

例: プロビジョニング済み製品へのエンドユーザーアクセス

次のポリシーでは、読み取りと書き込みのオペレーションへのアクセスを、現在のユーザーが作成したプロビジョニング済み製品または関連するレコードにのみ制限します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "servicecatalog:DescribeProduct", "servicecatalog:DescribeProductView", "servicecatalog:DescribeProvisioningParameters", "servicecatalog:DescribeRecord", "servicecatalog:ListLaunchPaths", "servicecatalog:ListRecordHistory", "servicecatalog:ProvisionProduct", "servicecatalog:ScanProvisionedProducts", "servicecatalog:SearchProducts", "servicecatalog:TerminateProvisionedProduct", "servicecatalog:UpdateProvisionedProduct" ], "Resource": "*", "Condition": { "StringEquals": { "servicecatalog:userLevel": "self" } } } ] }

例: プロビジョニング済み製品に対する部分的な管理アクセス

次の 2 つのポリシーでは、両方が同じユーザーに適用された場合、読み取り専用のフルアクセスと書き込みの制限付きアクセスを提供することで、一種の「部分的な管理アクセス」を許可します。つまり、ユーザーはカタログのアカウント内にあるプロビジョニング済み製品または関連するレコードを表示することはできますが、そのユーザーが所有しないプロビジョニング済み製品やレコードに対しては一切の操作を実行できません。

最初のポリシーでは、ユーザーに許可されるアクセスは、現在のユーザーが作成したプロビジョニング済み製品に対する書き込みオペレーションのみとなり、他のユーザーが作成したプロビジョニング済み製品は対象外になります。2 番目のポリシーでは、すべて (ユーザー、ロール、またはアカウント) が作成したプロビジョニング済み製品に対する読み込みオペレーションへのフルアクセスを追加します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "servicecatalog:DescribeProduct", "servicecatalog:DescribeProductView", "servicecatalog:DescribeProvisioningParameters", "servicecatalog:ListLaunchPaths", "servicecatalog:ProvisionProduct", "servicecatalog:SearchProducts", "servicecatalog:TerminateProvisionedProduct", "servicecatalog:UpdateProvisionedProduct" ], "Resource": "*", "Condition": { "StringEquals": { "servicecatalog:userLevel": "self" } } } ] }
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "servicecatalog:DescribeRecord", "servicecatalog:ListRecordHistory", "servicecatalog:ScanProvisionedProducts" ], "Resource": "*", "Condition": { "StringEquals": { "servicecatalog:accountLevel": "self" } } } ] }

AWS Service Catalog Identity and Access のトラブルシューティング

次の情報は、AWS Service Catalog と AWS Identity and Access Management の使用に伴って発生する可能性がある一般的な問題の診断や修復に役立ちます。

AWS Service Catalog でアクションを実行する権限がない

AWS マネジメントコンソールから、アクションを実行する権限がないと通知された場合、管理者に問い合わせ、サポートを依頼する必要があります。ユーザー名とパスワードは、その管理者から提供されたものです。以下の例のエラーは、mateoJackson IAM ユーザーがコンソールを使用して my-example-widgetリソースだけど架空の畏敬の念はない:GetWidget アクセス許可。

User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: awes:GetWidget on resource: my-example-widget

この場合、Mateo は管理者に依頼し、アクセス権を付与するポリシーの更新を依頼します。 my-example-widget awesを使ったリソース:GetWidget アクション。

iam を実行する権限がないPassRole

IAM を実行する権限がないというエラーが表示された場合:PassRole アクションを実行するには、管理者に問い合わせてサポートを依頼してください。担当の管理者はお客様のユーザー名とパスワードを発行した人です。AWS Service Catalog にロールを渡すことができるようにポリシーを更新するよう、管理者に依頼します。

一部の AWS のサービスでは、新しいサービスロールまたはサービスにリンクされたロールを作成せずに、既存のロールをサービスに渡すことができます。そのためには、サービスにロールを渡す許可が必要です。

以下の例のエラーは、marymajor という IAM ユーザーがコンソールを使用して AWS Service Catalog でアクションを実行しようする場合に発生します。ただし、アクションには、サービスロールによってサービスに許可が付与されている必要があります。Mary には、ロールをサービスに渡す許可がありません。

User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole

この場合、メアリーは担当の管理者にIAM を実行できるようにポリシーの更新を依頼します。PassRole アクション。

アクセスキーを表示したい

IAM ユーザーアクセスキーを作成した後は、いつでもアクセスキー ID を表示できます。ただし、シークレットアクセスキーを再表示することはできません。シークレットアクセスキーを紛失した場合は、新しいキーペアを作成する必要があります。

アクセスキーは、アクセスキー ID (例えば、AKIOSFODNN7MDENG/bPxRfiCEXAMPLEKEY)。

ユーザー名とパスワードと同様に、リクエストを認証するために、アクセスキー ID とシークレットアクセスキーの両方を使用する必要があります。ユーザー名とパスワードと同様に、アクセスキーを安全に管理してください。

AWS 全般リファレンスガイド」の 正規ユーザー ID を確認するためであっても、アクセスキーをサードパーティーに提供しないでください。提供すると、第三者がアカウントへの永続的なアクセスを取得する場合があります。

アクセスキーペアを作成する場合、アクセスキー ID とシークレットアクセスキーを安全な場所に保存するように求めるプロンプトが表示されます。このシークレットアクセスキーは、作成時にのみ使用できます。シークレットアクセスキーを紛失した場合、IAM ユーザーに新しいアクセスキーを追加する必要があります。アクセスキーは最大 2 つまで持つことができます。既に 2 つある場合は、新しいキーペアを作成する前に、いずれかを削除する必要があります。手順を表示するには、「IAM ユーザーガイド」の「アクセスキーの管理」を参照してください。

管理者として AWS Service Catalog へのアクセスを他のユーザーに許可する

AWS Service Catalog へのアクセスを他のユーザーに許可するには、アクセスを必要とする人またはアプリケーションの IAM エンティティ (ユーザーまたはロール) を作成する必要があります。ユーザーは、このエンティティの認証情報を使用して AWS にアクセスします。次に、AWS Service Catalog の適切なアクセス許可を付与するポリシーを、そのエンティティにアタッチする必要があります

すぐにスタートするには、「IAM ユーザーガイド」の「IAM が委任した初期のユーザーおよびグループの作成」を参照してください。

AWS アカウント以外のユーザーに AWS Service Catalog リソースへのアクセスを許可したい

他のアカウントのユーザーや組織外のユーザーが、リソースにアクセスするために使用できるロールを作成できます。ロールの引き受けを委託するユーザーを指定することができます。リソースベースのポリシーまたはアクセス制御リスト (ACL) をサポートするサービスの場合、それらのポリシーを使用して、リソースへのアクセスを付与できます。

詳細については、以下を参照してください。

アクセスの制御

AWS Service Catalog ポートフォリオにより、エンドユーザーのグループに対するアクセスコントロールのレベルが管理者に与えられます。ユーザーをポートフォリオに追加すると、ユーザーは、ポートフォリオ内の任意の製品を閲覧および起動できるようになります。詳細については、「ポートフォリオの管理」を参照してください。

制約

制約により、特定のポートフォリオから製品を起動するときにエンドユーザーに適用されるルールが制御されます。制約を使用して、製品に制限を適用し、ガバナンスまたはコスト管理を実現します。制約の詳細については、「AWS Service Catalog の使用の制約」を参照してください。

AWS Service Catalog 起動制約により、エンドユーザーが必要とするアクセス権限をより詳細に制御できます。管理者がポートフォリオ内の製品の起動制約を作成すると、起動制約によって、エンドユーザーがそのポートフォリオから製品を起動するときに使用されるロール ARN が関連付けられます。このパターンを使用して、AWS リソース作成に対するアクセス権限を管理できます。詳細については、「AWS Service Catalog の起動制約」を参照してください。