AddLayerVersionPermission - AWS Lambda

AddLayerVersionPermission

AWS Lambda レイヤーのバージョンのリソースベースポリシーに許可を追加します。レイヤーの使用に関するアクセス許可を他のアカウントに付与するには、このアクションを使用します。アクセス許可は、組織内の 1 つのアカウント、すべてのアカウント、またはすべての AWS アカウントに付与することができます。

許可を取り消すには、追加時に指定したステートメント ID で RemoveLayerVersionPermission を呼び出します。

リクエストの構文

POST /2018-10-31/layers/LayerName/versions/VersionNumber/policy?RevisionId=RevisionId HTTP/1.1 Content-type: application/json { "Action": "string", "OrganizationId": "string", "Principal": "string", "StatementId": "string" }

URI リクエストパラメータ

リクエストでは、次の URI パラメータを使用します。

LayerName

レイヤーの名前または Amazon リソースネーム (ARN)。

長さの制限: 最小長は 1 です。最大長は 140 です。

Pattern: (arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\d{12}:layer:[a-zA-Z0-9-_]+)|[a-zA-Z0-9-_]+

必須: はい

RevisionId

リビジョン ID が指定した ID と一致する場合にのみ、ポリシーを更新します。このオプションを使用して、最終読み取りから変更されたポリシーを変更しないようにします。

VersionNumber

バージョン番号。

必須: はい

リクエストボディ

リクエストは以下の JSON 形式のデータを受け入れます。

Action

レイヤーへのアクセスを許可する API アクション。例えば、lambda:GetLayerVersion です。

型: 文字列

長さの制限: 最大長は 22 です。

Pattern: lambda:GetLayerVersion

必須: はい

OrganizationId

プリンシパルを * に設定して、指定された組織のすべてのアカウントにアクセス許可を付与します。

型: 文字列

長さの制限: 最大長は 34 です。

Pattern: o-[a-z0-9]{10,32}

必須: いいえ

Principal

組織内のすべてのアカウント、またはすべての AWS アカウント (organizationId が指定されていない場合) にレイヤーの使用のためのアクセス許可を付与するためのアカウント ID、または *。後者の場合、本当にすべての AWS アカウントにこのレイヤー使用のためのアクセス許可を付与するかどうかを確認してください。

型: 文字列

Pattern: \d{12}|\*|arn:(aws[a-zA-Z-]*):iam::\d{12}:root

必須: はい

StatementId

同じレイヤーバージョンの他のポリシーと区別する識別子。

型: 文字列

長さの制限: 最小長は 1 です。最大長は 100 です。

Pattern: ([a-zA-Z0-9-_]+)

必須:はい

レスポンスの構文

HTTP/1.1 201 Content-type: application/json { "RevisionId": "string", "Statement": "string" }

レスポンス要素

アクションが成功すると、HTTP 201 レスポンスが返されます。

サービスから以下のデータが JSON 形式で返されます。

RevisionId

ポリシーの現在のリビジョンにおける一意の識別子。

型: 文字列

Statement

アクセス許可ステートメント。

型: 文字列

エラー

すべてのアクションに共通のエラーについては、「共通エラー」を参照してください。

InvalidParameterValueException

リクエストに含まれているパラメータの 1 つが無効です。

HTTP ステータスコード:400

PolicyLengthExceededException

リソースのアクセス許可ポリシーが大きすぎます。詳細については、「Lambda クォータ」を参照してください。

HTTP ステータスコード:400

PreconditionFailedException

指定された RevisionId が、Lambda 関数またはエイリアスの最新 RevisionId と一致しません。GetFunction または GetAlias API 操作を呼び出して、リソースの最新の RevisionId を取得します。

HTTP ステータスコード: 412

ResourceConflictException

リソースが既に存在しているか、別のオペレーションが進行中です。

HTTP ステータスコード: 409

ResourceNotFoundException

リクエストで指定されたリソースは存在しません。

HTTP ステータスコード: 404

ServiceException

AWS Lambda サービスで内部エラーが発生しました。

HTTP ステータスコード: 500

TooManyRequestsException

リクエストスループット制限を超えました。詳細については、「Lambda クォータ」を参照してください。

HTTP ステータスコード: 429

以下の資料も参照してください。

言語固有の AWS SDK のいずれかでこの API を使用する方法の詳細については、以下を参照してください。