Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
AddPermission
Accorde à une organisation Service AWS, Compte AWS ou AWS l’autorisation d’utiliser une fonction. Vous pouvez appliquer la politique au niveau de la fonction ou spécifier un qualificateur, afin de restreindre l’accès à un alias ou une version uniques. Si vous utilisez un qualificateur, le mécanisme d’invocation doit utiliser l’ARN (Amazon Resource Name) complet de cette version ou cet alias pour invoquer la fonction. Remarque : Lambda ne prend pas en charge l’ajout de stratégie à la version $LATEST.
Pour accorder une autorisation à un autre compte, spécifiez l’ID du compte comme paramètre Principal
. Pour accorder l’autorisation à une organisation définie dans AWS Organizations, spécifiez l’ID de l’organisation en tant que PrincipalOrgID
. Pour Services AWS, le principal est un identifiant de style domaine que le service définit, tel que s3.amazonaws.com
ou sns.amazonaws.com
. Pour les Services AWS, vous pouvez également spécifier l’ARN de la ressource associée en tant que SourceArn
. Si vous accordez une autorisation à un principal de service sans spécifier de la source, d’autres comptes pourraient éventuellement configurer des ressources dans leur compte pour invoquer votre fonction Lambda.
Cette opération ajoute une instruction à une politique d’autorisations basée sur une ressource pour la fonction. Pour plus d’informations sur les politiques de fonction, consultez Utilisation des politiques basées sur les ressources pour Lambda.
Syntaxe de la demande
POST /2015-03-31/functions/FunctionName
/policy?Qualifier=Qualifier
HTTP/1.1
Content-type: application/json
{
"Action": "string
",
"EventSourceToken": "string
",
"FunctionUrlAuthType": "string
",
"Principal": "string
",
"PrincipalOrgID": "string
",
"RevisionId": "string
",
"SourceAccount": "string
",
"SourceArn": "string
",
"StatementId": "string
"
}
Paramètres de demande URI
La demande utilise les paramètres URI suivants.
- FunctionName
-
Nom de l’alias, de la version ou de la fonction Lambda.
Formats de nom
-
Nom de la fonction –
my-function
(nom-uniquement),my-function:v1
(avec alias). -
ARN de fonction –
arn:aws:lambda:us-west-2:123456789012:function:my-function
. -
ARN partiel –
123456789012:function:my-function
.
Vous pouvez ajouter un numéro de version ou un alias à l’un des formats. Contrainte de longueur qui s’applique uniquement à l’ARN complet. Si vous spécifiez uniquement le nom de la fonction, ce dernier est limité à 64 caractères.
Contraintes de longueur : Longueur minimum de 1. Longueur maximum de 140.
Modèle :
(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?
Obligatoire : oui
-
- Qualifier
-
Spécifiez une version ou un alias pour ajouter des autorisations à une version publiée de la fonction.
Contraintes de longueur : Longueur minimum de 1. Longueur maximum de 128.
Modèle :
(|[a-zA-Z0-9$_-]+)
Corps de la demande
Cette demande accepte les données suivantes au format JSON.
- Action
-
Action que le principal peut utiliser sur la fonction. Par exemple,
lambda:InvokeFunction
oulambda:GetFunction
.Type : chaîne
Modèle :
(lambda:[*]|lambda:[a-zA-Z]+|[*])
Obligatoire : oui
- EventSourceToken
-
Pour les fonctions Alexa Smart Home, il s’agit d’un jeton à fournir par le mécanisme d’invocation.
Type : chaîne
Contraintes de longueur : Longueur minimum de 0. Longueur maximum de 256.
Modèle :
[a-zA-Z0-9._\-]+
Obligatoire : non
- FunctionUrlAuthType
-
Le type d’authentification que votre URL de fonction utilise. Définissez sa valeur sur
AWS_IAM
si vous voulez limiter l’accès aux utilisateurs authentifiés uniquement. Définissez la valeur surNONE
, si vous souhaitez contourner l’authentification IAM pour créer un point de terminaison public. Pour plus d’informations, consultez Modèle de sécurité et d’authentification pour les URL de fonctions Lambda.Type : chaîne
Valeurs valides :
NONE | AWS_IAM
Obligatoire : non
- Principal
-
Service AWS ou Compte AWS qui invoque la fonction. Si vous spécifiez un service, utilisez
SourceArn
ouSourceAccount
pour limiter les utilisateurs pouvant invoquer la fonction via ce service.Type : chaîne
Modèle :
[^\s]+
Obligatoire : oui
- PrincipalOrgID
-
L’identifiant de votre organisation dans AWS Organizations. Utilisez ceci pour accorder des autorisations à tous les comptes Comptes AWS de cette organisation.
Type : chaîne
Contraintes de longueur : longueur minimum de 12. Longueur maximum de 34.
Modèle :
^o-[a-z0-9]{10,32}$
Obligatoire : non
- RevisionId
-
Ne mettez à jour la stratégie que si l’ID de révision correspond à l’ID spécifié. Utilisez cette option pour éviter de modifier une stratégie qui a changé depuis la dernière lecture.
Type : chaîne
Obligatoire : non
- SourceAccount
-
Pour Service AWS, ID du compte Compte AWS propriétaire de la ressource. Utilisez-le avec
SourceArn
pour vous assurer que le compte spécifié est bien le propriétaire de la ressource. Il est possible qu’un compartiment Amazon S3 soit supprimé par son propriétaire et recréé par un autre compte.Type : chaîne
Contraintes de longueur : Longueur maximum de 12.
Modèle :
\d{12}
Obligatoire : non
- SourceArn
-
Pour les services Services AWS, ARN de la ressource AWS qui invoque la fonction. Par exemple, un compartiment Amazon S3 ou une rubrique Amazon SNS.
Notez que Lambda configure la comparaison à l’aide de l’opérateur
StringLike
.Type : chaîne
Modèle :
arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)
Obligatoire : non
- StatementId
-
Identifiant d’instruction qui différencie l’instruction des autres instructions dans la même stratégie.
Type : chaîne
Contraintes de longueur : Longueur minimum de 1. Longueur maximum de 100.
Modèle :
([a-zA-Z0-9-_]+)
Obligatoire : oui
Syntaxe de la réponse
HTTP/1.1 201
Content-type: application/json
{
"Statement": "string"
}
Eléments de réponse
Si l’action aboutit, le service renvoie une réponse HTTP 201.
Les données suivantes sont renvoyées au format JSON par le service.
- Statement
-
Instruction d’autorisation ajoutée à la stratégie de fonction.
Type : chaîne
Erreurs
Pour plus d'informations sur les erreurs courantes pour toutes les actions, consultez Erreurs courantes.
- InvalidParameterValueException
-
L’un des paramètres dans la demande n’est pas valide.
Code d’état HTTP : 400
- PolicyLengthExceededException
-
La stratégie d’autorisations pour la ressource est trop volumineuse. Pour plus d’informations, consultez Quotas Lambda.
Code d’état HTTP : 400
- PreconditionFailedException
-
La valeur RevisionId fournie ne correspond pas à la dernière version de RevisionId la fonction ou de l'alias Lambda. Appelez l'opération
GetFunction
ou l'GetAlias
API pour récupérer la dernière version RevisionId de votre ressource.Code d’état HTTP : 412
- ResourceConflictException
-
La ressource existe déjà ou une autre opération est en cours.
Code d’état HTTP : 409
- ResourceNotFoundException
-
La ressource spécifiée dans la demande n’existe pas.
Code d’état HTTP : 404
- ServiceException
-
Le service AWS Lambda a rencontré une erreur interne.
Code d’état HTTP : 500
- TooManyRequestsException
-
La limite de débit de demande a été dépassée. Pour plus d’informations, consultez Quotas Lambda.
Code d’état HTTP : 429
consultez aussi
Pour plus d’informations sur l’utilisation de cette API dans l’un des kits SDK AWS spécifiques au langage, consultez les ressources suivantes :